2。1。1 Android 基本组件
Android 应用程序开发由 Activity(活动)、Service(服务)、Broadcast Receiver(广播 接收者)和 Content Provider(内容提供商)四大基本组件构成。这四大基本组件都需要经过 注册方能使用,其中 Activity、Service、Content Provider 组件需要在 AndroidManifest 文件中 进行配置。如果这些组件未在 AndroidManifest 文件中进行配置,系统将不可见,这些组件也 就不能够正常使用。
Activity 活动是 Android 应用程序中最基本的组件,是 Android 应用程序中负责与用户进 行交互的组件。在 Activity 中可以通过添加 Button、TextView、EditView 等控件进行事件驱动 控制。一个 Android 应用程序一般是由多个 Activity 组成的,Activity 之间可以通过不同的事 件驱动进行相互跳转。例如,当点击一个 Button 按钮后,可能会从当前 Activity 跳转到其他 的 Activity。
Service 相对于 Activity 来说是不可见的,它是一个“后台服务”,可以长时间的在后台运 行。服务通常用来处理一些耗时的工作,比如在看小说的同时,在手机后台播放音乐,等服 务运行完之后,再将结果传递给活动。
Broadcast Receiver 广播是指 Android 应用程序向其他 Android 应用程序发送消息。同 Service 一样,广播接收者是没有用户界面的,但是它可以通过启动一个 Activity 或 Service 来响应其接收到的信息,或者用 NotificationManager 通知管理者来通知其他用户。
Content Provider 内容提供者可以为同一 Android 应用程序内不同组件之间、 不同
Android 应用程序之间提供数据共享。通过 ContentProvider 类可以从该内容提供者中获取或
第 8 页 本科毕业设计说明书
者存入数据。
2。1。2 AndroidManifest 清单文件
每个 Android 应用程序都需要有一个清单文件,负责记录程序的版本以及注册程序的组件 信息等。清单文件名是固定的并且放在每个 Android 应用程序的根目录下的。清单文件用 XML 语言进行编写,它定义了该应用对于 Android 系统来说一些非常重要的信息,Android 系统需 要这些信息才能正常运行该应用。
在清单文件中,可以说明 Android 应用程序的包名(该包名作为该应用的唯一包名)、程 序所包含的组件、程序兼容的最低版本、应用程序使用系统所需的权限说明、其他程序访问 该程序所需的权限说明等。图 2。1 展示了清单文件的基本结构以及 Android 四大组件在清单文 件中的说明形式。由图可见,清单文件是由一对对标签构成的。
图 2。1 清单文件的基本结构
2。1。3 Android 活动栈
在 Android 应用程序中,各个 Activity 之间可以进行自由跳转的,当前运行的活动可以返 回到上一活动中去。如何记录活动的运行情况,需要用到的数据结构就是 Android 系统提供 的 Activity 活动栈。其中栈底存放的活动是启动整个应用程序的 Activity,栈顶存放的活动是
本科毕业设计说明书 第 9 页 当前正在运行的 Activity。每个活动在栈中的位置表示该 Activity 入栈的顺序。当一个新的活 动启动时,Android 会将该 Activity 压栈。当当前运行的 Activity 结束时,或者用户点击返回
按钮时,当前活动就会退出活动栈,此时栈中的上一 Activity 活动重新变为活跃状态。
2。1。4 Intent 与 Intent-filter
Android 系统提供了一套组件间通信方法供 Android 基本组件之间进行通信,这套方法就 是 Intent,中文翻译为意图,表示用户的某种期望。Intent 是一种运行时绑定机制,它能在程 序运行过程中连接两个不同的组件。通过 Intent,应用程序可以向 Android 系统表达某种请求 或意愿,Android 系统会根据 Intent 的内容选择适当的组件来完成请求。