共用方式為


Preferences

流覽範例。 流覽範例

本文說明如何使用 .NET 多平臺應用程式 UI (.NET MAUI) IPreferences 介面。 此介面可協助將應用程式 preferences 儲存在索引鍵/值存放區中。

介面的預設實作 IPreferences 可透過 Preferences.Default 屬性取得。 IPreferences介面和Preferences類別都包含在 命名空間中Microsoft.Maui.Storage

儲存體類型

Preferences 會以 String 金鑰儲存。 喜好設定的值必須是下列其中一種數據類型:

DateTime 的值會使用 DateTime 類別定義的兩種方法,以 64 位元二進位 (長整數) 格式儲存:

請參閱這些方法的檔,以瞭解在儲存不是國際標準時間 (UTC) 值時 DateTime ,可能會對譯碼值所做的調整。

設定 preferences

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);

獲取 preferences

若要從 preferences 您傳遞喜好設定的索引鍵來擷取值,請在機碼不存在時接著預設值:

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

在某些情況下,您可能需要傳遞喜好設定的索引鍵,後面接著預設值及其類型:

long value = Preferences.Get("master_date", (long)0);

檢查金鑰

檢查索引鍵 preferences 是否存在,可能很有用。 即使您 Get 在機碼不存在時設定預設值,也可能有索引鍵存在的情況,但索引鍵的值符合預設值。 因此,您無法依賴預設值做為索引鍵不存在的指標。 ContainsKey使用 方法來判斷索引鍵是否存在:

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

拿掉一或所有索引鍵

Remove使用 方法從 中移除特定索引鍵preferences:

Preferences.Default.Remove("first_name");

若要移除所有索引鍵,請使用 Clear 方法:

Preferences.Default.Clear();

共用金鑰

preferences應用程式所儲存的 只有您的應用程式可以看到。 不過,您也可以建立共用喜好設定,供其他延伸模組或監看應用程式使用。 當您設定、移除或擷取喜好設定時,可以提供選擇性字串參數來指定儲存喜好設定的容器名稱。

下列方法會採用名為 sharedName的字串參數:

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

重要

請參閱平臺實作細節,因為共用 preferences 有行為特定的實作

與系統設定整合

Preferences 會以原生方式儲存,可讓您將設定整合到原生系統設定中。 請遵循平台檔來與平臺整合:

平台差異

本節說明 API preferences 的平臺特定差異。

所有數據都會儲存在 共用 中 PreferencessharedName如果未指定 ,則會使用預設的SharedPreferences。 否則,此名稱會用來取得 具有指定名稱的私人共用 Preferences

持續性

卸載應用程式會導致移除所有 preferences 專案,除非應用程式在Android 6.0(API層級23) 或更新版本上執行,同時使用 自動備份 功能。 此功能預設為開啟,並保留應用程式數據,包括 共用 Preferences,這是 API 使用 Preferences 的內容。 您可以遵循 Google 的 自動備份檔來停用此功能。

限制

如果您儲存大量的文字,效能可能會受到影響,因為 API 是設計來儲存少量的文字。