[英]How can I store lists in Xamarin Forms?
有没有办法使用 Xamarin Forms 本地存储列表?
Xamarin 设置插件已过时且不再维护。 其功能已纳入 Xamarin.Essentials,建议继续使用。
利用Newtonsoft.Json.JsonConvert
将List<T>
序列化/反序列化到/从string
并使用Xamarin.Essentials.Preferences
保存/检索它
using System;
using Newtonsoft.Json;
using Xamarin.Essentials;
namespace YourNamespace
{
static class Preferences
{
public static List<string> SavedList
{
get
{
var savedList = Deserialize<List<string>>(Preferences.Get(nameof(SavedList), null));
return savedList ?? new List<string>();
}
set
{
var serializedList = Serialize(value);
Preferences.Set(nameof(SavedList), serializedList);
}
}
static T Deserialize<T>(string serializedObject) => JsonConvert.DeserializeObject<T>(serializedObject);
static string Serialize<T>(T objectToSerialize) => JsonConvert.SerializeObject(objectToSerialize);
}
}
Preferences.SavedList
void AddToList(string text)
{
var savedList = new List<string>(Preferences.SavedList);
savedList.Add(text);
Preferences.SavedList = savedList;
}
在设置插件中,您可以以键值方式存储,因此您不能直接存储列表。 一种解决方法是,您可以将您的列表序列化为一个 json 字符串,然后您可以使用一个键来存储它。 当您需要返回列表时,您可以使用密钥获取该 json 字符串并将其反序列化为原始格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.