esperandro

Additional

Language
Java
Version
2.2.0 (Mar 29, 2015)
Created
May 25, 2013
Updated
Nov 19, 2019
Owner
David Kunzler (dkunzler)
Contributors
scompt
iamstuffed
stonecs
David Kunzler (dkunzler)
dependabot[bot]
5
Activity
Badge
Generate
Download
Source code

Show card

esperandro

Easy SharedPreference Engine foR ANDROid

Please refer to the wiki for in-depth examples.

See the changelog for a brief overview of recent changes.

Short example

esperandro makes it simple to use SharedPreferences in a nicer and less error-prone way.

Without esperandro a key is referenced by a string:

  • String myPreference = preferences.getString("myPreference", "default value") // load preference
  • preferences.edit().putString("myPreference", myPreference).commit() // store preference

With esperandro you adhere to an interface that you defined:

@SharedPreferences
interface MyPreferences {
    String myPreference();
    void myPreference(String myPreference);
}
  • String myPreference = preferences.myPreference() // load preference
  • preferences.myPreference(myPreference) // store preference

Type safe, easy, less error-prone.

Interested? Get Started

Gradle artifacts

// essential dependencies
implementation 'de.devland.esperandro:esperandro-api:<insert version>'
annotationProcessor 'de.devland.esperandro:esperandro-preference-gen:<insert version>'

// optional, if object serialization is needed via gson
implementation 'de.devland.esperandro:esperandro-gson-addon:<insert version>'

// optional, if object serialization is needed via jackson
implementation 'de.devland.esperandro:esperandro-jackson-addon:<insert version>'

// additional processor to generate a file with all keys as string constants
annotationProcessor 'de.devland.esperandro:esperandro-keys-gen:<insert version>'

// additional processor to generate a file with all keys as string resources
annotationProcessor 'de.devland.esperandro:esperandro-resources-gen:<insert version>'