我想知道以跨平台方式操作应用程序设置的最佳解决方案是什么。
在 iOS 中,我们可以在设置屏幕中更改应用程序外部的设置,但在 Windows Phone 和 Android 中则没有此功能。
因此,我的想法是在应用程序内创建一个普通页面/屏幕,显示我的所有应用程序设置,并具有一个带有 Save() 和 Get() 方法的接口,我可以使用 DependencyServices 为每个设备实现特定的方法。
这是正确的做法吗?
- Application 子类有一个静态 Properties 字典,可用于存储数据。可以使用 Application.Current.Properties 从 Xamarin.Forms 代码中的任何位置访问它。
Application.Current.Properties ["id"] = someClass.ID;
if (Application.Current.Properties.ContainsKey("id"))
{
var id = Application.Current.Properties ["id"] as int;
// do something with id
}
属性字典会自动保存到设备中。当应用程序从后台返回时甚至重新启动后,添加到字典中的数据将可用。 Xamarin.Forms 1.4 在 Application 类上引入了一个附加方法 -SavePropertiesAsync()
- 可以调用它来主动保存属性字典。这是为了允许您在重要更新后保存属性,而不是冒着由于崩溃或被操作系统杀死而无法序列化的风险。
https://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/app-lifecycle/
-
使用本机设置管理的 Xamarin.Forms 插件。
- Android:共享首选项
- iOS:NSUserDefaults
- Windows Phone:独立存储设置
- Windows 应用商店/Windows Phone RT:ApplicationDataContainer
https://github.com/jamesmontemagno/Xamarin.Plugins/tree/master/Settings
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)