import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
アップデート
共有設定による| Android デベロッパー チュートリアル (パート 13) by Sai Geetha MN、
多くのアプリケーションは、特定のアプリケーションまたはアクティビティの設定に関するユーザー設定をキャプチャする方法を提供する場合があります。これをサポートするために、Android は単純な一連の API を提供します。
プリファレンスは通常、名前と値のペアです。これらは、アプリケーション内のさまざまなアクティビティで「共有設定」として保存できます (現在、プロセス間で共有できないことに注意してください)。または、アクティビティに固有に保存する必要があるものである場合もあります。
共有設定: 共有設定は、アプリケーションのすべてのコンポーネント (アクティビティ、サービスなど) で使用できます。
アクティビティ処理設定: これらの設定は、特定のアクティビティ内でのみ使用でき、アプリケーションの他のコンポーネントでは使用できません。
共有設定:
共有設定は、クラスのgetSharedPreferences
メソッドを使用して管理されます。Context
プリファレンスは、デフォルトのファイル(1)に保存されるか、プリファレンスを参照するために使用するファイル名(2)を指定できます。
(1)ファイル名を指定せずに、デフォルトモードで使用することをお勧めします
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) ファイル名を指定してインスタンスを取得する方法は次のとおりです。
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
プリファレンスの動作モードです。これはデフォルトのモードであり、作成されたファイルには呼び出し元のアプリケーションのみがアクセスできることを意味します。サポートされている他の 2 つのモードはMODE_WORLD_READABLE
、 とMODE_WORLD_WRITEABLE
です。他MODE_WORLD_READABLE
のアプリケーションでは、作成したファイルを読み取ることはできますが、変更することはできません。他のアプリケーションの場合MODE_WORLD_WRITEABLE
、作成したファイルへの書き込み権限も持っています。
最後に、設定インスタンスを取得したら、保存された値を設定から取得する方法を次に示します。
int storedPreference = preferences.getInt("storedInt", 0);
設定ファイルに値を保存するには、SharedPreference.Editor
オブジェクトを使用する必要があります。クラスEditor
にネストされたインターフェイスです。SharedPreference
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
エディタは、 ファイルから設定値を削除するremove()
や などのメソッドもサポートしています。clear()
アクティビティの設定:
共有設定は、他のアプリケーション コンポーネントで使用できます。ただし、設定を他のコンポーネントと共有する必要がなく、アクティビティの設定を非公開にしたい場合getPreferences()
は、アクティビティのメソッドを使用してそれを行うことができます。getPreference
メソッドはgetSharedPreferences()
、設定ファイル名にアクティビティ クラスの名前を付けたメソッドを使用します。
以下は、設定を取得するためのコードです
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
値を格納するコードも、共有設定の場合と同じです。
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
アクティビティの状態をデータベースに保存するなど、他の方法を使用することもできます。注 Android には、 というパッケージも含まれていますandroid.preference
。このパッケージは、アプリケーション設定 UI を実装するクラスを定義します。
他の例を確認するには、開発者サイトの Android のデータ ストレージの投稿を確認してください。