Windows Phone笔记(10)使用独立存储(中)
2012-03-12 09:23
309 查看
在我们前面的笔记中了解如何通过使用IsolatedStorageSettings类来保存应用程序设置,也知道独立存储还可以通过使用使用 IsolatedStorageFile类存储文件和文件夹。在这篇笔记中,让我们一起来了解并学会使用IsolatedStorageFile类来存储文件和文件夹。
在示例中我们在文本框中输入文件,点击保存,然后再把保存的文本读取并显示出来。首先给出我们的前台MainPage.xaml的代码:
然后是MainPage.xaml.cs后台处理程序:
编译运行程序:
可以看到我们已经成功创建一个文件夹和txt文件,并且在txt文件中写入了数据。但是我们真的在手机存储开中创建了一个这样的文件吗?微软在Windows Phone中的存储控制是很严格的,我们并不能够直接查看我们在独立存储中创建的文件,不过我们可以通过一个使用Windows Phone SDK自带的:独立存储资源管理器可列出、复制和替换独立存储中的文件和目录,下面我们就将我们的创建的文件复制到我们的电脑中。
2.使用独立存储资源管理器(ISETool.exe)将独立存储中创建的文件复制到电脑中
根据操作系统的不同,独立存储资源管理器的安装位置在:
Program Files\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool
Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool
首先我们打开模拟器,确保我们的前面的应用程序已经部署在模拟器中,并且已经在独立存储中创建了文件,之后,打开命令行,进入到独立存储资源管理器的安装目录中,例如在我的电脑中是:
接着获取应用程序的 Product GUID,因为在下面的命令中我们需要使用到它,在Properties文件夹下的WPAppManifest.xml 文件的 App 元素的 ProductID 属性的值,选中复制。然后在命名行中接着输入:
ISETool.exe ts xd 应用程序的ProductId属性值 "电脑上的路径"
这我这里是这样:
然后回车,命令成功后如下所示:
打开我们复制到的目录我们可以看到已经成功的把创建的文件从Windows Phone中复制到本地:
猛击下载:示例源码
参考资料:
http://msdn.microsoft.com/zh-cn/library/ff626519(v=vs.92).aspx(重要)
http://msdn.microsoft.com/zh-cn/library/hh286408(v=vs.92).aspx
http://msdn.microsoft.com/zh-cn/library/ff769544(v=vs.92).aspx(重要)
作者:晴天猪
出处:http://www.cnblogs.com/IPrograming
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
Windows Phone开发者交流群:79339880,欢迎大家来一起讨论交流,共同学习进步。
1.使用 IsolatedStorageFile类存储文件和文件夹
由于涉及到了I/O操作,我们首先需要在项目中引用到System.IO和IsolatedStorageFile类所在的System.IO.IsolatedStorage这两个命名空间。下面我们通过一个示例来了解如何使用IsolatedStorageFile类来存储文件和文件夹。在示例中我们在文本框中输入文件,点击保存,然后再把保存的文本读取并显示出来。首先给出我们的前台MainPage.xaml的代码:
<!--ContentPanel - 在此处放置其他内容--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <StackPanel> <Grid Margin="0 15" Height="300"> <TextBox Width="450" Height="72" VerticalAlignment="Top" Name="txtWrite"/> <Button Width="200" Height="72" Content="保存数据" VerticalAlignment="Center" Name="btnSave" Click="btnSave_Click"/> </Grid> <Grid Height="350" Margin="0 15"> <TextBlock Width="200" Height="72" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="32" Name="txtRead"/> <Button Width="200" Height="72" Content="读取数据" VerticalAlignment="Center" Name="btnRead" Click="btnRead_Click"/> </Grid> </StackPanel> </Grid>
然后是MainPage.xaml.cs后台处理程序:
/// <summary> /// 将文本框中的文本写入到文件中 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Click(object sender, RoutedEventArgs e) { // 获取应用程序的虚拟存储 IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); // 在独立存储中创建一个新的文件夹 myStore.CreateDirectory("TestFolder"); // 指定文件路径和选项 using (var isoFileStream = new IsolatedStorageFileStream(@"TestFolder\myTestFile.txt", FileMode.OpenOrCreate, myStore)) { //写入数据 using (var isoFileWriter = new StreamWriter(isoFileStream)) { isoFileWriter.WriteLine(txtWrite.Text); } } } /// <summary> 26 /// 读取写入的文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRead_Click(object sender, RoutedEventArgs e) { // 获取应用程序的虚拟存储 IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); try { // 读取指定目录的指定文件 using (var isoFileStream = new IsolatedStorageFileStream(@"TestFolder\myTestFile.txt", FileMode.Open, myStore)) { // 读取数据 using (var isoFileReader = new StreamReader(isoFileStream)) { txtRead.Text = isoFileReader.ReadLine(); } } } catch { //异常处理 txtRead.Text = "请预先创建文件和文件夹"; } }
编译运行程序:
可以看到我们已经成功创建一个文件夹和txt文件,并且在txt文件中写入了数据。但是我们真的在手机存储开中创建了一个这样的文件吗?微软在Windows Phone中的存储控制是很严格的,我们并不能够直接查看我们在独立存储中创建的文件,不过我们可以通过一个使用Windows Phone SDK自带的:独立存储资源管理器可列出、复制和替换独立存储中的文件和目录,下面我们就将我们的创建的文件复制到我们的电脑中。
2.使用独立存储资源管理器(ISETool.exe)将独立存储中创建的文件复制到电脑中
根据操作系统的不同,独立存储资源管理器的安装位置在:Program Files\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool
Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool
首先我们打开模拟器,确保我们的前面的应用程序已经部署在模拟器中,并且已经在独立存储中创建了文件,之后,打开命令行,进入到独立存储资源管理器的安装目录中,例如在我的电脑中是:
接着获取应用程序的 Product GUID,因为在下面的命令中我们需要使用到它,在Properties文件夹下的WPAppManifest.xml 文件的 App 元素的 ProductID 属性的值,选中复制。然后在命名行中接着输入:
ISETool.exe ts xd 应用程序的ProductId属性值 "电脑上的路径"
这我这里是这样:
然后回车,命令成功后如下所示:
打开我们复制到的目录我们可以看到已经成功的把创建的文件从Windows Phone中复制到本地:
猛击下载:示例源码
参考资料:
http://msdn.microsoft.com/zh-cn/library/ff626519(v=vs.92).aspx(重要)
http://msdn.microsoft.com/zh-cn/library/hh286408(v=vs.92).aspx
http://msdn.microsoft.com/zh-cn/library/ff769544(v=vs.92).aspx(重要)
作者:晴天猪
出处:http://www.cnblogs.com/IPrograming
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
Windows Phone开发者交流群:79339880,欢迎大家来一起讨论交流,共同学习进步。
相关文章推荐
- Windows Phone笔记(11)使用独立存储(下)
- Windows Phone笔记(9)使用独立存储(上)
- iOS学习笔记(10)上 CABasicAnimation类使用
- AndEngine学习笔记10-Physics(andengine中使用Box2D的PhysicsWorld介绍)
- 机器学习速成课程笔记10:使用TF的基本步骤
- C++笔记(10)C++箴言:谨慎使用多继承
- android应用开发揭秘examples_04-10笔记(AutoCompleteTextView和MultiAutoCompleteTextView使用)
- 张高兴的 Windows 10 IoT 开发笔记:使用 MAX7219 驱动数码管
- 使用winHex对RDB和AOF原理进行剖析笔记(10)
- .Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用
- Cocos2d-X 学习笔记 10 解决汉字乱码,win32工程中使用iconv配置方法
- 【郝斌数据结构自学笔记】10-11_跨函数使用内存讲解及其示例
- iOS 10 UserNotifications使用笔记
- python学习笔记10(函数一): 函数使用、调用、返回值
- 深度学习Caffe实战笔记(10)Windows Caffe使用MATLAB接口提取和可视化特征
- iOS学习笔记10—UILabel设置自动使用高和换行
- ember.js:使用笔记10 常用方法
- Windows Phone开发笔记1:基础使用
- 【python学习笔记】10:Beautiful Soup模块的使用
- python学习笔记10(函数一): 函数使用、调用、返回值