为什么我的SharedPreferences项不被重新安装时清除?(Why are my Share

2019-10-16 14:40发布

在重新安装我的if语句中我的应用程序代码被尽管尚未已经建立了我的SharedPreferences进入访问。 我使用的是日食的模拟器,它需要的数据被清除比重新安装一些其他的方式? 谢谢

prefs = getSharedPreferences("appData", 0);
        Gson gson = new Gson();
        String gsonStr = prefs.getString("playerString", null);

        if(gsonStr != null)
        {
            //This code is being accessed on the apps first onCreate() call prior to being reinstalled 
            Player[] tempArray = gson.fromJson(gsonStr, Player[].class);
            Log.d("First Player", "" + tempArray[0]);
        }

protected void onPause() 
{
    super.onPause();
    if(savedPlayers != null)
    {
        Gson gson = new Gson();
        String gsonStr = gson.toJson(savedPlayers.toArray());

        prefs = getSharedPreferences("appData", 0);
        SharedPreferences.Editor editor = prefs.edit();
        //editor().clear();
        Log.d("GSONString",gson.toString());
        editor.putString("playerString", gsonStr);
        editor.putInt("ArraySize", savedPlayers.size());
        editor.commit();
    }
}

Answer 1:

最有可能的应用程序只是简单地重新安装。 为了使数据被清除,应用程序实际上必须首先卸载。 重新安装不会真正清除数据。 仿真器实际上允许运行选项,当你运行模拟器,将清除所有用户数据,但我不相信你的每一个运行应用程序时运行。 你可以,如果你正在使用Eclipse的应用程序中设置的运行配置这个选项。

从仿真器内部做到这一点,去设置 - >应用程序 - >管理应用程序 - >您APP->清除数据



Answer 2:

共享偏好和SQLite数据库犯规得到上重新安装删除。 要删除它们,进入设置- > Appications - >管理应用程序- >点击您的应用程序- >点击“清除数据”模拟器。 这将清除存储的数据。



文章来源: Why are my SharedPreferences entries not being cleared upon reinstalling?