import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
更新
共有設定によると| サイゲータMNによるAndroid開発者チュートリアル(パート13)
多くのアプリケーションは、特定のアプリケーションまたはアクティビティの設定に関するユーザー設定をキャプチャする方法を提供する場合があります。これをサポートするために、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のデータストレージに関する投稿を確認してください。