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

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


当前回答

一行删除Android共享首选项:-)

context.getSharedPreferences("YOUR_PREFS", 0).edit().clear().commit();

或申请非阻塞异步操作:

this.getSharedPreferences("YOUR_PREFS", 0).edit().clear().apply();

其他回答

要删除一个特定的值,

SharedPreferences。编辑器删除(字符串键)后跟commit()或apply()

要删除所有值, SharedPreferences。编辑器clear()后面跟着commit()或apply()

今早刚做过。从命令提示符:

adb shell
cd /data/data/YOUR_PACKAGE_NAME/shared_prefs
rm * // to remove all shared preference files
rm YOUR_PREFS_NAME.xml // to remove a specific shared preference file

注意:这需要一个根设备,如库存Android虚拟设备,Genymotion设备,或一个实际根手机/平板电脑等。

如果不需要每次都删除它,您可以手动从:

>应用程序->管理应用程序->(选择您的应用程序) ->清除数据或卸载

更新版本的Android:

设置—>应用程序—>(选择应用程序)—>存储—>清理数据 和清空缓存

从任意类中集中清除所有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();
String prefTag = "someTag";
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(applicationContext);
prefs.edit().remove(prefTag).commit();

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