Xamarin.Essentials:Preferences
Preferences クラスを使用すると、アプリケーションのユーザー設定をキー/値ストアに保存できます。
作業開始
この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。
Preferences の使用
クラスの Xamarin.Essentials への参照を追加します。
using Xamarin.Essentials;
特定の "キー" の値をユーザー設定に保存するには:
Preferences.Set("my_key", "my_value");
ユーザー設定の値、または設定されていない場合は既定値を取得するには:
var myValue = Preferences.Get("my_key", "default_value");
特定の キー がユーザー設定に存在するかどうかを確認するには:
bool hasKey = Preferences.ContainsKey("my_key");
ユーザー設定から "キー" を削除するには:
Preferences.Remove("my_key");
すべてのユーザー設定を削除するには:
Preferences.Clear();
ヒント
上のメソッドは、sharedName
という名称のオプション string
パラメーターを受け取ります。 このパラメーターは、一部のユース ケースで役に立つ基本設定用の追加コンテナーを作成するために使用されます。 ユース ケースの 1 つは、拡張機能全体で、あらゆる時計アプリケーションと基本設定を共有する必要がアプリケーションにあるときです。 下にあるプラットフォーム実装の詳細をご覧ください。
サポートされているデータ型
Preferences では次のデータ型がサポートされています。
- bool
- double
- int
- float
- long
- string
- DateTime
システム設定と統合する
ユーザー設定はネイティブで格納されるため、設定をネイティブ システム設定に統合できます。 プラットフォーム ドキュメントとサンプルに従って、プラットフォームと統合します。
- Apple: iOS 設定バンドルの実装
- watchOS の設定
- Android:設定画面の概要
実装の詳細
DateTime
の値は DateTime
クラスによって定義された 2 つのメソッドを使用して 64 ビット バイナリ (long 型整数) 形式で格納されます。ToBinary
メソッドを使用して DateTime
の値がエンコードされ、FromBinary
メソッドが値をデコードします。 世界協定時刻 (UTC) 値ではない DateTime
が格納されているときに値をデコードするために行われる可能性がある調整については、これらのメソッドのドキュメントをご覧ください。
プラットフォームの実装の詳細
すべてのデータは Shared Preferencesに格納されます。 sharedName
が指定されていない場合は、既定の共有ユーザー設定が使用されます。指定されている場合は、その名前を使用してプライベート共有ユーザー設定が取得されます。
永続性
アプリケーションをアンインストールすると、すべての "ユーザー設定" が削除されます。ただし、自動バックアップが使用されている Android 6.0 (API レベル 23) 以降を対象にして、そこで実行されるアプリは例外です。 この機能は既定で有効にされて、Shared Preferencesなどのアプリ データを保持し、Preferences API はそれを利用します。 この機能は、Google の ドキュメントに従って無効にできます。
制限事項
文字列を格納するとき、この API では少量のテキストを格納することが想定されています。 大量のテキストを格納するためにこれを使用しようとすると、パフォーマンスが低下する可能性があります。