我有这堂课:
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,“”)。它返回“”,好像该值尚未保存。
有人可以帮我解决这个问题。
答案 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)
请参阅以下链接,它对您有用
答案 2 :(得分:0)
private SharedPreferences prefs;
你忘记了static
private static SharedPreferences prefs;
所有样本应该是一个