Junior — Middle
Puteți explica cum este implementată stocarea și gestionarea datelor în DataStore?
sobes.tech AI
Răspuns de la AI
DataStore în Android este o metodă modernă de stocare a datelor care înlocuiește SharedPreferences. Este bazată pe Kotlin Coroutines și Flow, asigurând o gestionare asincronă și reactivă a datelor.
Stocarea datelor se realizează prin două tipuri principale de DataStore:
- Preferences DataStore — stochează perechi cheie-valoare, similar cu SharedPreferences, dar cu suport pentru fluxuri și fără blocări.
- Proto DataStore — stochează date sub formă de obiecte protobuf serializate, permițând lucrul cu structuri strict tipizate.
Datele sunt salvate într-un fișier pe disc, iar accesul la ele se face prin Flow, ceea ce permite abonarea la modificări și primirea actualizărilor în timp real.
Exemplu de utilizare a Preferences DataStore:
val Context.dataStore by preferencesDataStore(name = "settings")
val EXAMPLE_KEY = stringPreferencesKey("example_key")
// Scrierea datelor
suspend fun saveExample(value: String) {
context.dataStore.edit { preferences ->
preferences[EXAMPLE_KEY] = value
}
}
// Citirea datelor
val exampleFlow: Flow<String?> = context.dataStore.data
.map { preferences ->
preferences[EXAMPLE_KEY]
}
Astfel, DataStore asigură o stocare sigură, asincronă și reactivă a datelor, cu o API convenabilă.