asv*_*asv -1 c# xamarin.ios xamarin.android xamarin xamarin.forms
有没有办法使用 Xamarin Forms 本地存储列表?
Bra*_*ick 11
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);
}
}
Run Code Online (Sandbox Code Playgroud)
Preferences.SavedList从代码中的任何地方引用void AddToList(string text)
{
var savedList = new List<string>(Preferences.SavedList);
savedList.Add(text);
Preferences.SavedList = savedList;
}
Run Code Online (Sandbox Code Playgroud)