从共享首选项恢复字符串

时间:2012-12-03 12:52:21

标签: android string sharedpreferences

我目前正在尝试从共享首选项中存储和恢复字符串,但似乎出现了问题。

我想持久存储一个cookie,所以我尝试将它的值存储在共享首选项中。不幸的是,当我尝试检索它时无法找到它。

继承我的代码:

public void storeString(Activity ctx, String key, String value){
    SharedPreferences prefs = ctx.getSharedPreferences("com.test", Context.MODE_PRIVATE);
    prefs.edit().putString("CAKEPHP", value);
    prefs.edit().commit();

    SharedPreferences newprefs = ctx.getSharedPreferences("com.test", Context.MODE_PRIVATE);
    Log.i("test", "cookie retrieved: "+ newprefs.getString("CAKEPHP", "nodata"));
}

日志输出是“cookie检索:nodata”。有人可以告诉我如何做到这一点吗?

此方法是普通java类的一部分可能很重要。调用时,调用活动将作为参数传递。

感谢任何帮助或提示!

1 个答案:

答案 0 :(得分:1)

为sharedpref创建一个静态变量并将其初始化为

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);

您无需重复初始化共享偏好。理想情况下,您应该在onCreate中初始化它并在整个活动中使用它。

此外,您需要致电

prefs.edit().putString("CAKEPHP", value).commit();