本文是WP7学习札记的第十篇,内容是WP7应用程序的独立存储,重点内容是独立存储文件的读写以及程序配置的读写,并简要介绍了配额管理以及WP7应用程序对本地数据库的支持。 WP7禁止应用访问用户手机中的文件(和Silverlight相关概念相同~),如果应用有将一些数据写入文件,然后再把文件读出来的需求,可以使用隔离存储空间(独立存储空间、IsolatedStorage)。 隔离存取空间是WP7为每个应用程序分配一块独立的存储空间,不同应用程序(WP7每一个程序都有唯一的一个Guid标识)的存储空间是隔离的,应用程序分配的空间在程序退出后仍然会保存。但是要注意用户可以手动清理独立存储(Advanced Explorer等工具查看),因此不要把重要数据放到独立存储中。 主要的内容是独立存储空间目录、文件的操作与文件的读写以及应用程序配置的读写,最后讲述了WP7对本地数据库的支持,这个是需要注意的地方,SQL CE暂时不提供给第三方使用。。。

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

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

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

android11存储隔离 安卓存储空间隔离_存储空间

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

android11存储隔离 安卓存储空间隔离_存储空间_02

android11存储隔离 安卓存储空间隔离_应用程序_03

android11存储隔离 安卓存储空间隔离_应用程序_04

android11存储隔离 安卓存储空间隔离_存储空间_05

android11存储隔离 安卓存储空间隔离_WP7_06

android11存储隔离 安卓存储空间隔离_WP7_07

android11存储隔离 安卓存储空间隔离_存储空间_08

独立存储空间文件读写和配置信息的读写是重点~

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

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 ;
            }
        }

    下面简单介绍下配额管理

android11存储隔离 安卓存储空间隔离_存储空间_09

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

android11存储隔离 安卓存储空间隔离_android11存储隔离_10

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