我目前正在尝试从共享首选项中存储和恢复字符串,但似乎出现了问题。
我想持久存储一个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类的一部分可能很重要。调用时,调用活动将作为参数传递。
感谢任何帮助或提示!
答案 0 :(得分:1)
为sharedpref创建一个静态变量并将其初始化为
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
您无需重复初始化共享偏好。理想情况下,您应该在onCreate中初始化它并在整个活动中使用它。
此外,您需要致电
prefs.edit().putString("CAKEPHP", value).commit();