gpt4 book ai didi

c# - 保存和加载通用数据 WinPhone8.1 C#

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:16 25 4
gpt4 key购买 nike

首先,我正在开发一个 WindowsPhone8.1 应用程序,它有一个来自网络的 JSON(姓名、电话号码、电子邮件...)文件。我将此 JSON 数据存储在一个列表中(联系人是一个具有来自 JSON 的参数的类。

我想在我的 WindowsPhone 上存储(本地无云)这个列表(它是一个带有标记的收藏夹的列表,而不是整个列表)。

我用 StorageFolder 和 StorageFile 试过了,不幸的是,我失败了。删除和加载文件时遇到问题。

使用 C#、Xaml 在 Microsoft Visual Studio Premium 2013 Update 3 中进行开发。

最佳答案

我使用这个类,你需要通过 nuget 获得的 Json 包。

 class StorageService : IConfigurationService
{
readonly StorageFolder _local = ApplicationData.Current.LocalFolder;

public async void Save<T>(string key, T obj)
{
var json = JsonConvert.SerializeObject(obj);


var dataFolder = await _local.CreateFolderAsync("DataFolder",
CreationCollisionOption.OpenIfExists);
var file = await dataFolder.CreateFileAsync(key,
CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(file, json);
}

public async Task<T> Load<T>(string key)
{
try
{
var dataFolder = await _local.GetFolderAsync("DataFolder");
var file = await dataFolder.OpenStreamForReadAsync(key);

string json;
using (var streamReader = new StreamReader(file))
{
json = streamReader.ReadToEnd();
}

return JsonConvert.DeserializeObject<T>(json);
}
catch (Exception)
{
return default(T);
}

}


}

关于c# - 保存和加载通用数据 WinPhone8.1 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25605467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com