datastoreutils
datastoreutils is a Kotlin Multiplatform utility library designed to simplify interaction with Jetpack DataStore Preferences, offering convenient APIs for common preference operations and seamless integration with Jetpack Compose.
Table of Contents
About
datastoreutils aims to provide a robust and easy-to-use wrapper around Android's Jetpack DataStore Preferences. It abstracts away the complexities of DataStore, offering a clear IPreferencesRepository interface to manage individual preferences (IPreference) across different platforms. Additionally, it provides extensions specifically for Jetpack Compose, enabling reactive observation of preferences directly within your UI.
Features
Multiplatform Support
This library is designed for Kotlin Multiplatform projects and supports the following targets:
- Android (minSdk 23)
- iOS (x64, arm64, simulatorArm64)
- JVM
- macOS (x64, arm64)
Installation
Add the datastoreutils modules to your build.gradle.kts file.
include("uk.dominikdias.datastoreutils:core:latest")
include("uk.dominikdias.datastoreutils:compose:latest")
Usage
class MyRepository(dataStore: DataStore<Preferences>): PreferencesRepository(dataStore) {
val foo = createPreference(stringPreferencesKey("foo"), "default_value")
val bar = createPreference(booleanPreferencesKey("bar"), true)
}