2014-01-13 152 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