Sobes.tech
Назад к вопросам
Junior — Middle
76

Каким образом реализовать хранение постоянных пар ключ-значение в DataStore?

Ответ от нейросети

sobes.tech AI

В Android для хранения постоянных пар ключ-значение рекомендуется использовать DataStore — современную альтернативу SharedPreferences.

Для хранения постоянных данных можно использовать Proto DataStore или Preferences DataStore. Для простых ключ-значение подойдет Preferences DataStore.

Пример использования Preferences DataStore:

val Context.dataStore by preferencesDataStore(name = "settings")

// Ключ для хранения значения
val EXAMPLE_KEY = stringPreferencesKey("example_key")

// Запись значения
suspend fun saveExampleValue(context: Context, value: String) {
    context.dataStore.edit { preferences ->
        preferences[EXAMPLE_KEY] = value
    }
}

// Чтение значения
val exampleFlow: Flow<String?> = context.dataStore.data
    .map { preferences ->
        preferences[EXAMPLE_KEY] ?: "default"
    }

Таким образом, DataStore обеспечивает асинхронное, потокобезопасное и устойчивое хранение пар ключ-значение.