c# - 如何在 Xamarin Forms 中存储列表?
问题描述
有没有办法使用 Xamarin Forms 本地存储列表?
解决方案
Xamarin 设置插件已过时且不再维护。其功能已集成到 Xamarin.Essentials 中,建议继续使用。
利用
Newtonsoft.Json.JsonConvert
序列化/反序列化List<T>
to/from astring
并使用保存/检索它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;
}
推荐阅读
- http - HEAD 的响应状态码应该和 GET 的状态码一样吗?
- node.js - Moment JS 并转换为用户的本地时间
- mysql - mysql - 如何使用父表中的值将连接表连接到另一个连接表?
- git - TFS 到 Azure DevOps 的迁移
- vb.net - 在逗号分隔文件中使用逗号
- php - 如何解密使用 Taifun AES-Extention 加密的 PHP 文本?
- java - 使用 HttpServletRequest 时出现 java.lang.LinkageError
- ios - IOS 自动生成配置文件和证书
- c# - WPF - 带有可选文本的可绑定聊天视图
- c++ - 如何创建可在 Unity 中使用的自定义相机 API