【问题标题】:Saving, loading and manipulating (listview) data C#保存、加载和操作(列表视图)数据 C#
【发布时间】:2015-10-06 22:03:30
【问题描述】:

我正在开发一个 UWP 应用程序,用户可以在其中输入放置在列表视图中的数据。一切都很好,但我如何将用户数据保存到单独的文件并在用户下次启动应用程序时加载它?

我试图找到一个解决方案,但我很难理解这些代码 sn-ps 以及如何应用这些代码(因为我对 C# 和应用程序开发还很陌生)。有人想解释一下我如何实现数据的保存/加载并解释代码的作用吗?

提前致谢! :)

【问题讨论】:

标签: c# .net uwp


【解决方案1】:

你可以像这样创建一个文件:

  StorageFile ageFile = await local.CreateFileAsync("Age.txt", CreationCollisionOption.FailIfExists);

我可以像这样读写文件:

StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder; 
var ageFile = await local.OpenStreamForReadAsync(@"Age.txt"); 
// Read the data. 
using (StreamReader streamReader = new StreamReader(ageFile)) 
{
      //Use like a normal streamReader
}

if you are trying to write, use OpenStreamForWriteAsync;

【讨论】:

    【解决方案2】:

    如果我理解得很好,你有某种对象结构可以作为你的 ListView 的模型。当应用程序启动时,您想要读取数据所在的文件。关闭应用程序(或其他一些事件)时,写入完成更改的文件。对吧?

    1) 当您的应用程序被加载/关闭时(或在修改或您选择的某些事件时),使用 Windows.Storage API 将文本读/写到文件中。

    2) 如果您要写入的数据只是一个字符串列表,您可以将其保存在文件中。如果它更复杂,我建议将其序列化为 JSON 格式。使用JSON.NET 序列化(object -> string)和反序列化(object

    Product product = new Product();
    product.Name = "Apple";
    ...
    string json = JsonConvert.SerializeObject(product);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多