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

システム設定と統合する

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

実装の詳細

DateTime の値は DateTime クラスによって定義された 2 つのメソッドを使用して 64 ビット バイナリ (long 型整数) 形式で格納されます。ToBinary メソッドを使用して DateTime の値がエンコードされ、FromBinary メソッドが値をデコードします。 世界協定時刻 (UTC) 値ではない DateTime が格納されているときに値をデコードするために行われる可能性がある調整については、これらのメソッドのドキュメントをご覧ください。

プラットフォームの実装の詳細

すべてのデータは Shared Preferencesに格納されます。 sharedName が指定されていない場合は、既定の共有ユーザー設定が使用されます。指定されている場合は、その名前を使用してプライベート共有ユーザー設定が取得されます。

永続性

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

制限事項

文字列を格納するとき、この API では少量のテキストを格納することが想定されています。 大量のテキストを格納するためにこれを使用しようとすると、パフォーマンスが低下する可能性があります。

API

他の Xamarin ビデオは、Channel 9 および YouTube でご覧いただけます。