Preferences
この記事では、.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 はネイティブで格納されるため、設定をネイティブ システム設定に統合できます。 プラットフォーム ドキュメントとサンプルに従って、プラットフォームと統合します。
- Apple: iOS 設定バンドルの実装
- iOS アプリケーション Preferences サンプル
- Android:設定画面の概要
プラットフォームによる違い
このセクションでは、基本設定 API とのプラットフォーム固有の違いについて説明します。
すべてのデータは Shared Preferences に格納されます。 sharedName
に何も指定されていない場合は、既定の Shared Preferences が使用されます。 それ以外の場合、その名前は、指定された名前の private Shared Preferences を取得するために使用されます。
永続化
アプリケーションをアンインストールすると、自動バックアップ機能の使用中に Android 6.0 (API レベル 23) 以降でアプリが実行される場合を除き、すべての基本設定が削除されます。 この機能は既定で有効になっており、Preferences API が使用する Shared Preferences などのアプリ データは保持されます。 これを無効にするには、Google の自動バックアップのドキュメントに従ってください。
制限事項
API は少量のテキストを保存するように設計されているため、大量のテキストを保存するとパフォーマンスに影響する可能性があります。
.NET MAUI
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示