Junior — Middle
Ar galite paaiškinti, kaip įgyvendintas duomenų saugojimas ir valdymas DataStore?
sobes.tech AI
Atsakymas iš AI
„Android“ DataStore yra šiuolaikinis būdas saugoti duomenis, kuris pakeičia „SharedPreferences“. Jis pagrįstas Kotlin Coroutines ir Flow, užtikrinančiu asinchroninį ir reaktyvų duomenų valdymą.
Duomenų saugojimas vyksta per du pagrindinius DataStore tipus:
- Preferences DataStore — saugo raktas-reikšmės poras, panašiai kaip „SharedPreferences“, bet su palaikymu srautams ir be užraktų.
- Proto DataStore — saugo duomenis serializuotų protobuf objektų pavidalu, leidžiant dirbti su griežtai tipizuotomis struktūromis.
Duomenys saugomi disko faile, o prieiga prie jų vyksta per Flow, leidžiant prenumeruoti pakeitimus ir gauti naujinimus realiu laiku.
Pavyzdys, kaip naudoti Preferences DataStore:
val Context.dataStore by preferencesDataStore(name = "settings")
val EXAMPLE_KEY = stringPreferencesKey("example_key")
// Duomenų įrašymas
suspend fun saveExample(value: String) {
context.dataStore.edit { preferences ->
preferences[EXAMPLE_KEY] = value
}
}
// Duomenų skaitymas
val exampleFlow: Flow<String?> = context.dataStore.data
.map { preferences ->
preferences[EXAMPLE_KEY]
}
Šiuo būdu DataStore užtikrina saugų, asinchroninį ir reaktyvų duomenų saugojimą su patogiu API.