Windows Phone 7 开发 31 日谈——第15日:独立存储

By Jeff Blankenburg

本文是Windows Phone 7 开发 31 日谈” 系列的第15日。

昨天,我们讨论了程序中的墓碑机制从而让程序看起来是可以在后台运行的。今天,我们来谈谈在电话中存储本地数据的一种非常棒的方法。使用独立存储。

什么是独立存储?

独立存储不是一个新概念。在Silverlight 2中已经在使用了。本质上说这是一种在本地文件系统中存储数据或文件的方式。“独立(isolated)”是因为只有你的程序才可以访问这些数据。如果你有两个应用程序,同时你想在它们之间共享数据的话,最好使用一些类似基于云的可以让你共享数据的服务。一个应用程序不能共享,调用设备上其他的应用程序或与之进行交互。

设置和文件

有两种方式在本地存储你的数据。第一是通过库中的键/值对,叫做IsolatedStorageSettings。第二是通过创建真实的文件和目录,叫做IsolatedStorageFile。下图简要介绍了这些(由MSDN提供 ),我会为每种方式提供一个深入的例子。

clip_image002

IsolatedStorageSettings

有很多时候,这可能是你需要的唯一存储方式。IsolatedStorageSettings允许你在一个字典中存储键/值对(注意,无需任何设定),然后再读取出来。这些数据会一直保存着,无论应用程序停止/启动,或者关机等等。除非你删除它,或者用户卸载你的应用程序,否则它一直存在。要记住的一点是 在它被添加到字典中之前你无法读取它。在我的每个例子中,你都会看到在读取数据之前检查值是否它存在的代码。下面的例子是在用户在你的程序中接收电子邮件更新时需要保存用户设定的代码。我用了一个多选框允许用户选择,还有一个将此值保存到独立存储中的事件。

正如你所见,这非常简单。请记住以下内容:

  1. 如果还没在IsolatedStorageSettings中创建就读取它的值会抛出一个异常。确认你已经初始化了设置,或者总是使用Contains方法先检查一下。
  2. 你可以在设置中保存任意内容。在我的例子中,我保存了一个布尔值,但你可以保存一个客户对象,或者任何你能想到的。
  3. 记住当你读取数据时你需要将它显示强制转换。你会看到我在使用之前将数据转换为bool值。虽然你保存了对象,但并没有保存它的类型。是否能看到类型取决于你自己。
  4. 设置一个值和在库中添加它效果是一样。“settings.Add()”的语句实际上不是必需的,我添加它是为了让你看清语法。

就这些。IsolatedStorageSettings非常简单。只用极少的代码就可保存键/值对。创建和保存文件相对略复杂一些,但还是十分简单。

IsolatedStorageFile

使用IsolatedStorageFile是一种让你可以在用户的设备中存储真实文件的机制。在我的例子中,在一个子目录中创建了一个文本文件,并读取文件中的内容。我们还可以创建和删除目录,子目录及文件。看起来有很多代码,但实际上非常简单。我们创建一个新的IsolatedStorageFile对象,并使用一个IsolatedStorageFileStream对象将它写入到驱动器中。我在代码中加入了注释,这样你可以更清楚地看到发生了什么。有两个事件处理程序,一个用来保存文件,另一个读取:

离开程序时这多像一个迷人的魔术,再回来时,会再次载入文件(它还在那儿!)。

你都知道了。现在我们在Windows Phone 7中有两种存储机制可以用。IsolatedStorageSettings和IsolatedStorageFile。我很乐意听到你在程序中使用这两种存储结构的创新用法。请留言!

下载代码示例

这个例子将上面展示的代码融合到了一个项目中。

clip_image004

原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-15-Isolated-Storage.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows Phone是由微软推出的移动操作系统,它提供了丰富的开发工具和教程,使开发者可以轻松地创建各种类型的应用程序。下面是Windows Phone开发教程的一些步骤: 1. 准备开发环境:首先,你需要安装Windows Phone SDK,并且拥有一台运行Windows 8或更高版本的电脑。然后,你需要注册一个开发者账户,这样你就可以在Windows Phone商店中发布你的应用程序了。 2. 学习开发语言:Windows Phone应用程序主要使用C#语言进行开发,因此你需要熟悉C#语言的基本语法和特性。同时,你也需要了解XAML标记语言,用于设计应用程序的用户界面。 3. 使用Visual Studio开发工具:Windows Phone开发主要使用Visual Studio作为集成开发环境,它提供了丰富的工具和模板,帮助你创建各种类型的应用程序,包括游戏、商务应用和社交应用等。 4. 学习应用程序的生命周期:你需要了解Windows Phone应用程序的生命周期和事件模型,以便正确地处理应用程序的启动、挂起和恢复等状态。 5. 学习应用程序的数据存储和互联网连接:在开发Windows Phone应用程序时,你可能需要将数据保存到本地数据库或者通过网络连接获取数据,因此你需要学习使用本地存储和网络连接的相关知识。 总之,学习Windows Phone开发需要你掌握C#语言和XAML标记语言,熟悉Visual Studio开发工具,并且了解应用程序的生命周期和数据存储等知识。通过不断的实践和学习,你可以成为一名优秀的Windows Phone开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值