Preferences

Browse sample. サンプルを参照する

この記事では、.NET マルチプラットフォーム アプリ UI (.NET MAUI) IPreferences インターフェイスを使用する方法について説明します。 このインターフェイスは、アプリの基本設定をキー/値ストアに保存するのに役立ちます。

IPreferences インターフェイスの既定の実装は、Preferences.Default プロパティを通じて使用できます。 IPreferences インターフェイスと Preferences クラスはどちらも Microsoft.Maui.Storage 名前空間に含まれています。

ストレージの種類

Preferences は String キーとともに保存されます。 基本設定の値は、次のいずれかのデータ型である必要があります。

DateTime の値は DateTime クラスによって定義された 2 つのメソッドを使用して 64 ビット バイナリ (long 型整数) 形式で格納されます。

  • ToBinary メソッドは、DateTime 値をエンコードするために使用されます。
  • FromBinary メソッドは値をデコードします。

協定世界時 (UTC) 値ではない DateTime が格納されているときに値をデコードするために行われる可能性がある調整については、これらのメソッドのドキュメントを参照してください。

ユーザー設定の設定

Preferences は、Preferences.Set メソッドを呼び出してキーと値を指定することで設定されます。

// Set a string value:
Preferences.Default.Set("first_name", "John");

// Set an numerical value:
Preferences.Default.Set("age", 28);

// Set a boolean value:
Preferences.Default.Set("has_pets", true);

設定を取得する

設定から値を取得するには、設定のキーを渡し、キーが存在しない場合は既定値を渡します。

string firstName = Preferences.Default.Get("first_name", "Unknown");
int age = Preferences.Default.Get("age", -1);
bool hasPets = Preferences.Default.Get("has_pets", false);

キーを確認する

基本設定にキーが存在するかどうかを確認すると便利な場合があります。 Get ではキーが存在しない場合に規定値を設定していますが、キーが存在してもキーの値が規定値と一致する場合があります。 そのため、キーが存在しないことを示すインジケーターとして既定値に依存することはできません。 キーがあるかどうかを判断するには、ContainsKey メソッドを使用します。

bool hasKey = Preferences.Default.ContainsKey("my_key");

1 つまたはすべてのキーを削除する

Remove メソッドを 使用して、基本設定から特定のキーを削除します。

Preferences.Default.Remove("first_name");

すべてのキーを削除するには、Clear メソッドを使用します。

Preferences.Default.Clear();

共有キー

アプリによって保存された基本設定は、アプリにのみ表示されます。 ただし、他の拡張機能やウォッチ アプリで使用できる共有設定を作成することもできます。 基本設定を設定、削除、または取得するときに、オプションの文字列パラメーターを指定して、基本設定が格納されているコンテナーの名前を指定できます。

次のメソッドは、sharedName という名前の文字列パラメータを受け取ります。

  • Preferences.Set
  • Preferences.Get
  • Preferences.Remove
  • Preferences.Clear

重要

共有設定には動作固有の実装があるため、プラットフォーム実装の詳細をお読みください。

システム設定と統合する

Preferences はネイティブで格納されるため、設定をネイティブ システム設定に統合できます。 プラットフォーム ドキュメントとサンプルに従って、プラットフォームと統合します。

プラットフォームによる違い

このセクションでは、基本設定 API とのプラットフォーム固有の違いについて説明します。

すべてのデータは Shared Preferences に格納されます。 sharedName に何も指定されていない場合は、既定の Shared Preferences が使用されます。 それ以外の場合、その名前は、指定された名前の private Shared Preferences を取得するために使用されます。

永続化

アプリケーションをアンインストールすると、自動バックアップ機能の使用中に Android 6.0 (API レベル 23) 以降でアプリが実行される場合を除き、すべての基本設定が削除されます。 この機能は既定で有効になっており、Preferences API が使用する Shared Preferences などのアプリ データは保持されます。 これを無効にするには、Google の自動バックアップのドキュメントに従ってください。

制限事項

API は少量のテキストを保存するように設計されているため、大量のテキストを保存するとパフォーマンスに影響する可能性があります。