Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/calintat/alps
Android preferences made easy
https://github.com/calintat/alps
Last synced: 20 days ago
JSON representation
Android preferences made easy
- Host: GitHub
- URL: https://github.com/calintat/alps
- Owner: calintat
- License: mit
- Archived: true
- Created: 2017-03-14T23:04:38.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-08-01T19:21:34.000Z (over 7 years ago)
- Last Synced: 2024-12-06T21:52:25.597Z (about 1 month ago)
- Language: Kotlin
- Homepage:
- Size: 104 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- trackawesomelist - calintat/alps (⭐4) - Android library for preferences which includes property delegates and a custom DSL for definining preferences. (Recently Updated / [Oct 28, 2024](/content/2024/10/28/README.md))
README
# Alps
[![](https://jitpack.io/v/calintat/alps.svg)](https://jitpack.io/#calintat/alps)
Alps is a minimal Android library for reading and writing to your app's shared preferences.
## Installation
Add JitPack to the list of repositories:
```gradle
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
```Add Alps as a dependency in the app build file:
```gradle
dependencies {
compile "com.github.calintat.alps:alps-core:2.0.2"
}
```## Features
### Get & put methods
The easiest way to access your app's preferences is with the `get` and `put` methods:
```java
String preference = getString("key", "default_value");
preference = "updated_value"; putString("key", preference);
```### Property delegates
In Kotlin, you can instead use property delegates, for example:
```kotlin
var preference by stringPref("key", "default_value")
preference = "updated_value" // will also update the preference value
```### Populate with preferences
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:
```java
public class SettingsActivity extends Activity {@Override
protected void onCreate(Bundle savedInstanceState) {
...
populateWithPreferences(R.id.container, R.xml.preferences);
}
}
```### Define preferences with the Alps DSL
In Kotlin, you can also use a DSL to define your preferences and add them to your settings activity:
```gradle
dependencies {
compile "com.github.calintat.alps:alps-dsl:2.0.2"
}
``````kotlin
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"
}
}
}
}
}
```