나는 SharedPreferences를 사용하여 응용 프로그램에 필요한 사용자 체중 정보를 보관합니다. 문제는 설치 후 자동으로 기본값 (예 : 75kg)을 설정하는 방법입니다. .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
SharePreferences API를 사용하면 키가 목록에 없으면 기본값을 가져올 수 있으므로 기본값을 시작으로 설정할 필요가 없습니다. – DeeV
@ zgc7009 예. 그것이 내가 원하는 것입니다. 응용 프로그램의 첫 번째 시작에서 나는 예를 들어 체중 값을 설정해야합니다. 75kg (0 또는 null 대신)이므로 일부 알고리즘은 올바르게 계산됩니다. 이것을 달성 할 수있는 방법을 제안 해 주시겠습니까? 편집 :이 솔루션을 찾았습니다 : http://stackoverflow.com/a/13237848/1828352, 사용자가 Google Play를 통해 앱을 업데이트하면 어떻게됩니까? 값이 기본값으로 한 번 더 설정되거나 설정되지 않습니까? – fragon