默认SharedPreferences不保存值

时间:2013-11-22 14:10:19

标签: android save sharedpreferences default

我有这堂课:

public class SharedPreferenceUtil {

private SharedPreferences prefs;

private static final String PRODUCTION_MODE_URL_GET_CHECKLIST_JSON = "www.exemplo.com/json";

//configuration keys
private static final String KEY_URL_GET_CHECKLIST_JSON = "KEY_URL_GET_CHECKLIST_JSON";

public SharedPreferenceUtil(Context context){
    prefs = PreferenceManager.getDefaultSharedPreferences(context);
}

private void initializeDefaultAppConfigurationValues(){
    prefs.edit().putString(KEY_URL_GET_CHECKLIST_JSON, PRODUCTION_MODE_URL_GET_CHECKLIST_JSON);
    prefs.edit().commit();
}

public Configuration getConfiguration() {
    Configuration configuration = new Configuration();

    initializeDefaultAppConfigurationValues();

    configuration.setChecklistGetURL(prefs.getString(KEY_URL_GET_CHECKLIST_JSON,""));

    return configuration;
}

}

当我在行中保存值时:prefs.edit()commit()..它返回true。当我尝试读取以下值时:prefs.getString(KEY_URL_GET_CHECKLIST_JSON,“”)。它返回“”,好像该值尚未保存。

有人可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:7)

您的代码似乎有点不清楚

请参阅以下代码:

集:

  SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
  SharedPreferences.Editor editor = settings.edit(); 
                            editor.putString("language", language);
                            editor.commit();

读:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
String language = settings.getString("language", "");

答案 1 :(得分:0)

请参阅以下链接,它对您有用

Sharedpreference store andr retrival

答案 2 :(得分:0)

private SharedPreferences prefs;
你忘记了static

 private static SharedPreferences prefs;   

所有样本应该是一个