我正在尝试保存整数值,并使用共享首选项使用相同的按钮检索值。 更确切地说,当我单击一个按钮时,该值应该递增(i ++),然后应该存储它。当我关闭并打开应用程序时,它应该从我离开它的位置检索相同的值。我该怎么做呢? 我正在使用eclipse。
答案 0 :(得分:1)
这对我有用
public class OnPreferenceManager {
private SharedPreferences.Editor editor;
private SharedPreferences prefs;
private String startHour = "startHour";
private OnPreferenceManager() {}
private OnPreferenceManager(Context mContext) {
prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
editor = prefs.edit();
}
public static OnPreferenceManager getInstance(Context mContext)
{
OnPreferenceManager _app = null;
if (_app == null)
_app = new OnPreferenceManager(mContext);
return _app;
}
public void setStartHour(int hour){
editor.putInt(startHour, hour);
editor.apply();
}
public int getStartHour(){
int selectionStart = prefs.getInt(startHour, -1);
return selectionStart;
}
}
当您需要设置整数时,只需按以下方式编写
OnPreferenceManager.getInstance(this).setStartHour(theValueYouWantToStore);
并检索写入
OnPreferenceManager.getInstance(this).getStartHour()
答案 1 :(得分:0)
您可以使用以下共享偏好设置。
//To save integer value
SharedPreferences preference = getSharedPreferences("YOUR_PREF_NAME", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("YOU_KEY",you_int_value);
editor.commit();
//To retrieve integer value
SharedPreferences settings = getSharedPreferences("YOUR_PREF_NAME", 0);
int snowDensity = settings.getInt("YOU_KEY", 0); //0 is the default value
答案 2 :(得分:0)
检查这个要点https://gist.github.com/john1jan/b8cb536ca51a0b2aa1da4e81566869c4
我创建了一个Preference Utils类来处理所有情况。
易于使用
存储到首选项
PrefUtils.saveToPrefs(getActivity(), PrefKeys.USER_INCOME, income);
从偏好中获取
Double income = (Double) PrefUtils.getFromPrefs(getActivity(), PrefKeys.USER_INCOME, new Double(10));