当前位置: 移动技术网 > 移动技术>移动开发>WP > WP7 应用数据存储IsolatedStorage 篇

WP7 应用数据存储IsolatedStorage 篇

2018年10月15日  | 移动技术网移动技术  | 我要评论
windows phone 7 在独立存储(isolated storage)功能方面提供了两种数据存储方法:文件存储(x" target=_blank>isolatedstoragefile)、键/值存储()。通过独立存储我们能够对应用程序数据进行保存,例如:用户设置、程序运行状态等。本篇主要讲解isolatedstoragesettings 使用方法。

     isolatedstoragesettings 实际上是提供了一个dictionary<tkey, tvalue> 泛型类,通过键值tkey 与数值tvalue 的映射将应用程序的数据存储起来。首先在程序中通过isolatedstoragesettings 类创建一个全局settings,同时再定义一个整型变量以便后续测试。

isolatedstoragesettings settings = isolatedstoragesettings.applicationsettings;
int testint = 10;

添加两个按键:一个用来为testint 执行“+1”操作,另一个用来显示当前testint 的值。

private void addbtn_click(object sender, routedeventargs e)
{
    testint++;
}

private void showbtn_click(object sender, routedeventargs e)
{
    messagebox.show(testint.tostring());
}

     接下来再添加一个save 按键,用于保存testint 数值和textbox 数值。先使用contains(string key) 方法检查当前是否存在“textbox”键值,如果没有则使用add(string key, object value) 方法添加该键值,键对应的数值类型可按开发需要自行定义,本例中则使用了string 和int 两种类型。

private void savebtn_click(object sender, routedeventargs e)
{
    
    if (!settings.contains("textbox"))
    {
        settings.add("textbox", textbox.text);
    }
    else
    {
        settings["textbox"] = textbox.text;
    }

    if (!settings.contains("integer"))
    {
        settings.add("integer", testint);
    }
    else
    {
        settings["integer"] = testint;
    }
}

     当每次重新启动程序时,可以直接从settings 中获取相应数据。为保险起见使用 获取指定键的值,若键值不存在会返回false。

public mainpage()
{
    initializecomponent();

    string textval;
    if (settings.trygetvalue<string>("textbox", out textval))
    {
        textbox.text = textval;
    }
    else
    {
        textbox.text = "no text";
    }

    int intval;
    if (settings.trygetvalue<int>("integer", out intval))
    {
        testint = intval;
    }
    else
    {
        testint = 10;
    }
}

附上xaml 代码:

<textbox x:name="textbox" width="460" height="72" />
<button x:name="addbtn" content="add" width="160" height="72" 
        click="addbtn_click"/>
<button x:name="showbtn" content="show" width="160" height="72"
        click="showbtn_click"/>
<button x:name="savebtn" content="save" width="160" height="72"
        click="savebtn_click"/>

测试运行

如果不进行保存,每次启动textbox 都会显示“no text”,testint 数值为10。

nosave nosave2

点击“save”后,退出程序重新进入,修改的内容便会保存下来。

save save2

相关资料

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网