计算机移动设计开发,[计算机软件及应用]android移动应用设计与开发--第04章

7d63a1dd2a806506125e94c1e8715445.gif[计算机软件及应用]android移动应用设计与开发--第04章

移动应用设计与开发第章以及通信机制生命周期交互机制状态生命周期的事件回调方法属性解析的跳转本章导读生命周期在应用程序中,所有的组件都有它自己的生命周期,表示从这一组件的创建到销毁的整个过程。在这一过程中,组件会在活动、非活动以及可见或不可见等状态中不断因应用场景的改变而进行切换。这一小节中,我们将对系统中组件的生命周期进行详细的介绍交互机制针对的管理使用的是栈机制,栈保存了已经启动并且没有终止的,并遵循“先进后出”的原则具体说明:在某个时刻只有一个处在栈顶,当这个被销毁后,下面的才可能处于栈顶,或者是有一个新的被创建出来,则上一个就被压栈下去按照一种层次管理所有的,因为是直接涉及到与用户交互界面的处理,而任意时刻与用户交互的界面只有一个,所以针对的管理采用了具有层次感的栈的数据结构状态此时一定处于屏幕的最前端,用户完全可以看得到,并且可以与用户进行交互。对于栈来说,它处于栈顶在屏幕上仍然可见,但是它已经失去了焦点,用户不能与之进行交互。暂停状态的是存活的它维持着其内部状态和信息,但是系统可能会在手机内存极低的情况下杀掉该在屏幕上完全不能被用户看见,这个已经完全被其他所遮住。系统仍然保留有其内部状态和成员信息,但是它经常会由于手机系统内存被征用而被系统杀死回收被系统杀死回收或者未启动状态四种状态的转换关系如图所示:图的种状态之间的转换图启动后处于状态,此时处于屏幕的最上面当用户启动了新的,并且此部分遮挡了当前的或拥有透明属性时,则当前的转换为状态,也可以从状态到状态当用户启动的完全遮住了当前的时,则当前的转换为状态处于状态的,当手机系统内存被其他应用程序征用时,状态的将首先被杀死,进入状态。状态的被用户终止或是状态及状态的被系统终止后,进入了状态生命周期的事件回调方法生命周期的事件回调方法—事件回调方法种类生命周期的事件回调方法如下:()()()()()()()注意:()所有的都必须实现()方法,在该方法中可以对进行一些初始化设置。()所有的生命周期方法的实现都必须先调用其父类的方法。生命周期的事件回调方法—生命周期分类全生命周期可视生命周期前台生命周期全生命周期自第一次调用()开始,直至调用()为止在()中设置所有“全局”状态以完成初始化在()中释放所有系统资源可视生命周期()开始到()结束在此期间,用户可以在屏幕上看到该在这两个方法中,你可以管理该的资源可以在()中注册一个来监控变化,而在()中取消该注册前台生命周期自()调用开始,至相应的()调用为止在此期间,位于前台最上面,可与用户进行交互当设备转入休眠状态或有新的启动时,将调用()方法当接收到新的的时候会调用()方法生命周期的事件回调方法—生命周期过程及状态改变说明:()椭圆是可以经历的主要状态()矩形框代表了当在状态间发生改变的时候,我们进行操作所要实现的回调方法。生命周期的事件回调方法—生命周期过程及状态改变生命周期的事件回调方法—生命周期过程及状态改变生命周期的事件回调方法—生命周期过程及状态改变注意:与前面所讲的种方法不同,()和()并不是生命周期方法,它们并不是总会被调用。生命周期的事件回调方法—实例=一个完整生命周期开始时被调用,初始化@()()()()=()()(进入)=()()(进入弹出对话框)(()@()=()())(()@()=()())生命周期的事件回调方法—实例可视生命周期开始时被调用@()()()在()后被调用,用于恢复信息@()从恢复状态对象同样在方法中被传入。()()@()在前台生命周期开始时被调用,恢复被()停止的用于界面更新的资源()()在()之后被调用,用于保存界面信息@()保存状态变化到中。当进程被杀死或重启时这个会传入到方法。()()重新进入可视界面前被调用,这个已经出现过@()()()在前台生命周期结束时被调用,用来保存持久的数据或释放占用的资源生命周期的事件回调方法—实例@()()()在可视生命周期结束时被调用,保存数据和状态变化@()()()在整个生命周期结束时被调用,清除任何资源,包括结束线程、关闭数据库连接等。@()()()生命周期的事件回调方法—实例实例情况分析:生命周期的事件回调方法—实例()一个()启动,下图为用户看到的界面:生命周期的事件回调方法—实例()一个()的操作详情如下所示:生命周期的事件回调方法—实例()两个(和)由,完全覆盖,下图为用户看到的界面:生命周期的事件回调方法—实例()两个(和)和的操作详情如下所示:生命周期的事件回调方法—实例()两个(和),此时的并不完全覆盖,也就是前面所说的暂停状态,这时的是以对话框的形式出现的。如下图所示:生命周期的事件回调方法—实例()两个(和)和的操作详情如下所示:是一个动作的完整描述,包含了产生组件、接收组件和传递数据信息。并且,利用消息实现应用程序之间的交互机制,这种消息描述了应用中一次操作的动作、数据以及附加数据,系统通过该的描述负责找到对应的组件,并将传递给调用的组件,完成组件的调用属性由动作、数据、分类、类型、组件和扩展信息等内容组成,每个组成都由相应的属性进行表示,并提供设置和获取相应属性的方法属性()属性用于描述要完成的动作,对要执行的动作进行一个简要描述,属性常量如下表所示:属性()属性是执行动作的和类型,属性常量如下表所示属性()和匹配使用不同的由不同的数据指定,见下表所示:属性()属性指明一个执行的分类,中定义了一系列属性常量,如下表所示:属性()属性用于指明目标组件的类名称如果没有指定了这个属性,通常会根据中包含的其他属性的信息,比如、、进行查找,最终找到一个与之匹配的目标组件如果指定了这个属性,则会直接根据组件名查找到相应的组件,而不再执行上述查找过程指定属性后,的其他属性都是可选的属性()属性用于添加一些附加信息,例如发送一个邮件,就可以通过属性来添加主题()和内容()。通过使用对象的()方法来添加附加信息。将一个人的姓名附加到对象中,代码如下所示:=()(“”“”)通过使用对象的()方法可以获取附加信息。例如,将上面代码存入对象中的人名获取出来,因存入的是字符串,所以可以使用()方法获取数据,代码为:=()解析根据寻找目标组件时所采用的方式不同,可以将分为两类:直接和间接()直接直接通过直接指定组件来实现,常用方法有(),()或(),如下示例:创建一个对象=()指定对象的目标组件是()解析通过过滤实现,过滤时通常根据、和属性进行匹配查找。提供了两种生成的方式:一种是通过类生成;另一种通过在配置文件中定义元素生成。在配置文件中,以元素来指定。一个组件中可以有多个元素,每个元素描述不同的能力,如下示例:()间接解析、子元素注意:列表中的属性不能为空,否则所有的都会因匹配失败而被阻塞。所以一个元素下至少需要包含一个子元素,这样系统才能处理消息标签中常用、和这些子元素,分别对应中的、和属性,用于对进行匹配。一个中可以添加多个子元素,如下所示:解析、子元素注意:与一样,列表中的属性不能为空。属性的默认值“”是启动的默认值,在添加其他属性值时,该值必须添加,否则也会匹配失败。一个中也可以添加多个子元素,例如:解析、子元素一个中可以包含多个子元素,用于指定组件可以执行的数据,例如:的跳转在世界的四大组件、、、中,前三个都是通过来解析进行跳转的,可以说是连接这四大组件的重要桥梁在使用进行之间的跳转时,我们通常有三种跳转方式,即:不带参数的跳转、带参数的跳转以及带返回值的跳转()不带参数跳转的跳转()带参数跳转(用封装数据)跳转到之后,通过获取传过来的值,方法如下:的跳转()带返回值的跳转(用封装数据)第一个页面传送参数值的代码如下所示:注:()方法中的参数用于识别第二个页面传回来的值。第二个页面准备返回数据的代码如下所示:的跳转()带返回值的跳转(用封装数据)第一个页面接收返回值的代码如下所示:的跳转()带返回值的跳转(用封装数据)第一个页面接收返回值的代码如下所示:!第章结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值