几分钟后,SharedPreferences正在消失。

时间:2012-05-24 12:34:26

标签: android sharedpreferences

我有一个奇怪的问题,我找不到解决方法。 几分钟后,我的SharedPreferences消失了,我创建了一个共享首选项编辑器,然后提交我所做的每一个更改。然后我使用以下方法获取SharedPreferences值:

settings = getSharedPreferences("settings", 0);

if(settings.contains("accesstoken")){

    // create a string that stores the accesstoken from our settings.
    String str_access = settings.getString("accesstoken", null);

    if(accesstoken_file_data != null){
        str_access = accesstoken_file_data;
    }

一段时间后,我存储的访问令牌以及存储在SharedPreferences中的所有其他数据似乎不存在......那就是我离开手机几分钟。我正在使用HTC One X进行开发。

我正在使用此方法添加值:

                            String accesstoken = "someVal";

                            SharedPreferences.Editor editor = settings.edit();

                            editor.putString("accesstoken", accesstoken);
                            editor.commit();

我还没有找到任何可行的解决方案......如果有人可以帮助或指导我,那将非常感谢......

1 个答案:

答案 0 :(得分:0)

如果应用程序崩溃或被强制停止,SharedPreferences有一种不幸的趋势来擦除数据 -

如果从设置中清除应用数据,则会删除所有保存方法(外部存储除外)

您可以尝试使用其他保存方法来存储数据。您有数据库(SQLite),内部和外部存储。最后两个是基于文件的。