Windows Phone 7 在独立存储(Isolated Storage)

Windows Phone 7 在独立存储(Isolated Storage)功能方面提供了两种数据存储方法:文件存储(aspx" target=_blank>IsolatedStorageFile)、键/值存储(IsolatedStorageSettings)。通过独立存储我们能够对应用程序数据进行保存,例如:用户设置、程序运行状态等。本篇主要讲解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 中获取相应数据。为保险起见使用TryGetValue<T>(string key, out T value) 获取指定键的值,若键值不存在会返回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;
    }
}
 
 详细实例 http://msdn.microsoft.com/zh-cn/library/system.io.isolatedstorage.isolatedstoragefile(v=VS.95).aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值