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

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


当前回答

从任意类中集中清除所有SharedPreferences:

public static SharedPreferences.Editor getEditor(Context context) {
    return getPreferences(context).edit();
}

然后从任何类:(commit返回一个布尔值,你可以检查你的Preferences是否被清除)

Navigation.getEditor(this).clear().commit();

或者你可以用apply;返回为空

Navigation.getEditor(this).clear().apply();

其他回答

我的解决方案:

SharedPreferences preferences = getSharedPreferences("Mypref", 0);
preferences.edit().remove("text").commit();

我的回答:

在Java中:

SharedPreferences myPrefs = context.getSharedPreferences("My_Pref", Context.MODE_PRIVATE);
myPrefs.edit().remove("my_key").apply();

在芬兰湾的科特林:

val myPrefs = context.getSharedPreferences("My_Pref", Context.MODE_PRIVATE)
myPrefs.edit().remove("my_key").apply()

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

context.deleteSharedPreferences("YOUR_PREFS");

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

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

如果是为了你的测试。可以使用adb命令。

adb shell pm clear <package name>

你也可以用你的设备手动卸载你的应用。然后,当你重新安装应用程序时,共享首选项已被重置。