我一直在使用共享首选项,但最近在新应用程序中缓存突然返回null,
这是读/写的方法
public static void saveToSharedPreferences(Context mContext, String key, String value) {
if (mContext != null) {
SharedPreferences mSharedPreferences = mContext.getSharedPreferences(Constants.SHARED_PREFERENCES_NAME, 0);
if (mSharedPreferences != null)
mSharedPreferences.edit().putString(key, value).commit();
}
}
public static String readFromSharedPreferences(Context mContext, String key) {
if (mContext != null) {
SharedPreferences mSharedPreferences = mContext.getSharedPreferences(Constants.SHARED_PREFERENCES_NAME, 0);
if (mSharedPreferences != null)
return mSharedPreferences.getString(key, null);
}
return null;
}
然后在代码中
Utils.saveToSharedPreferences(getActivity(), mKey, mDATA);
使用时在同一会话中
String mDATA = Utils.readFromSharedPreferences(getActivity(), mKey);
它确实返回了值,但是稍后在退出应用程序并再次启动它时,它返回null,一切似乎都很好
任何帮助将不胜感激
答案 0 :(得分:1)
您确定您使用的上下文不是NULL吗? 试试这个:
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putString(key, value);
editor.commit();