繁体   English   中英

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

[英]How to clear jetpack datastore data on specific condition

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

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

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

用这个

dataStore.edit { 
        it.clear()
    }

方法描述状态

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

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

context.dataStore.edit {
    it.remove(key)
}

试试这个(对于 Proto DataStore):

 dataStore.updateData { obj ->
    obj.toBuilder()
        .clear()
        .build()
 }

对于 Proto DataStore,您可以执行以下操作:

dataStore.updateData { it.getDefaultInstance() }

它不会删除文件,但实际上是相同的。

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

dataStore.edit {
        if (it.contains(key)) {
            it.remove(key)
        }
    } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM