我正在构建一个应用程序,需要在其中将一段数据(布尔值(保存到DataStore。但我只需要保存一次(当应用程序第一次运行时(。如何第一次启动应用程序,检查布尔值是否已保存,如果未保存,请保存数据并防止下次打开应用程序时再次保存?
在DataStore中,您可以拥有这样的东西:
val yourBooleanKey = booleanPreferencesKey("yourBooleanKey")
suspend fun getYourBoolean(): Boolean? {
dataStore.data.map {
it[yourBooleanKey]
}.firstOrNull()
}
suspend fun setYourBoolean(value: Boolean) {
dataStore.edit {
it[yourBooleanKey] = value
}
}
然后只需检查您的布尔值是否为空:
if (dataStore.getYourBoolean() == null) {
dataStore.setYourBoolean(yourBooleanValue)
}