当前位置:编程学习 > wap >>

WP7的独立存储--kk小结


WP7--独立存储:
1> 什么是独立存储?
     任何安装在Windows Phone 7中的程序都可以访问自身的永久磁盘存储区域,该区域称为独立存储。此种存储方式将提供一个磁盘存储空间,他是一种虚拟的文件系统,能存储小量的数据;在默认的情况下,它只能存储1MB的文件;用户可能根据自己的要求可以对空间的大小进行合理的分配。其数据本身还是存储在本地文件系统中的,但是其实际对于应用程序是透明的,应用程序只能够访问当前用户在当前应用程序域的文件及文件夹。
     如下图所示,每个应用程序将在独立存储中被分配一个独立的存储空间,称为应用程序数据存储文件夹,即该应用的独立存储根目录。应用程序可以调用独立存储API在该目录下存储数据,根据使用方式及功能的不同,独立存储空间又包含两部分(独立设置存储和独立文件存储)。

 \
<——  应用程序独立存储空间逻辑结构 (此图源自MSDN)

2> 设置和文件
     WP7没有本地数据库API可以利用,提供的有XML、独立存储和云存储。Isolated Storage(独立存储)有两种方式在本地存储你的数据,第一是通过库中的键/值对,叫做IsolatedStorageSettings(独立设置存储),第二是通过创建真实的文件和目录,叫做IsolatedStorageFile(独立文件存储)。
  2.1>  IsolatedStorageSettings(独立设置存储)
        IsolatedStorageSettings是支持保存应用程序存储区或网站存储中的键/值对的字典集合,它自动负责序列化对象,并将其保存在独立存储中。(已序列化的对象将保存到名为_LocalSettings的独立存储中的文件中。)它以键/值对方式提供一种快速数据访问方式,主要用于存储一些应用设置信息。对外表现为一个键值对集合,可以使用兼职对集合的语法来进行操作。     
       命名空间为:System.IO.IsolatedStorage;主要涉及System.IO.IsolatedStorage.IsolatedStorageSettings类。
  2.1.1>   
        //创建操作独立设置存储必须的IsolatedStorageSettings类的对象
             IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
        //添加一个键值对
             settings.Add(key,value);   
              或 根据key来获取相对应的value
             settings[key]=value;
              if(settings.Contains(key))
               {
                   string value = settings[key].ToString();
               }
        //读取键值对
             string kk = (string)settings["kk"];
        //修改键值对
             settings["kk"] = value;
        //判断该键是否存在
             string isExist = settings.Contains("kk");
        //移除
             settings.Remove("kk");
        //清除
             settings.Clear();
        //保存
             settings.Save();
2.1.2>  以下用一个例子来说明:(源自WP7完美开发征程)     WP7主界面如下图 App1 所示:
  View Code
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Net;
 5 using System.Windows;
 6 using System.Windows.Controls;
 7 using System.Windows.Documents;
 8 using System.Windows.Input;
 9 using System.Windows.Media;
10 using System.Windows.Media.Animation;
11 using System.Windows.Shapes;
12 using Microsoft.Phone.Controls;
13
14 using System.IO.IsolatedStorage;
15 namespace IsolatedStorageSettings
16 {
17     public partial class MainPage : PhoneApplicationPage
18     {
19         //创建操作独立设置存储必须的IsolatedStorageSettings类的对象
20         IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
21         // 构造函数
22         public MainPage()
23         {
24             InitializeComponent();
25         }
26         //为4个按钮添加ChangeSettins事件处理程序
27         private void ChangeSettings(object sender, RoutedEvent e)
28         {
29             string key = txbKey.Text.Trim();
30             string value = txbValue.Text;
31          
32             //表示按钮控件
33           Button ClickedButton = sender as Button;
34            
35             switch (ClickedButton.Name)
36             {
37                 //添加
38                 case "btn_Add": settings.Add(key, value); break;
39                 //修改
40                 case "btn_Update": settings[key] = value; break;
41                 //移除指定键值对
42                 case "btn_Remove": settings.Remove(key); break;
43                 //清除
44                 case "btn_Clear": settings.Clear(); break;
45             }
46
47             //保存
48             settings.Save();
49        &nb

补充:移动开发 , Windows Phone ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,