隔离存取空间IsolatedStorage【WP7学习札记之十】

      WP7禁止应用访问用户手机中的文件(和Silverlight相关概念相同~),如果应用有将一些数据写入文件,然后再把文件读出来的需求,可以使用隔离存储空间(独立存储空间、IsolatedStorage)。

      隔离存取空间是WP7为每个应用程序分配一块独立的存储空间,不同应用程序(WP7每一个程序都有唯一的一个Guid标识)的存储空间是隔离的,应用程序分配的空间在程序退出后仍然会保存。但是要注意用户可以手动清理独立存储(Advanced Explorer等工具查看),因此不要把重要数据放到独立存储中。

     本节要讲的内容摘要如下:

     这是微软对于隔离存储空间的描述:

      以上对于独立存储空间文件读写配置信息的读写是重点~

有必要附上范例代码,首先是读写文件:

private void button1_Click(object sender, RoutedEventArgs e)
{
//获取应用的独立存储空间
using (IsolatedStorageFile file= IsolatedStorageFile.GetUserStoreForApplication())
{
//打开文件
using (IsolatedStorageFileStream fileStream = file.OpenFile(FileName, FileMode.OpenOrCreate , System.IO.FileAccess.ReadWrite))
{
//写文件
StreamWriter streamWriter = new StreamWriter(fileStream);
streamWriter.WriteLine(MsgTxtBox.Text);
streamWriter.Close();
MessageBox.Show("写入成功");
}
}
}
       private void button2_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream fileStream = file.OpenFile(FileName, FileMode.OpenOrCreate , System.IO.FileAccess.ReadWrite))
{
StreamReader streamReader = new StreamReader(fileStream);
MsgTxtBox.Text = streamReader.ReadToEnd() as string;
streamReader.Close();
MessageBox.Show("读出成功");
}
}
}

然后是,独立存储空间读写应用程序配置:

        private void button3_Click(object sender, RoutedEventArgs e)
{
IsolatedStorageSettings.ApplicationSettings["Setting1"] = SettingTxtBox.Text;
IsolatedStorageSettings.ApplicationSettings.Save();
}

private void button4_Click(object sender, RoutedEventArgs e)
{
if (IsolatedStorageSettings.ApplicationSettings.Contains("Setting1"))
{
SettingTxtBox.Text = IsolatedStorageSettings.ApplicationSettings["Setting1"] as string ;
}
}

    下面简单介绍下配额管理

本地数据库的支持,这个是需要注意的地方,SQL CE暂时不提供给第三方使用~

结束语:本文是WP7学习札记的第十篇,内容是WP7应用程序的独立存储,重点内容是独立存储文件的读写以及程序配置的读写,并简要介绍了配额管理以及WP7应用程序对本地数据库的支持。希望对给位博友有帮助,祝大家开心,共同进步~

posted @ 2012-03-08 20:55  DebugLZQ  阅读(665)  评论(0编辑  收藏  举报