Windows Phone 7中使用PhoneApplicationService类保存应用程序状态
PhoneApplicationService的任务在于控制Windows Phone 7 application 在任何状态下的寿命,包括Application在idle阶段时该处理的任务,管理Application状态改变时触发的事件,常用来保存Application的状态和设置。
1.首先我们需要建一个PhoneApplicationService对象,用来管理状态。
PhoneApplicationService phoneAppServeice = PhoneApplicationService.Current;
2.在App.cs中添加俩个方法,用来加载Application状态和保存Application状态。
1)加载方法如下:
private void LoadState()
{
PhoneApplicationService phoneAppServeice = PhoneApplicationService.Current;
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
string myValue;
if (settings.TryGetValue<string>("MyValue",out myValue))
{
phoneAppServeice.State["MyValue"]=myValue;
}
}
2)保存方法如下:
private void SaveState()
{
PhoneApplicationService phoneAppServeice = PhoneApplicationService.Current;
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
if (phoneAppServeice.State.ContainsKey("MyValue"))
{
settings["MyValue"] = phoneAppServeice.State["MyValue"];
}
}
3.在App.cs事件中使用上诉俩个方法
private void Application_Launching(object sender, LaunchingEventArgs e)
{
LoadState();
}
private void Application_Activated(object sender, ActivatedEventArgs e)
{
LoadState();
}
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
SaveState();
}
private void Application_Closing(object sender, ClosingEventArgs e)
{
SaveState();
}
4.在MainPage.xaml.cs中获取值和保存值
1)保存如下
private void myTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
phoneAppServeice.State["MyValue"] = myTextBox.Text;
}
2)获取如下
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
object myValue;
if (phoneAppServeice.State.ContainsKey("MyValue"))
{
if (phoneAppServeice.State.TryGetValue("MyValue", out myValue))
{
this.myTextBox.Text = myValue.ToString();
}
}
}
5.测试方法
1)启动Application,在文本域中输入数据。
2)按"back"键退出Application。
3)再次进入Application,你会看到你输入的数据是一致的。
4)再按"start"键退出Application。
5)再次进入和上诉3一样
这说明值保存成功!
效果图如下
6.代码下载
转载于:https://www.cnblogs.com/salam/archive/2010/12/28/1919213.html
Windows Phone 7中使用PhoneApplicationService类保存应用程序状态相关推荐
- 如何重新找到在Windows Live Mail 中直接打开修改保存并且不小心关闭的文件
今天同事发来一个方案让给改一下,我直接在Windows Live Mail把文件打开了,然后满腔热情的进行完善 工作,花了宝贵的一个半小时,大功告成直接保存关闭!悲剧了,没有保存在工作目录中,应该是保 ...
- php输出mysql错误日志_PHP_PHP中把错误日志保存在系统日志中(Windows系统),【将错误记录到系统日志中】 - phpStudy...
PHP中把错误日志保存在系统日志中(Windows系统) [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: error_log = syslog 或者在运行时使用 i ...
- C#之windows桌面软件第十三课:C#中常用的类有哪些?构造函数怎么用?
C#之windows桌面软件第十三课:C#中常用的类有哪些?构造函数怎么用? using System; using System.Collections.Generic; using System. ...
- php 系统日志,PHP中把错误日志保存在系统日志中(Windows系统)
PHP中把错误日志保存在系统日志中(Windows系统) [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: 复制代码 代码如下: error_log = syslog ...
- 关于Windows下记事本中保存编码的格式问题
关于Windows下记事本中保存编码的格式问题 Windows下记事本保存文本文件的时候,可以选择不同的编码格式来保存文件,各种编码保存的文件的二进制是不同的,举例说明: 我们在记事本中输入123,选 ...
- android java 实体类 object变量 保存_Java中的实体类--Serializable接口、transient 关键字...
在java中,实体类是一个非常重要的概念,我们可以在实体类中封装对象.设置其属性和方法等.关于实体类,也经常涉及到适配器模式.装饰者模式等设计模式.那么在实际代码开发中,关于实体类的注意事项有哪些呢? ...
- Windows注册表中保存的信息及环境变量中SystemRoot在注册表中的位置
Windows注册表中的几个分项分别是什么 HKEY_LOCAL_MACHINE 是机器硬件信息的集散地 HKEY_CURRENT_USER 当前用户所用信息的储存地 HKEY_CLASSES_ROO ...
- Windows Phone 7 中的切换应用
修正: 区别于桌面操作系统,Window Phone不支持应用程序在后台运行.这是为了避免了多个应用程序竞争有限的手机资源,由此避免了的处理速度和电池电量的急速下降.这里Windows Phone 7 ...
- 文件上传获取file的全路径名_Java中的File类与I/O流
File类java.io.File类主要用于文件和目录的创建.查找和删除等操作,实际开发中必须用到.构造方法: File(String pathname); File(String parent, S ...
最新文章
- python ssh模块_windows下python SSH的使用——paramiko模块
- 正则不等于一个字符串_更正一个观念:“积食”不等于“吃多了”
- easyexcel 无模板写入_给位,问个问题,用easyExcel无模板导出数据时,怎么在指定单元格添加计算公式呢?...
- Bootstrap的学习
- ddt源码修改:HtmlTestRunner报告依据接口名显示用例名字
- deno mysql_从 Node 到 Deno
- 浙江网信办处置44家违规网站 包含网易游戏、花瓣网等
- Naïve UI——一个 Vue 3 组件库
- Hive:用Java代码通过JDBC连接Hiveserver
- 力扣-606. 根据二叉树创建字符串
- 阶段3 1.Mybatis_12.Mybatis注解开发_8 mybatis注解开发使用二级缓存
- 微信浏览器实现自动下载功能
- Windows驱动开发TraceView之日志打印
- Win10企业版激活方法
- LINUX企业应用案例精解 第2版 李晨光
- 你离大厂前端工作,升职加薪有时就差一点算法,今天全部教给你!
- 多智能体强化学习基本概念
- 3dsmax-拓扑插件Wrapit使用
- PowerShell的力量,第1部分
- Android网易新闻评论盖楼效果的实现