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
与系统设置集成
首选项以本机方式存储,这样用户可将自己的设置集成到本机系统设置。 按照平台文档和示例说明与平台进行集成:
- Apple:实现 iOS 设置捆绑
- watchOS 设置
- Android:设置屏幕入门
实现详细信息
DateTime
的值采用 DateTime
类定义的两种方法按 64 位二进制(长整型)格式进行存储:ToBinary
方法用于编码 DateTime
值,FromBinary
方法对值进行解码。 当存储的 DateTime
不是协调世界时 (UTC) 值时,请参阅这些方法的相关文档以了解如何进行对值解码的调整。
平台实现细节
持久性
卸载应用程序将导致所有首选项被删除,但应用面向使用自动备份的 Android 6.0(API 级别 23)或更高版本并在这些版本上运行时例外。 此功能默认启用并且会保留应用数据,包括共享首选项(即 Preferences API 使用的内容)。 可以遵循 Google 的文档禁用此功能。
限制
当存储一个字符串时,此 API 用于存储少量文本。 如果尝试将其用于存储大量文本,则可能会导致性能欠佳。