Windows phone 7 如何在wp7中管理xml文件中的数据?

Windows phone 7 如何在wp7中管理xml文件中的数据?,windows-phone-7,silverlight-4.0,file,Windows Phone 7,Silverlight 4.0,File,我已经编写了一个简单的wp7应用程序。我正在使用wcf服务与数据库交互。现在我想在手机中存储用户信息的一部分。此信息需要通过wp7应用程序访问 我找到了多种方法来实现这一点:隔离存储、资源文件或app.xaml中的静态数据 哪一个更合适?由于我可能希望在将来编辑数据…我可能不会选择打包文件,因为它们是只读的。也不希望由于存储在隔离存储器中而丢失数据 请为我推荐最合适的选择 提前谢谢 Bindu听起来你想在不同的应用之间存储下载的数据。在这种情况下,隔离存储可能是最好的选择。它将保留在手机的非易失

我已经编写了一个简单的wp7应用程序。我正在使用wcf服务与数据库交互。现在我想在手机中存储用户信息的一部分。此信息需要通过wp7应用程序访问

我找到了多种方法来实现这一点:隔离存储、资源文件或app.xaml中的静态数据

哪一个更合适?由于我可能希望在将来编辑数据…我可能不会选择打包文件,因为它们是只读的。也不希望由于存储在隔离存储器中而丢失数据

请为我推荐最合适的选择

提前谢谢


Bindu

听起来你想在不同的应用之间存储下载的数据。在这种情况下,隔离存储可能是最好的选择。它将保留在手机的非易失性存储器中,您不会丢失它


详细信息

app.xaml中的资源文件和静态数据不适用于您,因为您希望能够在以后更改这些项目,因为它们将是只读的

我不知道你说的“丢失数据”是指存储在隔离存储中。这是你最好的选择,实际上很容易做到。以下是保存简单布尔值的示例:

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;
}
private void LoadSettings()
{
IsolatedStorageSettings设置=IsolatedStorageSettings.ApplicationSettings;
布尔沃;
if(设置TryGetValue(“振动ON”,输出vo))
振动n=vo;
其他的
振动n=真;
}
您可以在App.xaml.cs中的
应用程序启动
应用程序激活
事件中调用
加载设置()
方法,然后在
应用程序停用
应用程序关闭
事件中调用
保存设置()


您还可以序列化对象或写入整个文件。

嘿,谢谢您的回答,但我在某处读到,当我们将一些数据存储到手机的独立存储中时,每次启动模拟器时,这些数据都会被销毁或重新写入文件中!这是真的吗?此外,我希望将用户输入的数据存储到一个类似于我作为应用程序一部分创建的页面的表单中。每次关闭仿真器时,隔离存储都会重新启动,即清除,但这不会发生在手机上。这是在应用程序未运行时在手机上存储数据的唯一方法。您好,谢谢您的回答。我在某个地方读到,隔离存储文件将存储在应用程序的标题中,每次启动模拟器时,该文件都将被重新写入。所以我提到了“使用隔离存储丢失数据”。我想知道这在多大程度上是正确的,以及避免这种情况的任何方法situations@Bindu请参阅@SteveChadbourne的评论。隔离存储的清除仅在模拟器上有效,并且仅在关闭它时有效(而不仅仅是重新运行应用程序)。在手机上,您的数据只有在您这样做或卸载应用程序时才会被删除。至于每次应用程序启动时重写文件,这取决于您的代码。在写入文件之前,您需要验证该文件是否不存在,否则,您将覆盖它。