Xamarin.forms 保存用户设置(切换)Xamarin表单

Xamarin.forms 保存用户设置(切换)Xamarin表单,xamarin.forms,settings,Xamarin.forms,Settings,假设我们在PCL xamarin表单应用程序中有一个页面 我想为每个用户保存设置(切换开关选项): -本地和远程保存它们实现这一点的最快方法可能是使用James Montemagno的。它作为一个NuGet软件包提供,只需记住在您的所有项目(包括共享项目和平台项目)中安装它 这应该是不言自明的。当您安装该软件包时,它已经为您创建了一个帮助器类,并向您显示一个自述文件 它仅适用于简单类型,即:Boolean,Int32,Int64,String,Single(float),Guid,Double,

假设我们在PCL xamarin表单应用程序中有一个页面 我想为每个用户保存设置(切换开关选项):
-本地和远程保存它们

实现这一点的最快方法可能是使用James Montemagno的。它作为一个NuGet软件包提供,只需记住在您的所有项目(包括共享项目和平台项目)中安装它

这应该是不言自明的。当您安装该软件包时,它已经为您创建了一个帮助器类,并向您显示一个自述文件

它仅适用于简单类型,即:
Boolean
Int32
Int64
String
Single
(float),
Guid
Double
Decimal
DateTime

安装软件包后,您将获得一个默认的静态类来访问您的设置,如下所示:

private static ISettings AppSettings
{
  get
  {
    return CrossSettings.Current;
  }
}
public static string UserName
{
  get { return AppSettings.GetValueOrDefault<string>(UserNameKey, UserNameDefault); }
  set { AppSettings.AddOrUpdateValue<string>(UserNameKey, value); }
}

public static int SomeInt
{
  get { return AppSettings.GetValueOrDefault<int>(SomeIntKey, SomeIntDefault); }
  set { AppSettings.AddOrUpdateValue<int>(SomeIntKey, value); }
}
现在,您可以使用键/值对定义设置,并定义默认值,即:

private const string UserNameKey = "username_key";
private static readonly string UserNameDefault = string.Empty;

private const string SomeIntKey = "int_key";
private static readonly int SomeIntDefault = 6251986;
并按属性检索它们,如下所示:

private static ISettings AppSettings
{
  get
  {
    return CrossSettings.Current;
  }
}
public static string UserName
{
  get { return AppSettings.GetValueOrDefault<string>(UserNameKey, UserNameDefault); }
  set { AppSettings.AddOrUpdateValue<string>(UserNameKey, value); }
}

public static int SomeInt
{
  get { return AppSettings.GetValueOrDefault<int>(SomeIntKey, SomeIntDefault); }
  set { AppSettings.AddOrUpdateValue<int>(SomeIntKey, value); }
}
公共静态字符串用户名
{
get{return AppSettings.GetValueOrDefault(UserNameKey,UserNameDefault);}
set{AppSettings.AddOrUpdateValue(UserNameKey,value);}
}
公共静态int-SomeInt
{
get{return AppSettings.GetValueOrDefault(SomeIntKey,SomeIntDefault);}
set{AppSettings.AddOrUpdateValue(SomeIntKey,value);}
}
还可以在Xamarin.Forms中使用数据绑定,这样就不需要任何冗余代码。可以在文档中阅读更深入的内容


因为它使用属性等。您可以自己实现一些代码来调用后端服务并将设置存储在那里。

谢谢您的回答,但我多次阅读了相同的答案!而在我的例子中,我有两个问题:-我需要保存切换开关(开或关)而不是布尔、Int32、Int64、字符串、单(浮点)、Guid、双精度、十进制、日期时间。-它们超过16个(更准确地说是80个)开关打开或关闭是真/假,那么布尔值呢?那么你应该拥有80个房产。感觉没有它可能的那么优雅,但我不确定是否还有其他更好的解决方案。将它们存储在字典或其他东西中,但您必须自己管理大量设置,这样可能重复的dup链接就不起作用了。。。