0
我使用SharedPreferences来保存关于用户体重的信息,这是我在我的应用程序中需要的。问题是,安装后如何自动设置默认值(例如75公斤)?我知道如何通过.xml来完成它,但是如何以编程方式执行此操作?如何以编程方式将默认值设置为SharedPreferences?
我的代码:
public class SettingsDialogFragment extends DialogFragment{
public static final String PREFS_NAME = "settings";
public Dialog onCreateDialog(Bundle savedInstanceState) {
builder.setPositiveButton(R.string.save, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Data.weight = weight;
SharedPreferences prefs = getActivity().getSharedPreferences(PREFS_NAME, 0);
Editor editor = prefs.edit();
editor.putInt("key_weight", weight);
editor.commit();
Data.ifMale = ifMale;
checkedRadio = rg.getCheckedRadioButtonId();
System.out.println("numer radio" +checkedRadio);
}
});
return builder.create();
}
}
检查是否是第一次运行您的应用程序,如果是这样,请将默认首选项设置为您希望的默认首选项。我想这就是你要问的。 – zgc7009 2014-11-05 19:28:21
如果密钥不在列表中,SharePreferences API还允许您获取默认值,因此您可能不需要将默认值设置为开头。 – DeeV 2014-11-05 19:29:20
@ zgc7009是的。这就是我想要达到的目标。在应用程序的第一次启动时,我想将权重值设置为例如。 75公斤(而不是0或零),以便一些算法正确计数。你能提出任何方法来达到这个目的吗? 编辑:我找到了这个解决方案:http://stackoverflow.com/a/13237848/1828352,但我的问题是,如果用户通过谷歌播放更新应用程序会发生什么?该值会被再次设置为默认值? – fragon 2014-11-05 19:34:58