您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Windows Phone 7 应用程序生命周期
Page|1Hands-OnLabWindowsPhone应用程序生命周期—Tombstoning实验版本号:1.0.0最后更新:2/12/2011Page|2目录概述.................................................................................................................................................3练习1:介绍WindowsPhone应用程序生命周期--Tombstoning..............................................7任务1–创建用户界面...........................................................................................................7任务2–应用程序执行模型................................................................................................19总结...............................................................................................................................................44Page|3概述在WindowsPhone上运行的应用程序从开始到程序运行结束,其整个生命周期都是由Windowsphone的执行模型所支配。执行模型被设计的目的就是为终端用户实时提供快速的、反应灵敏的体验。为了实现这样的初衷,WindowsPhone仅仅允许在前台运行一个应用程序—即与用户进行交互的可见的当前应用程序。这样做就消除了用户在其移动终端设备后台上运行多个应用程序而导致的程序间竞争有限的系统资源,而使用户的移动终端设备处于较低的性能和电池电量极具减少的可能性。Windowsphone执行模型还维护着用户使用应用程序和查看页面所产生的日志。利用该日志就能定义电话后退键所遵循的后退路径,从而提供给用户一个能够回退到不同应用程序和浏览页面的后退选项。这个功能在用户使用一个应用程序访问某一站点或者其他电话服务时是非常有用的,用户能够在任何时候轻易地通过点击回退键而返回到之前的体验当中。正如上面提到的,仅允许在前台运行一个应用程序并且在后台不允许其他第三方程序运行。因此,当用户离开当前的应用程序,无论是使用图片选配,还是启动某种功能,比如打电话。Windowsphone将会在有限的时间里暂停其当前应用程序。如果操作系统需要当前资源,那么正在使用中的应用程序还可能会被终止。当用户通过导航键功能离开某一应用程序时,操作系统执行挂起该程序的步骤被称之为tombstoning(墓碑机制)。操作系统会维护应用程序状态信息。如果用户返回到被挂起的应用程序中,此时操作系统会继续执行被挂起应用程序的进程(或者重新启动它,这取决于该程序之前是否被终止)并传递状态数据给此应用程序。这就保证了用户能够准确无误地从之前与程序交互时的暂存挂起点继续执行应用程序的进程。这个实验关注的是WindowsPhone应用程序生命周期相关的tombstone(或者tombstoning)方面,主要处理tombstone及其产生的结果。目的通过这个实验您将会:熟悉与WindowsPhone7应用程序生命周期的tombstoning功能相关方面的内容。理解应用程序是如何执行启动、激活、禁止以及结束事件等操作。创建一个简单的Silverlight应用程序示例,该示例利用相关技术来保存用户离开当前应用程序时的状态,并能根据已保存的状态帮助用户恢复到原应用程序。Page|4前提条件要完成这个实验需要以下条件:用于WindowsPhone的MicrosoftVisualStudio2010Express版本或者是MicrosoftVisualStudio2010WindowsPhone开发者工具注意:集成以上所有工具的程序包能从以下地址下载安装为了方便起见,这个实验手册中用到的大部分程序代码是以小段VisualStudio代码形式提供:1.运行试验目录下Source\Setup文件夹中的SetupLab.cmd脚本来检查程序相关性和必备的安装先决条件.2.当您已经验证了每一个先决条件,那么请按照以下说明来安装代码段。使用代码段利用这些代码段,您实际上已经获得了编程操作所会用到的所有代码。这个实验手册将会准确的告诉您何时使用这些代码。例如,图表1利用VisualStudio代码段向您的工程中插入代码想在VisualStudio中加入代码段,您只需简单的把光标移动到您想插入代码的位置,然后键入代码名称(请不要带空格和连字符),当看到有智能感知(IntelliSense)程序为您选Page|5择代码名称时,且代码段名是您需要的那个时,请按两次Tab键。代码将会被插入到光标所处位置。图表2开始键入代码段名称图表3按Tab键来选择被高亮的代码段图表4再次按Tab键来展开代码段想利用鼠标而不是键盘来插入一段代码:右键点击您想要插入代码段的地方,选择InsertSnippet然后选择MyCodeSnippets,然后从列表里选择相关的代码。想了解更多VisualStudioIntelliSenseCodeSnippets,包括如何创建自己的代码段请参阅:|6练习这个实验手册包含了以下的一些练习:1.介绍WindowsPhone应用程序生命周期—Tombstoning完成此实验估计耗时:45分钟Page|7练习1:介绍WindowsPhone应用程序生命周期--Tombstoning在本章节中我们将会创建一个新的Silverlight应用程序。这个应用程序是一个简单的只有两个页面的旅行报告,通过该应用程序您将体验到tombstoning是如何工作的。您将会:增加并导航到多个页面处理应用程序和页面导航事件我们将会使用VisualPhoneDeveloper2010Express开发环境来部署一个WindowsPhoneEmulator,并以此进行调试。这个解决方案使用的是基于WindowsPhone应用程序模板的Silverlight。在开发过程中,我们将会为WindowsPhone的具体工程,即WindowsPhonePortraitPage来添加一个Silverlight应用程序。注意:这个实验手册过程所阐述的步骤使用了集成WindowsPhone开发者工具的MicrosoftVisualStudio2010,但是同样适用于针对WindowsPhone的MicrosoftVisualStudio2010Express版本。实验手册中一般涉及到VisualStudio的地方,对这两种产品都是适用的。任务1–创建用户界面在这个任务中,您需要创建一个基于MicrosoftVisualStudio2010Express(针对WindowsPhone)或者基于MicrosoftVisualStudio2010的解决方案。这个解决方案将会是只包含2个页面的简单的WindowsPhone7应用程序以及一些为这个实验中后续任务所进行的准备工作。1.从操作系统的开始|所有程序|MicrosoftVisualStudio2010Express处打开MicrosoftVisualPhoneDeveloper2010Express。VisualStudio2010:从操作系统的开始|所有程序|MicrosoftVisualStudio2010处打开VisualStudio2010。2.进入File菜单,选择NewProject。VisualStudio2010:在File菜单,指向new然后选择Project/Solution.Page|83.创建一个新的SilverlightWindowsPhone工程,并设置工程名称为“ApplicationLifecycle“同时设置解决方案的名称为”Begin“,设置完毕后点击”OK“。图表5创建一个新的解决方案4.为创建的工程添加一个新的工程文件夹并命名为Misc。具体步骤是,在工程名称(ApplicationLifecycle)上右键单击,选择Add然后选择NewFolder:图表6Page|9创建一个新的工程文件夹5.把{LAB_PATH}\Assets文件夹中系统提供的辅助类添加到Misc文件夹。为了实现这个功能,需要在Misc上右键单击,选择Add然后从右面扩展菜单中选择ExistingItem:图表7添加assets到工程中注意:做为选择,您可以通过选中Misc文件夹然后通过按Shift+Alt+A快捷键来实现本功能6.在“AddExistingItem“对话框中,转到LabAssets文件夹的所在路径,然后选择所有的assets源文件,点击Add:图表8添加assetsPage|10◦DateTimeToStringConverter用来实现旅行开始和结束日期与用户界面(UI)空间之间的绑定,同时完成必需的SL数据转换。◦TravelReportInfo是一个模型类,用来表示一个旅程;它包含了描述旅行的数据域◦Utils正如它的命名一样,是一个泛型类,它被整个工程中各种各样的函数广泛使用。7.在工程的引用中添加一个针对System.Xml.Serialization的引用程序集。在工程References文件夹上右键单击选择AddReference:图表9添加一个新引用的程序集8.在AddReference对话框中的组件列表中选择System.Xml.Serialization然后单击OK:Page|11图表10添加一个引用9.利用Assets文件夹中的SplashScreenImage.jpg来替换解决方案中缺省的图片。首先,通过右键单击然后选择Delete来删除原有的图片:图表11删除原有图片10.根据前面提供的步骤来为解决方案添加一个ExistingItem,从{LAB_PATH}\Assets文件夹中选择SplashScreenImage.jpg,在要添加的图片上右键单击然后选择属性:图表12打开文件属性11.检查BuildAction的值是否被设置为Content:Page|12图表13BuildAction设置12.打开MainPage.xaml并根据以下的说明修改此文件。13.在页面中添加一个关于应用程序命名空间的引用—在“PhoneApplicationPage”元素中添加如下代码段:XAMLxmlns:local=clr-namespace:ApplicationLifecycle14.为LayoutRootGrid.Resources元素添加一个日期时间转换器(之前已经被添加到Misc文件夹)。这就声明了该日期时间转换器已作为一个资源,我们以后可在XAML中利用它XAMLGrid.Resourceslocal:DateTimeToStringConverterx:Key=dateTimeToStringConverter//Grid.Resources15.更改ApplicationTitle文本块的文本属性为“TRAVELREPORT”:XAMLTextBlockx:Name=ApplicationTitleText=TRAVELREPORTStyle={StaticResourcePhoneTextNormalStyle}/16.更改PageTitle
本文标题:Windows Phone 7 应用程序生命周期
链接地址:https://www.777doc.com/doc-4294258 .html