我写了一个简单的wp7应用程序。我正在使用WCF服务与数据库进行交互。现在我想在移动设备上存储用户信息的一部分。这个信息需要在整个wp7应用程序中都可以访问。
我找到了多种方法来做到这一点,如:隔离存储,资源文件或静态数据在app.xaml
哪个更合适?因为我可能希望将来编辑这些数据…我可能不会选择打包的文件,因为它们是只读的。也不希望在隔离存储中存储数据而丢失数据。
请建议最适合我的方案
Thanks in advance
宾度
听起来你想在使用应用程序之间存储下载的数据。在这种情况下,隔离存储可能是你最好的选择。它会保存在手机的非易失性存储器中,你不会丢失它。
细节
app.xaml中的资源文件和静态数据将不适合您,因为您希望能够在以后更改这些项,因为它们将是只读的。
我不知道你指的是什么,当你说"丢失数据"通过存储在IsolatedStorage。这是你最好的选择,而且实际上很容易做到。下面是保存一个简单布尔值的例子:
private void SaveSettings()
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
settings["VibrationOn"] = VibrationOn;
}
然后加载:
private void LoadSettings()
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
bool vo;
if (settings.TryGetValue<bool>("VibrationOn", out vo))
VibrationOn = vo;
else
VibrationOn = true;
}
您将在Application_Launching
和Application_Activated
事件中调用LoadSettings()
方法,然后在App.xaml.cs中的Application_Deactivated
和Application_Closing
事件中调用SaveSettings()
方法。
你也可以序列化对象或者写整个文件