windows phone开发学习2:数据存储总结
独立存储:不知道具体的存储位置,只是API提供的一个虚拟的文件系统和可以访问这个虚拟文件系统的数据流对象,从而达到隔离性和安全性;
IsolatedStorageSettings:独立存储设置,存储键值对,程序设置,状态等信息的存储适合使用
IsolatedStorageFile:独立存储文件,存储真实文件(xml,txt等),存储数据量较大
使用:
IsolatedStorageSettings:
1、创建一个IsolatedStorageSettings的实例并初始化IsolatedStorageSettings appsettings = IsolatedStorageSettings . ApplicationSettings;
2、判断是否包含键值对:appsettings.Contains(key)
3、如果未包含添加:appsettings.Add(key , value); 包含则更改:appsettings[key]=text
4、保存 :appsettings.Save();
5、删除 :appsettings.Remove();
IsolatedStorageFile:
1、打开手机的独立存储:IsolatedStorageFile file = IsolatedStorageFile.GetUserS...();可以创建目录以及文件等。
2、创建独立存储文件流:IsolatedStorageFileStream location = new ...(string+”.item”,FileMode.Create,storage);
3、读写该文件流:转化为可写流StreamWriter file = new ...(location);或转化为可读流 StreamReader reader = new StreamReader(location);或转化为解析流 _xml = XElement.Parse(file.ReadtoEnd())
DataContext
DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。DataContext提供了以下一些使用的功能:
· 以日志形式记录DataContext生成的SQL
· 执行SQL(包括查询和更新语句)
· 创建和删除数据库
DataContext是实体和数据库之间的桥梁,那么首先我们需要定义映射到数据表的实体
定义一个实体类,也就是数据表
数据库SQL CE:
1、创建数据表:需要继承自INotifyChanged和INotifyChanging来监控表数据的变化
a) [Table]声明,定义类继承INotifyChanged和INotifyChanging
b) 定义字段:private int id;
c) 设置字段属性[Column(-----字段的属性)]
d) 设置为public属性便于访问,public int Id{ 属性更改通知 }
e) 属性更改通知方法
2、创建数据库的DataContext
a) 定义一个类继承自DataContext;ClassDataContext
b) 定义数据库链接字符串DBConnectionString,并传递连接字符串到DataContext基类,定义一个信息表
c) 定义与页面的数据绑定的集合类:ClassCollection;定义一个集合来绑定页面数据ObservaCollection<Table>
d) 在程序启动或运行过程中创建数据库:App.xaml.cs中;ClassDataContext db = new ClassDataContext(ClassDataContext.DBConnectionString); db.CreateDatabase();
3、创建DataContext实例用于独立操作的数据库以及一个ClassCollection,然后进行一系列操作