如何使用Android共享偏好

时间:2015-10-17 09:46:24

标签: android sharedpreferences

我正在尝试保存整数值,并使用共享首选项使用相同的按钮检索值。 更确切地说,当我单击一个按钮时,该值应该递增(i ++),然后应该存储它。当我关闭并打开应用程序时,它应该从我离开它的位置检索相同的值。我该怎么做呢? 我正在使用eclipse。

3 个答案:

答案 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));
相关问题