0
私は、ユーザーの設定を保存して読み込むには、次の方法を使用しています:設定sharedpreferencesのデフォルト値
private void saveUserSettings(){
SharedPreferences userSettings = getSharedPreferences("userSettings", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = userSettings.edit();
editor.putInt("timeOne",timeOne);
editor.apply();
}
private int getUserSettings(){
SharedPreferences userSettings = getSharedPreferences("userSettings", Context.MODE_PRIVATE);
timeOne = userSettings.getInt("timeOne",timeOne);
}
その後のonCreateで次のように:
SharedPreferences prefs = getSharedPreferences("userSettings", Context.MODE_PRIVATE);
これは素晴らしいですし、データが時に保存されますアプリの再起動。しかし、私はアプリケーションが最初にインストールされているときにデフォルトのデータを持っていたいと思っていますが、その値がxmlファイルに保存されているようです。
私は下に次のファイルを作成したのres/xmlの/あるpreferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference
android:key="timeOne"
android:defaultValue="2"/>
</PreferenceScreen>
のonCreateでその後
:
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
は私が一致するの好みに "userSettings" に変更したが、このdosenゼロの値を返します。 xmlファイルを読み込むこの方法はOKか/ /私は何かを見落としていますか?
これは重要な点ですが、問題はpreference.xmlファイルからの読み取りです。 2のときは0を返します。 – MXG123
2がデフォルト値の場合は、このように設定してください。 timeOne = userSettings.getInt( "timeOne"、2); – Juan
私は編集Iの例を追加しました – Juan