毕业设计(论文)-基于Android图书管理系统开发 联系客服

发布时间 : 星期日 文章毕业设计(论文)-基于Android图书管理系统开发更新完毕开始阅读5c7c10eb68dc5022aaea998fcc22bcd126ff42b0

沈阳工程学院毕业论文 第3章 Android应用程序结构剖析

但是当这些有趣的事情发生时,应用不必对请求调用Intent Receiver,系统会在需要的时候启动应用,并在必要的情况下触发Intent Receiver。各种应用还可以通过使用Context.broadcastIntent()将它们自己的Intent广播给其他应用程序。

3.2.3 服务

服务(Service)也是Android的四大组件之一,它和Activity最为相似,他们都代表可执行的程序,Service与Activity的区别在于:Service一直在后台进行运行,它没有用户的界面,所以绝不会到前台来,它和Activity一样具有自己的生命周期。

3.2.4 内容提供者

在Android中,每个应用程序都有它们自己的ID并且可以在自己的进程中进行执行。这样做的好处是:

(1)可以保护系统和应用程序,避免被其他不正常的应用程序所影响。

(2)可以把每个进程想像成是一个黑盒子,进程之间不会互相影响,连内存的资料都无法进行共享。如果应用程序之间要共享数据,就需要用到内容提供者。内容提供者就是一个类,它实现了一个方法集合,其他的应用程序可以去使用这些方法来保存和检索这个内容提供者处理过的数据。

3.3 Android活动的生命周期

Android平台是个手机操作系统。先把其他功能撇掉不谈,根据手机的特性,就应该能够随时随地的在未完成目前动作时候,暂停正在使用功能,切换到接听电话、接收短信的模式,而且在接听完电话回到应用程序的时候,还希望能看到之前操作一样的内容。现在用户使用的智能手机大多已经习惯使用能够后台处理的作业系统(比如WindowsMobile),可以在使用手机听音乐的同时,执行其他多个应用程序。同时执行多个应用程序有它明显的好处,但也有它的缺点。每多开启一个应用程序,就会多耗费一些系统的内存,而手机里的内存是有限的。当同时开启的应用程序过多的时候,或者是关闭的程序没有释放掉内存,系统会越来越慢,甚至不稳定,最后到死机。为解决这个问题,Android引入了一个新的机制:“生命周期”。

Android应用程序的生命周期是交给Android的框架进行管理的,而不是由应用程序直接进行控制的。通常,每个应用程序,都会占用一个进程。当系统内存不足的时候,会依照优先级来自动进行进程的自动回收。不管是使用者还是开发者,都无法确定应用程序什么时候会被回收。

一个活动类,除了OnCreate(创建)方法之外,还定义了onPause(暂停)、OnResume(继续)等等的基本方法,当一个活动切换到另外一个活动的时候,原来的活动将会经过一连

- 8 -

沈阳工程学院毕业论文 第3章 Android应用程序结构剖析

串的状态的改变。开发者可以在程序中添加一些状态相对应的流程,每次活动状态改变的时候,就会执行相对应的流程的操作。要让用户有更好的使用体验,活动需要在各个周期内负责保管状态,恢复状态,传送资料的工作。 3.3.1 活动的生命状态

Android的虚拟机是使用堆栈来进行管理的。其主要有四种状态: (l)活动状态:

活动状态是指用户启动了应用程序或活动结束后,活动运行时的状态。在Android平台上,同一个的时刻只能有一个活动处于活动或者运行的状态。其他的活动都会处于未启动,停止或是暂停状态。

(2)暂停状态:

暂停状态是指当活动暂时停止下来的时候,退到背景画面状态。当警告对话框或者电话到来的时候,都会让原来运行活动退到背景画面中。新出现的警告对话的框等界面元件盖住掉了原来的活动的画面。活动处在暂时停止的状态,用户无法与原来的活动互动。

(3)停止状态:

停止状态是指有了其他活动正在执行中,而这个活动己离开了屏幕,不再执行动作的状态。通过按返回键就可以查看所有处于停止状态应用程序的列表。处于停止状态的活动还可以通过通知来进行唤醒。

(4)已回收或未启动状态

已回收的或未启动的状态是指活动未被启动或者已经被手动终止的状态。要手动终止活动,可以在系统中进行调用finish(结束)的方法。如果是被系统回收的,可能是因为内存不足,所以系统会根据内存不足的回收规则,将停止状态的活动其占用的内存进行回收。

图3.1 Android活动生命周期

- 9 -

沈阳工程学院毕业论文 第3章 Android应用程序结构剖析

图3.1所示的七个状态又可以归纳为三组: (l)资源分配

完整的活动的生命周期是由创建状态开始由销毁状态而结束。创建的时候分配资源,销毁的时候释放资源。

(2)可见与不可见

当活动运行到启动的状态的时候,就可以在显示屏上看到这个活动。相反当活动运行到停止的状态的时候,这个活动就会从显示屏上消失。当用户按下返回键,回到上一个活动界面的时候,会先到重新启动的状态,再到一般启动的状态。

(3)用户取得屏幕的控制权

当有个警告对话框,短信,电话等信息到来的时候,原来活动会进入暂停的状态,暂时放弃对显示屏的控制权,被中断到了背景中去,将前景交给了优先级较高的事件。当这些优先级较高的事件处理完毕后,活动就会进入继续的状态,此时又获取到了显示屏的控制权。

3.3.2 活动的运作流程

根据实际的运行来观察,我们可以总结出所有Android程序都遵循的运作的流程: (l)一般启动

启动一个活动的基本流程为:onCreate到onStart到onResume。该流程是首先将分配的资源给这个活动,然后将活动内容显示到显示屏上,在一切准备就绪后,取得显示屏的控制权,用户就可以开始使用这个应用程序。

(2)调用另一个活动

调用另一个活动的基本流程为:onPause到onCreate到onStart到0nResume到onStop。该流程将首先冻结原来活动,再交出显示屏上的控制权,直到活动完成之后,活动才会被停止。

(3)回到原来活动

回到原来活动的基本流程为:onPause(2)到onRestart(1)到onStart(l)到onResume(1)到onStop(2)到onDestroy(2)。另外按返回键也是可以回到原来活动的。

(4)退出结束

退出结束的基本流程为:onPause到onStop到onDestroy。如果应用程序中有直接进行调用finish方法来结束活动的,系统就会跳过原先冻结的阶段,直接进行暂停,停止,最后进行销毁。

(5)回收后再启动

回收后再启动的基本流程为:onCreate到onStart到onResume。如果被系统回收机制回收掉的活动一旦又要重新被调用的时候,就会像一般的启动那样再次被调用到活动的onCreate方法中去。

当在模拟器上已经执行了过多个的应用程序的时候,只要按下返回键按钮,就会开启最近一次开启的活动。这时要是按下多次的返回键,理论上迟早会返回到某个已经销毁的

- 10 -

沈阳工程学院毕业论文 第3章 Android应用程序结构剖析

活动中去。

如果应该开启的活动己经被系统的回收机制进行回收了,那么这个活动会就会被再次的创建。再次被创建的活动,跟之前开启过的活动是不相同的。

所以如果要让新被创建的活动跟原来开启过的活动是一样的,那么在活动之间切换的时候就要保存其资料:在每次活动运行到暂停或者停止状态的时候先保存资料最后在创建的时候把资料读取出来。

- 11 -