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

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


当前回答

new File(context.getFilesDir(), fileName).delete();

我可以在共享首选项中删除文件

其他回答

即使没有根电话,也可以使用adb shell来完成此任务。唯一的问题是应用程序必须是可调试的。

run-as <your package name> <command>

例如:

run-as com.asdf.blah rm /data/data/com.asdf.blah/databases/myDB.db

或者,你可以只做上面的操作,但不使用命令,该命令将引导你到应用程序包的根目录,并允许你在应用程序的上下文中执行更多命令。

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

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

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

我的回答:

在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()

你总可以用程序来做就像这里其他答案所建议的那样。但是出于开发目的,我发现这个插件非常有用,因为它大大加快了我的开发速度。

插件:ADB Idea

它为您提供了功能,以清除应用程序数据和撤销权限从您的Android工作室本身,只需点击一个按钮。

这是我的Kotlin方法:

      public fun clearAllSharedPrefs() {
            val sharedPreferences: SharedPreferences = MainApplication.applicationContext()
                .getSharedPreferences("MY_CUSTOME_KEY", Context.MODE_PRIVATE)
            sharedPreferences.edit().clear()
            sharedPreferences.edit().apply()
        }