如何删除应用程序的SharedPreferences数据?

我正在创建一个使用大量web服务来同步数据的应用程序。出于测试目的,我需要在重新启动应用程序时删除一些SharedPreferences值。


当前回答

要从首选项中删除键-值对,可以轻松执行以下操作

getActivity().getSharedPreference().edit().remove("key").apply();

我还开发了一个库,用于方便地操作共享首选项。你可以找到下面的链接

https://github.com/farruhha/SimplePrefs

其他回答

你可以使用preferences.edit().remove("key").commit()从共享首选项中删除保存的值。

String prefTag = "someTag";
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(applicationContext);
prefs.edit().remove(prefTag).commit();

这将删除保存的名称为“someTag”的共享首选项。

似乎所有的解决方案都不是完全有效或死亡

清除活动中的所有SharedPreferences

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit().clear().apply();

从onCreate之后的Main Activity调用这个

注:我使用了.apply()而不是.commit(),你可以自由选择commit();

根据API 24(牛轧糖),你可以这样做:

context.deleteSharedPreferences("YOUR_PREFS");

然而,没有向后兼容性,所以如果你支持小于24的版本,请坚持使用:

context.getSharedPreferences("YOUR_PREFS", Context.MODE_PRIVATE).edit().clear().apply(); 

Kotlin ktx清除所有首选项的方法:

val prefs: SharedPreferences = getSharedPreferences("prefsName", Context.MODE_PRIVATE)
prefs.edit(commit = true) {
    clear()
}

点击这里查看所有共享首选项操作示例