Junior — Middle
DataStore-da məlumatların saxlanması və idarə olunması necə həyata keçirilir, izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Android-da DataStore — bu müasir məlumatların saxlanma üsuludur və SharedPreferences-in yerini tutur. Bu, Kotlin Coroutines və Flow əsasında qurulmuşdur və məlumatların asinxron və reaktiv idarə olunmasını təmin edir.
Məlumatların saxlanması iki əsas DataStore növü vasitəsilə həyata keçirilir:
- Preferences DataStore — açar-dəyər cütlüklərini saxlayır, SharedPreferences-ə bənzəyir, lakin axınları dəstəkləyir və bloklamadan işləyir.
- Proto DataStore — məlumatları serializə olunmuş protobuf obyektləri şəklində saxlayır, bu da sərt tipli strukturlarla işləməyə imkan verir.
Məlumatlar diskdəki faylda saxlanılır və onlara giriş Flow vasitəsilə həyata keçirilir, bu da dəyişikliklərə abunə olmağa və real vaxtda yeniləmələr almağa imkan verir.
Preferences DataStore istifadə nümunəsi:
val Context.dataStore by preferencesDataStore(name = "settings")
val EXAMPLE_KEY = stringPreferencesKey("example_key")
// Məlumatların yazılması
suspend fun saveExample(value: String) {
context.dataStore.edit { preferences ->
preferences[EXAMPLE_KEY] = value
}
}
// Məlumatların oxunması
val exampleFlow: Flow<String?> = context.dataStore.data
.map { preferences ->
preferences[EXAMPLE_KEY]
}
Bu şəkildə, DataStore təhlükəsiz, asinxron və reaktiv məlumat saxlama təmin edir və istifadəçi dostu API ilə təmin olunur.