XMLファイルに自分の設定があるAndroidアプリケーションがありますが、これは正常に機能します。設定画面全体を表示するのではなく、コードを使用して設定の1つを設定したいのですが、これを行うにはどうすればよいですか?
3 に答える
設定では、Androidスマートフォンの設定ではなく、アプリケーションの設定を参照していると思います。
アプリケーションの実行間で設定を保存するには、次の手順を実行する必要があります
SharedPreferencesオブジェクトを作成します
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
文字列nは設定を識別し、2番目の引数はそれらがアクセスされるモードです
Editorオブジェクトをインスタンス化します
SharedPreferences.Editor editor = settings.edit();
注:settings.editor.edit()を試さないでください。永続的なオブジェクトが作成されず、以下のコードが機能しません。
好みをバッファに書き込む
editor.put...(String, value)
put関数、putString、putBooleanなどが多数あります。文字列はキー( "version"、 "good run")であり、値は値( "1.5.2"、true)です。
バッファをフラッシュします
editor.commit();
これは実際にあなたが好みに置くことを書きます。この行の前にアプリがクラッシュした場合、設定は書き込まれません。文書化されたバグもあります。commit()は、成功または失敗を示すブール値を返すことになっています。最後にチェックしたところ、常にfalseが返されました。
これらの設定は電話に保存され、アプリケーションにのみアクセスできます。
その他のドキュメントはこちら
以下のコードを使用して、共有設定に何かを保存できます
public static void save(String valueKey, String value) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
SharedPreferences.Editor edit = prefs.edit();
edit.putString(valueKey, value);
edit.commit();
}
プリファレンスを読み取るには:
public static String read(String valueKey, String valueDefault) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
return prefs.getString(valueKey, valueDefault);
}