实验四 Android 基本组件交互实验
【实验目的】
本实验是 Android 基本组件实验,主要针对 Activity、Service 和 Receiver 实现和使用
方法。通过实验使学生掌握 Activity 的跳转、Service 的启动停止以及 Receiver 的接受等。
【实验要求】
使得学生熟悉 Activity、Service 和 BroadCast 基本使用;
使得学生掌握短信接收实现和使用;
使得学生掌握界面跳转基本原理和使用方法;
使得学生掌握服务和广播的基本机制。
【实验原理】
1. Activity 跳转
startActivity——跳转到目标页面,参数为 Intent;
startActivityForResult ——跳转到下一个 Activity,而当这个 Activity 被关闭以后,
自动跳转前一个 Activity,并调用 onActivityResult( )方法,参数为 Intent 和
requestcode
2. Intent
Android 基本的设计理念是鼓励减少组件间的耦合,因此 Android 提供了 Intent (意图) ,Intent
提供了一种通用的消息系统,将要执行的动作的抽象的描述,一般来说是作为参数来使用,
由 Intent 来协助完成 Android 各个组件之间的通讯 。
Intent 属性:
Action ,对执行动作的描述,在 Intent 类中定义了一些字符串常量作为标准动作;
data ,是对执行动作所要操作的数据的描述,Android 中采用 URI 来表示数据;
例:VIEW_ACTION content://contacts/1 表示显示标识符为”1″的联系
人的详细信息。
catagory 类别,是被执行动作的附加信息;
extra 附加信息,除了 data 之外,还可以通过 extra 附加信息,extra 属性使用
Bundle 类型进行数据传递;
component 组件,显式指定 Intent 的目标组件的名称;
type 数据类型,显式指定 Intent 的数据类型;
3. Service 组件
Service 一般由一个 Activity 或其他 Context 对象来启动,当启动 Service 之后,该
Service 将会在后台运行,及时启动这个 Service 的 Activity 或其他组件的生命周期已经
结束,Service 仍然会继续运行,直到自己的生命周期结束为止。每个 Service 都应该在
ndroidManifest.xml 中进行声明。Service 的启动方式有两种,对应的生命周期也各不相同。
通过 startService 方法启动。当系统调用 startService 方法,如果该 Service 还未启
动,则依法调用其 onCreate 方法和 onStart 方法来启动。当其他 Context 对象调用
stopService 方法、Service 调用自身的 stopSelf 或 stopService 方法时才会停止 Service