如何管理Isolated Storage中的数据 - [Windows Phone开发]
关于隔离存储,我想大家都应该比较熟悉,下图就是使用Isolated Storage的三种方式:
- IsolatedStorageSettings
- IsolatedStorageFile
- DataContext,即数据库保存数据
如何存储数据将略过不讲,这里主要总结下如何在Windows Phone编程中管理隔离存储空间中的数据。首先介绍官方的管理工具- [Isolated Storage Explorer Tool ],ISETool是一个基于命令行的管理工具(比较简陋与繁琐,所以这里只是简单的介绍,后面将介绍第三方的管理工具),包含在Windows Phone SDK中,可以使用ISETool查看,复制或者替换文件。我们可以通过这个工具来检验数据存放的位置及文件命名等是否正确。
Isolated Storage Explorer Tool用法:
1、首先确保应用程序已经安装在模拟器或者物理设备上,并且模拟器与物理设备处于运行状态,该应用程序不需要处于运行状态;
2、运行C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool\ISETool.exe
Isolated Storage Explorer Tool的语法规则如下:
ISETool.exe <ts|rs|dir[:device-folder]> <xd|de> <Product GUID> [<desktop-path>]
关于这些语法规则中的参数可以查看MSDN中说明,下面简单的介绍下用法,我们要罗列隔离存储中的文件:
- 部署应用程序到模拟器或者物理设备中;
- 在隔离存储中创建文件夹或者文件;
- 在WPAppManifest.xml文件中获取到产品GUID;
- 在命令行窗口进入到ISEtool.exe的文件夹内;
- 输入查询命令,结果如下图所示
其它的操作命令与此相似。
可以看到官方的ISEtool比较麻烦,并且不直观,幸好我们可以通过第三方的可视化工具去查询管理隔离存储中的数据,主要有以下三个工具:
- Windows Phone Power Tools
- Windows Phone IsoStoreSpy
- WP7 Isolated Storage Explorer
首先介绍Windows Phone Power Tools
这是一个很不错的工具,对于开发调试Windows Phone程序非常有用。
下载地址:http://wptools.codeplex.com/
功能描述:
a) 安装部署或者更新XAP文件,这样就可以在模拟器上运行一些应用程序;
b) 查看系统中部署的XAP文件,卸载或者启动该程序;
c) File Browser:可以查看Isolated Storage中所有的文件,包括Isolated Storage Settings和Files
在这里我们主要是使用到其中的File Browser功能,如下图,我们可以很方便直观的查看模拟器或者物理设备的隔离存储中的数据。每个应用程序的隔离存储空间内都有一个Shared的目录,在根目录内也有,下面将说明这些目录的作用。
Shared目录下面一般有三个子目录:Media、ShellContent以及Transfers。Media目录可以放置一些音频文件,例如可以和Music and Videos Hub交互后台播放音乐等;ShellContent跟Application Tiles有关,而Transfers目录跟后台代理服务数据存储有关,例如后台下载文件等等。
通过Windows Phone Power Tools,我们可以查看每个应用程序隔离存储中的数据,传送数据到隔离存储中,或者从隔离存储中复制数据到本地,操作非常方便。
接下来介绍Windows Phone IsoStoreSpy。
下载地址:http://isostorespy.codeplex.com/
功能描述:基本功能与Windows Phone Power Tools非常相似,但比Windows Phone Power Tools更为强大,功能也多一些,例如可以定制铃声,可以直接查看图片,视频,但强大的是可以查看数据库信息,这在开发数据库相关的应用时非常的有用。
如下图,可以查看数据库信息,并执行SQL语句。
最后介绍一下WP7 Isolated Explorer。
下载地址:http://wp7explorer.codeplex.com/
功能描述:主要是查看隔离存储空间的数据,有点特别的地方地于与Visual Studio的整合,如下图。
这个工具的操作还是麻烦了些,推荐使用IsoStoreSpy这个工具来进行辅助开发。
接下来再补充一下多个线程请求资源时如何通过信号量来保证数据的一致性问题。
@:卿之 → http://www.cnblogs.com/wpdev
©:博文是本人当时的学习笔记及知识整理,由于自身局限错误在所难免,敬请斧正.
©:本文版权属于博客园和本人,版权基于署名 2.5 中国大陆许可协议发布,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接和署名卿之(包含链接),不得删节,否则保留追究法律责任的权利。