1。activity生命周期:
Activity在系统里通过栈对各个部分的实施调配。一个活动被执行后,就被直接地放到栈中,变成了执行的活动。后来的活动在栈里的优先级在新的活动之下,等到新活动执行结束后才开始执行下一个。下面提供的是活动的执行流程图:
图3-1 Activity状态变换路径图
从图3-1可以看出,Activity有三个关键的循环:
(1)整个生命期:从首次调用onCreate(Bundle)开始,到最终调用onDestroyO结束。在onCreate()中创建所有的活动,并初始化活动,在onDestroyO调用时清理活动,并释放出活动资源。
(2)可见生命期:以第一次调用onStart()开始,到onStop()被调用为止。在这段时间内,就算活动不与用户进行有关的联系,用户还是可以在界面里看到。在这两个方法调试的间隙,依然可以保护活动给用户显示的内容信息。onStart()和onStop()方法可被调用多次,因为活动可以在可见和隐藏之间进行随意切换。
(3)后台生命期:从调用onResume()开始,到onPause()被调用结束。在这段时间内活动比其它所有活动的优先级都要高,并与用户进行实际交互。这个活动可以不断在resumed(重新开始)状态和paused(暂停)状态之间变换[4]。论文网
2。活动之间的切换:
Android调用Intent(意图)以完成多个活动的相互切换。意图的作用是对程序中的动作、动作有关的数据以及额外数据进行具体分析。根据Intent的描述内容,我们可以找到相应的动作,将Intent传递给相应的部件且完成部件的调用。综上所述,Intent就是一个传递媒介,专门为组件之间的调用提供信息和数据,完成调用与被调用动作之间的耦合和解耦工作。在应用中,主要通过直接Intent和间接Intent来使用Intent。直接Intent是指确定了component属性的Intent,根据具体组件,告知启动相对应的组件。间接Intent,是指没确定comonent属性的Intent,要添加充足的资源信息,这样系统才可以利用有效信息,确定可以使用的Intent组件。
Intent Receivert是对外部事件的进行响应的组件,在外部事件发生变化时,通过NotificationManager告诉用户。Intent Receiver在被触发的时候,系统会开启相应应用程序。例如系统中,用户正对其它页面进行操作,正好有外部消息发送过来,Intent Receiver就会通知用户。不同的应用也可通过broadcastIntent()将它们的Intent Receiver广播给外部应用软件,实现应用之间的交流。
Service的定义是能为用户提供持续信息的应用程序。Service是在后台运行的服务体系。用户在使用其它活动的时,这个服务一直在运行,直到用户停止或服务自身运行结束才能结束服务。
Content Provider主要用于对数据库的存储,它能够将后台数据存储在文件、相关数据库以及其它的存储系统里。当程序需要相关数据时,可以使用Content Provider来实现。使用Content Provider能够便捷的代替基础的存储系统,使用户对逻辑理论做出更好的完善,不用在对基层存储系统的操作上浪费大量时间,使应用程序拥有比较完善的数据结构。
3。3 Android四大组件分析
上面对Android的特征和Android组件及其组件功能进行了详细的分析。对于Android应用程序来说,主要由Activity、Intent Receiver(意图)、Service(服务)和Content Provider(文件存储)四大组件组成,但并不是每一个应用程序,都是由这四部分都是构成的,应该要具体分析应用程序的功能来确定有的功能是否需要。其中Activity是系统中最重要的部件,我们对其功能和生命周期进行了详细的分析。
4 平台的搭建 Android淮安公交查询系统的设计与实现(4):http://www.youerw.com/jisuanji/lunwen_94066.html