Junior — Middle
Can you explain what Preferences DataStore is and how it is used to store user settings?
sobes.tech AI
Answer from AI
Preferences DataStore is a modern way to store simple user setting data in Android, replacing SharedPreferences. It is based on Kotlin Coroutines and Flow, providing asynchronous and safe data access.
Main features:
- Stores key-value pairs (e.g., app settings)
- Asynchronous access without blocking
- Type safety through keys
Usage:
- Create an instance of Preferences DataStore, usually as a property in a class or object:
val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "settings")
- To write data, use
edit:
val EXAMPLE_KEY = preferencesKey<Boolean>("example_key")
context.dataStore.edit { settings ->
settings[EXAMPLE_KEY] = true
}
- To read data, use Flow:
val exampleFlow: Flow<Boolean> = context.dataStore.data
.map { preferences ->
preferences[EXAMPLE_KEY] ?: false
}
Thus, Preferences DataStore is a convenient and modern way to save and retrieve user settings in Android applications.