如何在Windows Phone 7中的隔离存储中存储数据

时间:2014-02-04 12:48:49

标签: c# windows-phone-7

我正在为Windows Phone 7构建一个应用程序。
我正在使用来自Web服务的数据,我希望将其保存在隔离存储中,以便下次查看数据时,即使在离线状态下也会显示数据。

我的cs文件是:

public about()
{
    InitializeComponent();

    KejriwalService.aapSoapClient myclient = new KejriwalService.aapSoapClient();
    myclient.getarvindAboutCompleted += new EventHandler<KejriwalService.getarvindAboutCompletedEventArgs>(myclient_getarvindAboutCompleted);
    myclient.getarvindAboutAsync();        
}

void myclient_getarvindAboutCompleted(object sender, KejriwalService.getarvindAboutCompletedEventArgs e)
{
    var data = e.Result;

    XElement xml = XElement.Parse(data);

    aboutview.Text = xml.Elements("UserDetails").Elements("about_details").First().Value;
}

3 个答案:

答案 0 :(得分:0)

存储数据的最简单方法之一是将它们存储在IsolatedStorageSettings中。您可以为此目的创建一个属性:

        string PropertyName
        {
            get
            {
                var settings = System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings;
                if (settings.Contains("valueKeyName"))
                    return (string)settings["valueKeyName"];
                else
                    return null;
            }
            set
            {
                var settings = System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings;
                if (settings.Contains("valueKeyName"))
                    settings["valueKeyName"] = value;
                else
                    settings.Add("valueKeyName", value);
            }
        }

IsolatedStorageSettings在字典中存储键对值。您只需选择存储值的键名和属性名称。

答案 1 :(得分:0)

在IsolatedStorageSettings的帮助下,您可以像键值一样保存数据:

 var Iso_settings = System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings;   
if (!Iso_settings.Contains("yourDataKey"))
    {
      Iso_settings.Add("yourDataKey", yourDataValue);
      Iso_settings.Save()//This will save your data in isolated storage.
    }

答案 2 :(得分:0)

如果你不想离线数据并存储数据,不要去Sqlite两个最好的方法是使用独立存储并使用linq所以如果你只有1-2个数据成员,你必须更改那里的值然后您可以使用独立存储,否则,如果您有2-3列和行以表格形式存储数据,则可以使用linq 隔离存储使用如下:

try
{
    if (IsolatedStorageSettings.ApplicationSettings.Contains("email_id"))
    {
        IsolatedStorageSettings.ApplicationSettings["email_id"] = emailid;
        IsolatedStorageSettings.ApplicationSettings["password"] = password;
        IsolatedStorageSettings.ApplicationSettings.Save();
    }
    else
    {
        IsolatedStorageSettings.ApplicationSettings.Add("email_id", emailid);
        IsolatedStorageSettings.ApplicationSettings.Add("password", password);
        IsolatedStorageSettings.ApplicationSettings.Save();
    }
}
catch (Exception ex)
{
    Console.WriteLine(ex.InnerException);
}

对于linq http://www.codeproject.com/Articles/43025/A-LINQ-Tutorial-Mapping-Tables-to-Objects,请转到该链接。