2015-10-06 60 views
0

我正在處理UWP應用程序,用戶可以輸入列表視圖中的數據。一切都很好,但如何將用戶數據保存到單獨的文件中,並在用戶下次啓動應用程序時加載它?我試着找到一個解決方案,但是我很難理解這些代碼片段以及如何應用這些(因爲我對C#和App開發相當陌生)。有人願意解釋我如何實現數據的保存/加載並解釋代碼的作用?保存,加載和操作(列表視圖)數據C#

在此先感謝! :)

+2

序列化是你所尋求的東西 –

+0

https://msdn.microsoft.com/en-IN/library/ms233843.aspx –

+0

[這個蘇答案(http://stackoverflow.com/questions/4123590/serialize-an-object-to-xml)可以幫助你更快。 – tomab

回答

0

您可以創建這樣一個文件:

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; 
0

如果我深知,你有一些類型的對象結構作爲ListView的模型。當應用程序啓動時,您想要讀取存在數據的文件。在關閉應用程序(或其他事件)時,在修改完成後寫入文件。對?

1)當您的應用程序被加載/關閉時(或在修改或選擇某個事件時),使用Windows.Storage API將文本讀/寫到文件中。

2)如果你想要寫入的數據只是一個字符串的監聽器,你可以將它保存在文件中。如果它更復雜,我會推薦以JSON格式對其進行序列化。使用JSON.NET可以序列化(對象 - >字符串)和反序列化(對象< - 字符串)文件和對象結構的內容。

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