我需要使用BroadcastReceiver
生成通知,并需要在BroadcastReceiver
类中保存一些数据。
所以,我使用了SharedPreference
。但是无法将数据保存在SharedPreference`中。
SharedPreferences pref_date;
public static final String MyPREFERENCES = "MyPrefs";
pref_date = context.getSharedPreferences(MyPREFERENCES,context.MODE_PRIVATE);
_ed = pref_date.edit();
String t="hello";
_ed.putString(_date,t);
_ed.putString(flag,"0");
_ed.commit();
答案 0 :(得分:0)
很难说无需查看源代码,但很可能您忘记调用Editor
的{{1}}或apply()
方法,如下所示:< / p>
commit()
答案 1 :(得分:0)
是的,SharepPreference只是一种具有存储和检索键值对的文件。您可以从应用程序中的任何位置访问它。甚至来自您的应用程序创建的服务。
答案 2 :(得分:0)
根据documentation,您应该如何写入您的SharedPreferences:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("yourKey", "stringToSave");
editor.commit();
这就是你的阅读方式:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
String defaultValue = "defaultValue";
String yourSavedString = sharedPref.getString("yourKey", defaultValue);
这是一个工作的复制/粘贴示例。请记住,"yourKey"
用于标识您的值,因为SharedPreferences是键/值对,因此它们必须在您读取和写入时匹配。