如何在特定条件下清除喷气背包数据存储区数据

Pif*_*Pif 7 android kotlin android-jetpack android-jetpack-datastore

我一直在使用喷气背包数据存储一段时间,但后来我遇到了问题。我想在应用程序被销毁时清除数据存储中的数据。我使用喷气背包数据存储仅以表格形式保存数据

我搜索过 sharedPreferences 有一个 clear() 函数,Jetpack Datastore 是否有类似的函数?我该如何使用它?

我在数据存储文档中找到了明确的功能, 但没有说明如何使用它

Man*_*ddy 11

用这个

dataStore.edit { 
        it.clear()
    }
Run Code Online (Sandbox Code Playgroud)

方法描述状态

从此 MutablePreferences 中删除所有首选项。

  • 对于原始数据存储 -> `datastore.updateData { it.toBuilder().clear().build() }` (4认同)
  • 如何删除特定偏好键? (2认同)

Wir*_*ing 7

如果有人想知道如何删除特定偏好

context.dataStore.edit {
    it.remove(key)
}
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您想删除特定键,请尝试此操作

dataStore.edit {
        if (it.contains(key)) {
            it.remove(key)
        }
    } 
Run Code Online (Sandbox Code Playgroud)


小智 5

试试这个(对于 Proto DataStore):

 dataStore.updateData { obj ->
    obj.toBuilder()
        .clear()
        .build()
 }
Run Code Online (Sandbox Code Playgroud)