我正在處理UWP應用程序,用戶可以輸入列表視圖中的數據。一切都很好,但如何將用戶數據保存到單獨的文件中,並在用戶下次啓動應用程序時加載它?我試着找到一個解決方案,但是我很難理解這些代碼片段以及如何應用這些(因爲我對C#和App開發相當陌生)。有人願意解釋我如何實現數據的保存/加載並解釋代碼的作用?保存,加載和操作(列表視圖)數據C#
在此先感謝! :)
我正在處理UWP應用程序,用戶可以輸入列表視圖中的數據。一切都很好,但如何將用戶數據保存到單獨的文件中,並在用戶下次啓動應用程序時加載它?我試着找到一個解決方案,但是我很難理解這些代碼片段以及如何應用這些(因爲我對C#和App開發相當陌生)。有人願意解釋我如何實現數據的保存/加載並解釋代碼的作用?保存,加載和操作(列表視圖)數據C#
在此先感謝! :)
您可以創建這樣一個文件:
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;
如果我深知,你有一些類型的對象結構作爲ListView的模型。當應用程序啓動時,您想要讀取存在數據的文件。在關閉應用程序(或其他事件)時,在修改完成後寫入文件。對?
1)當您的應用程序被加載/關閉時(或在修改或選擇某個事件時),使用Windows.Storage API將文本讀/寫到文件中。
2)如果你想要寫入的數據只是一個字符串的監聽器,你可以將它保存在文件中。如果它更復雜,我會推薦以JSON格式對其進行序列化。使用JSON.NET可以序列化(對象 - >字符串)和反序列化(對象< - 字符串)文件和對象結構的內容。
Product product = new Product();
product.Name = "Apple";
...
string json = JsonConvert.SerializeObject(product);
序列化是你所尋求的東西 –
https://msdn.microsoft.com/en-IN/library/ms233843.aspx –
[這個蘇答案(http://stackoverflow.com/questions/4123590/serialize-an-object-to-xml)可以幫助你更快。 – tomab