2014-01-13 151 views
1

我正在開發一個應用程序,用於存儲用戶添加的某些收藏夾信息。我想爲每個收藏存儲兩條信息 - 一個數字和一段文字。所以它會是這樣的:在Windows手機上存儲數據

123 Some text 
1234 Some more text 
1233 More text 

等等。

該號碼是唯一的,所以它應該很好用作密鑰,我需要將這個號碼分開存儲以便用它來查詢一些數據。

在Windows Phone上存儲此數據的最佳方式是什麼?我一直在尋找IsolatedStorage,特別是ApplicationSettings,但我認爲它一次只能存儲一條信息?至少當我添加一些收藏夾信息時,原始值會被新值覆蓋。

我是否需要使用某種數據庫將此信息存儲在IsolatedStorage中?我無法想象數據量會很大。我希望用戶最多隻能添加一些收藏夾。

在Windows Phone上存儲一些採用鍵和值形式的數據的最佳方法是什麼?一旦用戶添加了他們的收藏夾信息,它將需要在應用程序加載時自動存儲和加載。

+0

您可以使用某些數據庫實現,如[SterlingDB](http://sterling.codeplex.com/)或[LexDB](http://lexblog.azurewebsites.net/intro-to-lex-db/)。包含在您的項目中並使用它們的API非常簡單。或者,如果你不想要數據庫,你可以序列化你的對象,並將它們保存在ApplicationSettings或ApplicationData中,你可以使用同一個鍵訪問,然後反序列化以供使用。 –

回答

2

一個非常簡單的解決方案是使用IsolatedStorageSettings。這些設置是一個值的字典。您訪問的設置像這樣

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; 

bool useLocation; 
if (settings.TryGetValue("UseLocation", out useLocation) == false) 
{ 
    // provide a default value if the key does not exist 
    useLocation = true; 
} 

然後,您可以保存設置,如這樣

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; 

settings["UseLocation"] = value; 
settings.Save(); 

更妙的是創造一個很好的設置類照顧所有這一切爲您服務。這裏是a nice blog發表詳細說明如何做到這一點。

+0

謝謝,但我不確定這適用於我需要的。我希望能夠存儲一個密鑰和一個值。所以基本上每個「記錄」都是一個關鍵/整數和一些文本,如電話號碼和姓名。 – irldev

+0

然後,只需將這些設置存儲在設置中:settings [「555-555-1234」] =「John Doe」; settings.Save(); –

+0

謝謝。如何在頁面加載時迭代此操作? – irldev