【问题标题】:using local database to save a variable in windows phone 7使用本地数据库在 windows phone 7 中保存变量
【发布时间】:2011-08-05 03:39:49
【问题描述】:

如何在 windows phone 7 中使用本地数据库只保存一个值,然后在每次加载(打开)应用程序时检索该值?

【问题讨论】:

    标签: windows-phone-7 local-database


    【解决方案1】:

    如果您只想存储一个值以供检索,那么我建议使用IsolatedStorage,尤其是ApplicationSettings 类。

    它的用法示例:

    using System.IO.IsolatedStorage;
    
    //storing value
    int someValue = 10;
    IsolatedStorageSettings.ApplicationSettings.Add("MyKey",someValue);
    
    //write or update value
    IsolatedStorageSettings.ApplicationSettings["MyKey"] = someValue;
    
    //write to disk
    IsolatedStorageSettings.ApplicationSettings.Save();
    
    
    //reading value
    if(IsolatedStorageSettings.ApplicationSettings.Contains("MyKey"))
    {
       int readValue = (int) IsolatedStorageSettings.ApplicationSettings["MyKey"];
    }   
    

    Mango 现在提供了 MSSqlCE 支持,但是对于一组值来说,它是矫枉过正的。如果您需要存储关系数据,而不是持久化用户/应用程序设置,则数据库更合适。

    虽然独立存储很好,但读取和写入的成本可能很高。避免从您的 UI 线程中读取 IsolatedStorage,这会导致您的应用看起来没有响应。

    【讨论】:

    • 我不断收到此错误:“值不在预期范围内”,我确实检查过,没有重复值。无论我使用什么键值...
    • @ng_ducnghia 这听起来像是一个新问题。而且几乎肯定会要求您将代码显示给 eb 回答。
    • 我解决了,只需要在 Add() 之前添加 Clear() 函数就可以了:appSettings.Clear();
    • 我不推荐使用 Clear(),因为它会清除整个设置字典。相反,您可以使用 appSettings['mykey'] = value;我已经更新了我的答案以反映这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多