导出/导入 Xamarin.Essentials 首选项
Export / Import Xamarin.Essentials Preferences
我一直在寻找一种快速/简单的方法来导入和导出 Xamarin.Essentials 公开的 Preferences 对象。有什么建议吗?
根据你的描述,你是想在preference中保存数据,然后从Preferences中获取数据,对吗?如果是,请看下面的代码:
using Xamarin.Essentials;
private void Btn1_Clicked(object sender, EventArgs e)
{
Preferences.Set("key1", "this is test");
}
private void Btn2_Clicked(object sender, EventArgs e)
{
var myValue = Preferences.Get("key1","");
}
关于Xamarin.Essentials的更多详细信息:首选项,请查看以下文章:
https://docs.microsoft.com/en-us/xamarin/essentials/preferences?tabs=android
更新:
如果你想在首选项中保存所有内容,我建议你可以使用 Newtonsoft.Json.
序列化你想要保存的数据并反序列化你想要获取的数据
首先,通过 Nuget 包安装 Newtonsoft.Json,然后执行此操作:
public partial class Page13 : ContentPage
{
public List<person> persons { get; set; }
public Page13()
{
InitializeComponent();
persons = new List<person>()
{
new person(){username="cherry",age=12},
new person(){username="barry",age=14}
};
}
private void Btn1_Clicked(object sender, EventArgs e)
{
string list = Newtonsoft.Json.JsonConvert.SerializeObject(persons);
Preferences.Set("key1", list);
}
private void Btn2_Clicked(object sender, EventArgs e)
{
var myValue = Newtonsoft.Json.JsonConvert.DeserializeObject<List<person>>(Preferences.Get("key1", "")) ;
}
}
public class person
{
public string username { get; set; }
public int age { get; set; }
}
我用List来做例子,但是你可以把所有对象序列化为字符串,然后把这个字符串保存在Preference中,反序列化字符串到对象中获取数据。
所以我无法找到执行此操作的内置方法。我不得不在我的应用程序中手动编写代码来遍历我的所有首选项,序列化它们并将字符串写入磁盘。同样对于导入,我必须采用序列化字符串,重新序列化它,然后手动将值放回我的首选项中。
我一直在寻找一种快速/简单的方法来导入和导出 Xamarin.Essentials 公开的 Preferences 对象。有什么建议吗?
根据你的描述,你是想在preference中保存数据,然后从Preferences中获取数据,对吗?如果是,请看下面的代码:
using Xamarin.Essentials;
private void Btn1_Clicked(object sender, EventArgs e)
{
Preferences.Set("key1", "this is test");
}
private void Btn2_Clicked(object sender, EventArgs e)
{
var myValue = Preferences.Get("key1","");
}
关于Xamarin.Essentials的更多详细信息:首选项,请查看以下文章:
https://docs.microsoft.com/en-us/xamarin/essentials/preferences?tabs=android
更新:
如果你想在首选项中保存所有内容,我建议你可以使用 Newtonsoft.Json.
序列化你想要保存的数据并反序列化你想要获取的数据首先,通过 Nuget 包安装 Newtonsoft.Json,然后执行此操作:
public partial class Page13 : ContentPage
{
public List<person> persons { get; set; }
public Page13()
{
InitializeComponent();
persons = new List<person>()
{
new person(){username="cherry",age=12},
new person(){username="barry",age=14}
};
}
private void Btn1_Clicked(object sender, EventArgs e)
{
string list = Newtonsoft.Json.JsonConvert.SerializeObject(persons);
Preferences.Set("key1", list);
}
private void Btn2_Clicked(object sender, EventArgs e)
{
var myValue = Newtonsoft.Json.JsonConvert.DeserializeObject<List<person>>(Preferences.Get("key1", "")) ;
}
}
public class person
{
public string username { get; set; }
public int age { get; set; }
}
我用List来做例子,但是你可以把所有对象序列化为字符串,然后把这个字符串保存在Preference中,反序列化字符串到对象中获取数据。
所以我无法找到执行此操作的内置方法。我不得不在我的应用程序中手动编写代码来遍历我的所有首选项,序列化它们并将字符串写入磁盘。同样对于导入,我必须采用序列化字符串,重新序列化它,然后手动将值放回我的首选项中。