public class Audioguia
{
public int id { get; set; }
public string name{ get; set; }
public string direction{ get; set; }
public string image { get; set; }
}
字符串
你好,我的老板已经责成我添加一个选项,以保存列表的'audioguides'(上面的上下文对象)作为“我的audioguides”在audioguide应用程序。用户应该能够在他们方便的时候访问这个列表。这里的挑战是,他想避免使用数据库,并询问这是否可以在本地完成。我认为这可能是通过利用“偏好”来实现的。然而,我遇到了一些困难,特别是在序列化数据时。我甚至不确定是否可以用这种方式保存对象列表。有人知道如何实现这一点吗?或者你能证实这是否确实可行吗?这是我迄今为止尝试的,但还没有成功:
public class AudioguiaService
{
private const string KeyAudioguias = "Audioguias";
public List<Audioguia> GetAudioguias()
{
if (Preferences.ContainsKey(KeyAudioguias))
{
string audioguiaJson = Preferences.Get(KeyAudioguias, string.Empty);
if (!string.IsNullOrEmpty(audioguiaJson))
{
return JsonConvert.DeserializeObject<List<Audioguia>>(audioguiaJson);
}
}
return new List<Audioguia>();
}
public void AddAudioguia(Audioguia audioguia)
{
List<Audioguia> audioguias = GetAudioguias();
audioguias.Add(audioguia);
string audioguiaJson = JsonConvert.SerializeObject(audioguias);
Preferences.Set(KeyAudioguias, audioguiaJson);
}
}
型
1条答案
按热度按时间6yjfywim1#
你可以这样写:
字符串
并将每个Audiogia添加到设置中的单独条目:
型
分别阅读每个音频,并将其添加到列表中:
型
这样你就不会因为长度而出错。(或者你可以批量序列化它们)
或者你可以忽略你的老板,做程序员做的事情,把它们放在数据库中。