替换用于保存应用程序设置的静态类的好方法是什么?

时间:2017-08-15 11:23:27

标签: xamarin xamarin.forms

我有一个使用静态类来存储设置的应用程序:

namespace ABC
{
    public static class MS 
    {
        public static bool abc;
        public static bool def;
        ...
    }
}

当应用程序启动时,它会进入数据库并更新其中一些设置。

我被告知在静态类中保存它们并不适合我在进行绑定和添加通知时所以我想我应该新建一个类并将它们保存在实例中。如果是这样的话可以有人给我一些建议。我应该在应用程序启动时这样做,如果这是最好的方法,那么它应该在App()的构造函数中,那么我该怎么做呢。任何小的4-5行示例都将是一个很大的帮助

public partial class App : Application
{
    public static xxx

    public App()
    {
        AS.appUpdated = "Feb 1, 2017";
        AS.appVersion = "0.1";
        InitializeComponent();
        MainPage = new MS.MainPage();
    }
}

1 个答案:

答案 0 :(得分:1)

看看James Montemagno的设置插件。

https://github.com/jamesmontemagno/SettingsPlugin

这会抽象出很多围绕设置的管道并在本地持久存在。从应用程序中的任何位置调用您的某个设置,就像调用Settings.MySettingName一样简单。

在将这些值绑定到视图时,我总是在视图模型中为它​​们创建一个属性,它只返回设置中的值。如果需要,您可以将它们放在基本视图模型中并从那里开始。

public class MyViewModel : BaseViewModel
{

}

public class BaseViewModel
{
     public bool SettingA => Settings.SettingA;
     public bool SettingB => Settings.SettingB;
}