zoukankan      html  css  js  c++  java
  • windows phone 独立存储空间的操作 (2)(转)

    windows phone 独立存储空间的操作 (2)

     

    IsolatedStorage独立存储空间是保存应用程序的一些数据已经配置文件,独立存储空间相对于其他的wp程序是独立的,也就是说每个wp程序都会有自己的独立存储空间,每个wp程序相互之间不能访问;

    什么是Isolated Storage?

    Isolated Storage又叫做隔离存储空间,Windows Phone 7手机上用来本地存储数据。下图是一个存储应用的文件夹结构图:

    IC381787

    Isolated Storage用来创建与维护本地存储。WP7上的架构和Windows下的Silverlight类似,所有的读写操作都只限于隔离存储空间并且无法直接访问磁层操作系统的文件系统。这样能够防止非法的访问以及其他应用的破坏,增强安全性。

    提示:如果你有两个应用想要共用一个同一个数据,则没法通过本地存储实现。你可以使用web服务等。

    提示:WP7下的隔离存储空间没有配额的限制。应用应该只保存必要的数据。当Windows Phone只剩下10%的可用空间,用户会收到一个提醒并可能停止当前应用。对用户来讲这是一个很差的用户体验。

    在隔离存储空间下可以进行目录操作、文件操作、应用程序配置信息等。

     什么是Isolated Storage部分参考出处:http://www.cnblogs.com/zdave/archive/2011/05/06/2038924.html

    1. IsolatedStorageFile

      此类表示包含文件和目录的独立存储区

      IsolatedStorageFile isStore = IsolatedStorageFile.GetUserStoreForApplication();
       此类的实例化是得到整个程序的独立存储空间

      属性

      AvailableFreeSpace

      表示独立存储的可用空间量 单位为字节

      Quota

      该值表示独立存储的最大可用空间量 不能超过该值 单位为字节

      方法

      CreateDirectory

      创建目录

      CreateFile

      创建文件

      DirectoryExists

      判断是否存在某个目录,删除目录之前可调用该方法

      DeleteDirectory

      删除创建的目录

      FileExists

      判断是否存在某个文件,删除文件之前可调用该方法

      DeleteFile

      删除传进的文件

      GetDirectoryNames(String)

      得到匹配的目录名称 这里string支持通配符:单字节(“?”)和多字节(“*”)

      GetFileNames(String)

      得到匹配的文件名称 这里string支持通配符:单字节(“?”)和多字节(“*”)

      GetUserStoreForApplication

      获取应用程序级的独立存储空间

      IncreaseQuotaTo

      比较重要的方法,增加独立存储空间空间量,但不可超过Quota

      Remove

      移除独立存储区范围及其所有内容,利用此方法必须先判断文件和目录是否正在使用,如果正在使用会有异常

    2. IsolatedStorageFileStream

      此类是文件流,实现对文件的操作

      IsolatedStorageFileStream isStream = new IsolatedStorageFileStream("test\\TEST.txt", System.IO.FileMode.Open, FileAccess.Read, isStore);
      此实例化类是文件进行操作

      属性

      CanRead

      是否可读 默认为true

      CanSeek

      是否可检索 默认为true

      CanWrite

      是否可写 默认为true

      Name

      文件流写入和读取的路径

      ReadTimeout

      设置的流读取超时时间

      WriteTimeout

      设置的写入流超时时间

      方法

      BeginRead

      在异步的时候用到,开始读取

      EndRead

      在异步的时候用到,读取结束

      BeginWrite

      在异步的时候用到,开始写入

      EndWrite

      在异步的时候用到,写入结束

      Close

      关闭当前流并释放相关资源

      CopyTo(Stream)

      从当前流读取所有字节并写入目标流

      WriteByte

      写入单个字节

      ReadByte

      读取单个字节

      Write

      写入字节块bytes

      Read

      读取文件获得字节块bytes

      SetLength

      限制流的长度

    3.  此类是存储一些配置信息,实例化

       
      复制代码
       var settings = IsolatedStorageSettings.ApplicationSettings;
      //添加内容 
      settings.Add("key"object);
                  //保存
                  settings.Save();
       
       //获取配置信息
                          string value = settings["key"].ToString();
                          //out传参获取值
                          string value;
                          settings.TryGetValue("key"out value);
      复制代码
    4. 初始化界面
      View Code
    5. 删除操作
      View Code
    6. 写入操作
      View Code
    7. 读取操作
      View Code
    8. 读取效果
    作者:神舟龙
        
     

    新建的wp開發者群:42182428 

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
  • 相关阅读:
    A* Pathfinding for Beginners
    OpenGL Draw Mesh
    CentOS6.5下安装、配置SSH
    Ubuntu18.04下搭建LAMP环境
    滚动合集
    关闭页面触发事件
    在table中tr的display:block在firefox下显示布局错乱问题
    sharepoint添加模板及删除模板
    常用正则表达式
    javascript对象的property和prototype是这样一种关系
  • 原文地址:https://www.cnblogs.com/zhanghaifeng/p/2482555.html
Copyright © 2011-2022 走看看