PreferenceScreenで設定した値を取得する|Android開発

   

Preferenceを使った設定画面の作成|Android開発で設定した値の取得方法です。
また直接値を変更する方法です。

設定値の取得

PreferenceManager.getDefaultSharedPreferences()を使い、SharedPreferencesインスタンスを取得してから、get系のメソッドで値を取得します。

設定値の書き込み

SharedPreferences.Editorクラスのput系メソッドで値を更新します。
保存方法は同期と非同期があります。

非同期書き込み

editor.apply();

同期書き込み

editor.commit();

サンプル

設定値を取得し、未設定ならデフォルト値を保存するサンプルです。

public static void setDefault(Context context) {
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
    // 設定値を取得する.
    String url = sp.getString("key_server_address", null);
    if (url == null) {
        // PreferenceFragment を使用せずに値を設定する.
        SharedPreferences.Editor editor = sp.edit();
        // デフォルト値を設定する.
        editor.putString("key_server_address", "192.168.10.1");
        editor.apply(); // 非同期書き込み.
    }
}

 - Android