WP7_应用数据存储Tombstoning(墓碑化).docx_第1页
WP7_应用数据存储Tombstoning(墓碑化).docx_第2页
WP7_应用数据存储Tombstoning(墓碑化).docx_第3页
WP7_应用数据存储Tombstoning(墓碑化).docx_第4页
WP7_应用数据存储Tombstoning(墓碑化).docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WP7 应用数据存储Tombstoning(墓碑化)Windows Phone 可以支持5个墓碑化(Tombstoning)应用程序,第三方开发的应用程序只能使用最后一个墓碑空间,最新的墓碑化应用程序会自动替换前一个程序。我们可以利用墓碑化功能暂时保存应用程序当前状态,如果用户有意或无意触碰了手机Home 按键,并再次点击Back 按键时应用程序会从墓碑化状态激活并返回最后应用程序状态。在开发墓碑化应用程序时,我们可以使用两种数据存储方式:应用程序状态(Application State)、页面状态(Page State),这两种方式最大的区别在于数据存储和使用范围不同,应用程序状态通过PhoneApplicationService.State 属性可存储所有应用程序页面的数据,并不局限于某一个页面,不同的页面可以通过PhoneApplicationService.State 来获取相关的数据。页面状态使用PhoneApplicationPage.State 属性针对的是单独页面的数据内容,当用户点击Back 按键返回时,系统将返回用户之前看到的页面信息。需要注意的是这些存储都是暂时性的,如果应用程序需要永久的数据存储,还应当使用独立存储(IsolatedStorage)方式,具体可参考WP7 应用数据存储IsolatedStorage 篇。下面我们来做一个简单的实例应用,新建一个Windows Phone 项目,加入TextBox 控件。 在存储页面数据时我们需要使用OnNavigatedFrom 和OnNavigatedTo 方法,当用户离开某页面时将会启动该页面的OnNavigatedFrom 方法,当转向某页面时将执行该页面的OnNavigatedTo 方法。在使用上述方法时需要增加System.Windows.Navigation 命名空间。首先我们来编写OnNavigatedFrom 方法的内容,当用户离开MainPage 页面后,将testTextBox 中填写的内容保存到textVal 键。此处使用的是PhoneApplicationPage.State 方式进行存储。protected override void OnNavigatedFrom(NavigationEventArgs e) StatetextVal = testTextBox.Text; base.OnNavigatedFrom(e);接下来继续编写OnNavigatedTo 方法,当用户点击Back 按键返回MainPage页面,将恢复之前testTextBox 填写的内容。通过State.TryGetValue 方法即可获得之前保存到textVal 键中的值。protected override void OnNavigatedTo(NavigationEventArgs e) object textObj; if (State.TryGetValue(textVal, out textObj) testTextBox.Text = textObj.ToString(); base.OnNavigatedTo(e);如果这个TextBox 的内容将用于整个应用程序,任何页面都能够访问到这个数据,则需要使用PhoneApplicationService.State 方法。在程序中增加Microsoft.Phone.Shell 命名空间,将程序稍微调整如下。PhoneApplicationService service = PhoneApplicationService.Current;protected override void OnNavigatedFrom(NavigationEventArgs e) service.StatetextVal = testTextBox.Text; base.OnNavigatedFrom(e);protected override void OnNavigatedTo(NavigationEventArgs e) object textObj; if (service.State.TryGetValue(textVal, out textObj) testTextBox.Text = textObj.ToString(); base.OnNavigatedTo(e);如果需要在非MainPage 页面获取textTextBox 内的值,可直接在该页面增加OnNavigatedTo 方法读

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论