IsolatedStorage独立存储空间是保存应用程序的一些数据已经配置文件,独立存储空间相对于其他的wp程序是独立的,也就是说每个wp程序都会有自己的独立存储空间,每个wp程序相互之间不能访问;
什么是Isolated Storage?
Isolated Storage又叫做隔离存储空间,Windows Phone 7手机上用来本地存储数据。下图是一个存储应用的文件夹结构图:
Isolated Storage用来创建与维护本地存储。WP7上的架构和Windows下的Silverlight类似,所有的读写操作都只限于隔离存储空间并且无法直接访问磁层操作系统的文件系统。这样能够防止非法的访问以及其他应用的破坏,增强安全性。
提示:如果你有两个应用想要共用一个同一个数据,则没法通过本地存储实现。你可以使用web服务等。
提示:WP7下的隔离存储空间没有配额的限制。应用应该只保存必要的数据。当Windows Phone只剩下10%的可用空间,用户会收到一个提醒并可能停止当前应用。对用户来讲这是一个很差的用户体验。
在隔离存储空间下可以进行目录操作、文件操作、应用程序配置信息等。
什么是Isolated Storage部分参考出处:http://www.cnblogs.com/zdave/archive/2011/05/06/2038924.html
-
此类表示包含文件和目录的独立存储区
IsolatedStorageFileisStore=IsolatedStorageFile.GetUserStoreForApplication();
此类的实例化是得到整个程序的独立存储空间
属性
方法
-
此类是文件流,实现对文件的操作
IsolatedStorageFileStreamisStream=newIsolatedStorageFileStream("test\\TEST.txt",System.IO.FileMode.Open,FileAccess.Read,isStore);
此实例化类是文件进行操作
属性
方法
-
此类是存储一些配置信息,实例化
varsettings=IsolatedStorageSettings.ApplicationSettings;
//添加内容
settings.Add("key",object);
//保存
settings.Save();
//获取配置信息
stringvalue=settings["key"].ToString();
//out传参获取值
stringvalue;
settings.TryGetValue("key",outvalue);
-
初始化界面
View
Code
<phone:PhoneApplicationPage
x:Class="IsolatedStorageFileStreamApplication.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"d:DesignWidth="480"d:DesignHeight="768"
FontFamily="{StaticResourcePhoneFontFamilyNormal}"
FontSize="{StaticResourcePhoneFontSizeNormal}"
Foreground="{StaticResourcePhoneForegroundBrush}"
SupportedOrientations="Portrait"Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRootistherootgridwhereallpagecontentisplaced-->
<Gridx:Name="LayoutRoot"Background="Transparent">
<Grid.RowDefinitions>
<RowDefinitionHeight="Auto"/>
<RowDefinitionHeight="*"/>
</Grid.RowDefinitions>
<!--TitlePanelcontainsthenameoftheapplicationandpagetitle-->
<StackPanelx:Name="TitlePanel"Grid.Row="0"Margin="12,17,0,28">
<TextBlockx:Name="ApplicationTitle"Text="MYAPPLICATION"Style="{StaticResourcePhoneTextNormalStyle}"/>
<TextBlockx:Name="PageTitle"Text="pagename"Margin="9,-7,0,0"Style="{StaticResourcePhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel-placeadditionalcontenthere-->
<Gridx:Name="ContentPanel"Grid.Row="1"Margin="12,0,12,0">
<Buttonx:Name="btnWrite"Margin="0,400,300,100"Click="btnWrite_Click"Content="写操作"></Button>
<Buttonx:Name="btnRead"Margin="150,400,150,100"Content="读操作"Click="btnRead_Click"IsEnabled="False"></Button>
<Buttonx:Name="btnDel"Margin="300,400,10,100"Content="删除操作"Click="btnDel_Click"></Button>
<TextBlockx:Name="txtShow"Margin="0,100,0,200"Text="显示读取的资料或者状态"HorizontalAlignment="Center"VerticalAlignment="Center"></TextBlock>
</Grid>
</Grid>
</phone:PhoneApplicationPage>
-
删除操作
View
Code
///<summary>
///删除文件及路径
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
privatevoidbtnDel_Click(objectsender,RoutedEventArgse)
{
IsolatedStorageFileisoStore=IsolatedStorageFile.GetUserStoreForApplication();
//判断是否存在
if(isoStore.FileExists("test\\TEST.txt"))
{
//删除文件
isoStore.DeleteFile("test\\TEST.txt");
//删除目录
isoStore.DeleteDirectory("test");
//完全删除
isoStore.Remove();
//释放资源
isoStore.Dispose();
//配置信息
varsettings=IsolatedStorageSettings.ApplicationSettings;
//清空配置信息
settings.Clear();
}
txtShow.Text="删除完成";
}
-
写入操作
View
Code
///<summary>
///写操作
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
privatevoidbtnWrite_Click(objectsender,RoutedEventArgse)
{
IsolatedStorageFileisoStore=IsolatedStorageFile.GetUserStoreForApplication();
//独立存储空间可用空间量
longavailableSpace=isoStore.AvailableFreeSpace;
//独立存储空间最大可用空间量
longquota=isoStore.Quota;
//独立存储空间的可用量扩充字节为单位
//booldl=isoStore.IncreaseQuotaTo(quota);
//创建目录
isoStore.CreateDirectory("test");
IsolatedStorageFileStreamisoStream=newIsolatedStorageFileStream("test\\TEST.txt",System.IO.FileMode.Create,isoStore);
byteonlyOneByte=101;
isoStream.WriteByte(onlyOneByte);
isoStream.Close();
isoStore.Dispose();
btnRead.IsEnabled=true;
txtShow.Text="写入完成";
//存储配置信息
varsettings=IsolatedStorageSettings.ApplicationSettings;
//添加配置信息
settings.Add("ip","192.168.1.1");
//保存
settings.Save();
}
-
读取操作
-
读取效果
分享到:
相关推荐
本地数据库作为一个文件存储在应用程序的独立存储空间。本次实验使用 Tidy 应用程序来演示在 Windows® Phone应用程序中使用本地数据库。应用程序管理与项目相关的任务。每个任务支持附件以及预定义的数据集,包括...
Windows® Phone Mango提供了一种新的方式来存储...本地数据库作为一个文件存储在应用程序的独立存储空间。本文档使用 Tidy 应用程序来演示在 Windows® Phone应用程序中使用本地数据库。应用程序管理与项目相关的任务
wp独立存储空间案例源码,在Android 里面我们要快速保存用户的设置或者游戏进行的数据,我们通常全使用SharePreference 这个类来进行操作,另外Android 还提供了一系列继承自SharePreference 的组件提供我们快速保存...
代码详解: http://blog.csdn.net/zmq570235977/article/details/20702729
可以查看WP8模拟器或真机的独立存储。这个工具可以不用修改应用代码,直接连接模拟器/真机,读取独立存储空间中的数据。
虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,...
� 良好的盈利模式( 3/7 开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错的利 益 。 将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。 � Android 的源代码遵循 Apache...
高级独立的重放转换工具。 新的学生连接模式 引入新的连接模式,即“用户模式”,使教师能够根据登录的用户名定义要连接的学生列表。为了方便访问该模式和其他连接模式,在最初加载教师端程序和重新开始一个班级时...
另有手机版的Chrome浏览器,于2012年发布了Chrome浏览器移动版,提供IOS系统、安卓系统以及Windows Phone系统的Chrome浏览器,在保持浏览器原有特点的情况下,实现了多终端使用浏览器,具有共享收藏历史信息等功能,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...