DataStore содержит ненулевое значение при первом запускеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 DataStore содержит ненулевое значение при первом запуске

Сообщение Anonymous »

Я пытаюсь использовать DataStore для загрузки/сохранения настроек приложения.
После некоторых экспериментов и установки/удаления приложения при первом запуске настройки [PreferencesKeys.LANGUAGE] содержат значение («EN»), хотя оно должно быть содержат значение null.
Если я меняю идентификатор приложения, настройки [PreferencesKeys.LANGUAGE] содержат значение null, как и должно быть.
Это как если бы где-то был кеш, но он очищается при удалении приложения.
Дополнительная функция Android Studio Koala | 2024.1.2 Патч 1.

Android 13 TKQ1.221114.001.

Версия datastorePreferences = "1.1.1"

Код: Выделить всё

enum class LanguageEnum(val title: String) {
EN("English"),
RU("Русский")
}
//...
object PreferencesKeys {
val LANGUAGE = stringPreferencesKey("language")
}
//...
val language: MutableState = mutableStateOf(LanguageEnum.RU)
//...
CoroutineScope(Dispatchers.IO).launch {
val languageFlow = context.dataStore.data
.map { preferences -> preferences[PreferencesKeys.LANGUAGE] ?: LanguageEnum.RU.name }
language.value = LanguageEnum.valueOf(languageFlow.first())
}
"Очистить проект", "Перестроить проект" и "Недействить кеши" не помогают. Кто-нибудь встречал нечто подобное и чем можно объяснить такое поведение?

Подробнее здесь: https://stackoverflow.com/questions/790 ... rst-launch
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»