Alps is a minimal Android library for reading and writing to your app's shared preferences.
Add JitPack to the list of repositories:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Add Alps as a dependency in the app build file:
dependencies {
compile "com.github.calintat.alps:alps-core:2.0.2"
}
The easiest way to access your app's preferences is with the get
and put
methods:
String preference = getString("key", "default_value");
preference = "updated_value"; putString("key", preference);
In Kotlin, you can instead use property delegates, for example:
var preference by stringPref("key", "default_value")
preference = "updated_value" // will also update the preference value
Usually your settings activity will contain a PreferenceFragment
inside a container.
With Alps, you can easily add a PreferenceFragment
generated from an XML preference file:
public class SettingsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
...
populateWithPreferences(R.id.container, R.xml.preferences);
}
}
In Kotlin, you can also use a DSL to define your preferences and add them to your settings activity:
dependencies {
compile "com.github.calintat.alps:alps-dsl:2.0.2"
}
class SettingsActivity : Activity() {
override onCreate(savedInstanceState: Bundle?) {
...
populateWithPreferences(R.id.container) {
preferenceCategory {
title = "Alps"
switchPreference(key = "pref_alps_dsl") {
defaultValue = true
title = "Use the Alps DSL"
summary = "Kotlin domain-specific language for defining preferences"
}
}
}
}
}