如何在特定条件下清除 Jetpack 数据存储数据
How to clear jetpack datastore data on specific condition
我使用 Jetpack 数据存储有一段时间了,但后来遇到了问题。
我想在应用程序被销毁时清除数据存储中的数据。
我使用 Jetpack 数据存储仅以表单
形式保存数据
我搜索过 sharedPreferences 有一个 clear() 函数,Jetpack Datastore 有类似的函数吗?我该如何使用它?
我在
datastore documentation但是没有说明如何使用
使用这个
dataStore.edit {
it.clear()
}
方法描述状态
Removes all preferences from this MutablePreferences.
对于 Proto DataStore,您可以这样做:
dataStore.updateData { it.getDefaultInstance() }
它不会删除文件,但实际上是一样的。
试试这个(对于 Proto DataStore):
dataStore.updateData { obj ->
obj.toBuilder()
.clear()
.build()
}
如果你想删除一个特定的密钥,那么试试这个
dataStore.edit {
if (it.contains(key)) {
it.remove(key)
}
}
万一有人想知道如何删除特定偏好
context.dataStore.edit {
it.remove(key)
}
我使用 Jetpack 数据存储有一段时间了,但后来遇到了问题。 我想在应用程序被销毁时清除数据存储中的数据。 我使用 Jetpack 数据存储仅以表单
形式保存数据我搜索过 sharedPreferences 有一个 clear() 函数,Jetpack Datastore 有类似的函数吗?我该如何使用它?
我在 datastore documentation但是没有说明如何使用
使用这个
dataStore.edit {
it.clear()
}
方法描述状态
Removes all preferences from this MutablePreferences.
对于 Proto DataStore,您可以这样做:
dataStore.updateData { it.getDefaultInstance() }
它不会删除文件,但实际上是一样的。
试试这个(对于 Proto DataStore):
dataStore.updateData { obj ->
obj.toBuilder()
.clear()
.build()
}
如果你想删除一个特定的密钥,那么试试这个
dataStore.edit {
if (it.contains(key)) {
it.remove(key)
}
}
万一有人想知道如何删除特定偏好
context.dataStore.edit {
it.remove(key)
}