Xamarin.Essentials:首选项

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 参数。 此参数用于为首选项创建其他容器,这在某些用例中非常有用。 一个用例是应用程序需要跨扩展共享首选项或需要监视应用程序。 请查看下面的平台实现细节。

支持的数据类型

以下数据类型在 Preferences 中受到支持:

  • bool
  • double
  • int
  • float
  • long
  • string
  • DateTime

与系统设置集成

首选项以本机方式存储,这样用户可将自己的设置集成到本机系统设置。 按照平台文档和示例说明与平台进行集成:

实现详细信息

DateTime 的值采用 DateTime 类定义的两种方法按 64 位二进制(长整型)格式进行存储:ToBinary 方法用于编码 DateTime 值,FromBinary 方法对值进行解码。 当存储的 DateTime 不是协调世界时 (UTC) 值时,请参阅这些方法的相关文档以了解如何进行对值解码的调整。

平台实现细节

所有数据都存储到共享首选项中。 如果未指定 sharedName,则使用默认的共享首选项,否则此名称将用于获取具有指定名称的私有共享首选项。

持久性

卸载应用程序将导致所有首选项被删除,但应用面向使用自动备份的 Android 6.0(API 级别 23)或更高版本并在这些版本上运行时例外。 此功能默认启用并且会保留应用数据,包括共享首选项(即 Preferences API 使用的内容)。 可以遵循 Google 的文档禁用此功能。

限制

当存储一个字符串时,此 API 用于存储少量文本。 如果尝试将其用于存储大量文本,则可能会导致性能欠佳。

API

第 9 频道YouTube 上查找更多 Xamarin 视频。