esperandro

Additional

Language
Java
Version
2.2.0 (Mar 29, 2015)
Created
May 24, 2013
Updated
Oct 8, 2022 (Retired)
Owner
David Kunzler (dkunzler)
Contributors
Edward Dale (scompt)
Daniel Neu (stonecs)
David Kunzler (dkunzler)
dependabot[bot]
4
Activity
Badge
Generate
Download
Source code

esperandro

Easy SharedPreference Engine foR ANDROid

What?

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 getMyPreference();
    void setMyPreference(String myPreference);
}
  • String myPreference = preferences.getMyPreference() // load preference
  • preferences.setMyPreference(myPreference) // store preference

Type safe, easy, less error-prone.

Interested? Get Started

Tell me more!

Please refer to the wiki for in-depth examples and all available features.

See the changelog for a brief overview of recent changes.

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>'