【问题标题】:which Settings plugin to use in MvvmCross在 MvvmCross 中使用哪个设置插件
【发布时间】:2015-12-07 20:43:15
【问题描述】:

NuGet 上的设置插件

https://www.nuget.org/packages/MvvmCross.Plugins.Settings/0.0.0.2

似乎只适用于 Windows Phone。

名称 (MvvmCross.Plugins.Settings) 使它看起来像一个“官方”插件,但事实并非如此。

令人困惑的是,Windows Phone 也有另一个:

https://www.nuget.org/packages/MvvmCross.Plugins.Settings.WindowsPhone/0.0.0.2

两人都是作者 ShawnMclean。

也有这个,但它只保存基本类型(int、string、double 等)它不能保存自定义对象:

https://github.com/ceton/Mvx.Plugins.Settings

一个非常简单的实现是将一个值序列化为 JSON。值可以是任何值。

您使用什么来保存 MvvmCross 应用程序中的设置?

【问题讨论】:

    标签: mvvmcross


    【解决方案1】:

    Cheesebaron 有一个用于 Droid、Touch 和 Windows Phone 的 MvvmCross 设置插件,基于 ceton 的插件,并进行了一些修复:

    https://github.com/Cheesebaron/Cheesebaron.MvxPlugins

    这个插件也只保存基本类型。如果你想保存可序列化的类型,应该可以克隆 repo 并扩展每个平台的插件实现。

    当然,您始终可以让您的应用程序处理 JSON 序列化,并将其存储为字符串,也许可以为此提供一个很好的服务,您可以在您的应用程序中使用它。毕竟,JSON 序列化应该是相当跨平台的。

    【讨论】:

    • 谢谢,我不知道 Cheesebaron 的实现。就像你已经提到的那样,不幸的是它只保存了基本类型。
    【解决方案2】:

    根据您的设置的复杂程度,您可以考虑使用http://www.nuget.org/packages/MvvmCross.HotTuna.Plugin.File/ 并将您的设置对象序列化为 XML 或 JSON。

    【讨论】:

    • 我不建议这样做。您应该使用平台的本机设置功能 - 否则您的设置将成为一个无形的孤岛,无法由软件基础设施工具管理。例如,如果您的任何客户正在使用 MDM 基础架构,他们将无法将更新的设置推送到您的应用。
    猜你喜欢
    • 1970-01-01
    • 2012-10-12
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多