Android SharedPreferences会被清除吗?

时间:2014-04-10 16:13:47

标签: android sharedpreferences

我一直在使用共享首选项,但最近在新应用程序中缓存突然返回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,一切似乎都很好

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

您确定您使用的上下文不是NULL吗? 试试这个:

SharedPreferences.Editor editor = mSharedPreferences.edit(); 
editor.putString(key, value); 
editor.commit();