没有合适的资源?快使用搜索试试~ 我知道了~
首页Android四大核心组件详解
Android四大核心组件详解
需积分: 50 532 浏览量
更新于2023-05-31
评论 1
收藏 230KB DOCX 举报
Android四大核心组件 Activity、BroadcastReceiver、Service、ContentProvider
资源详情
资源评论
资源推荐

Android 四大核心组件:Acvity、Service、Broadcast、ContentProvider。
1.Activity
1.1. Activity 简介(★★)
Acvity 是 Android 四大组件之一,它用于展示界面。Acvity 是一个应用程
序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。Acvity 中所有
操 作 都 与 用 户 密 切 相 关 , 是 一 个 负 责 与 用 户 交 互 的 组 件 , 可 以 通 过
setContentView(View)来显示指定控件。
在一个 android 应用中,一个 Acvity 通常就是一个单独的屏幕,它上面可
以显示一些控件也可以监听并处理用户的事件做出响应。 Acvity 之间通过
Intent 进行通信。
1.2. Activity 简单使用
定义类继承
在 的节点中声明
applicaon:中 lable 是指程序的名字,在卸载页面显示的名字就是这个 lable
指定的。
Acvity 中的 lable 是指 acvity 的名字,如果此 acvity 还指定了:以下 intent-
lter,那么这个界面就会在桌面创建快捷方式,快捷方式名字就是这个 acvity
的 lable

Category:指定意图的类别,Launcher 是在桌面创建快捷方式。
1.3. Activity 在清单文件中的配置
属性:
页面的标题,界面的名字,如果此界面被创建快捷方式,则快
捷方式的名字就是 值。
属性:
指定的值为包名 类名。包名如果与 的 一致,
可以用“代替或者不写。
子节点:
添加意图过滤,可以通过隐式意图启动。可以在桌面生成快捷方式,应
用程序的入口。
属性:
指定应用程序的图标
: 属性,
指定主题: !"#$% &"
1.4. Activity 之间的跳转(★★★★)
Acvity 之间的跳转分为 2 种:
显式跳转:在可以引用到那个类'(并且可以引用到那个类的字节码
时可以使用。一般用于自己程序的内部。显式跳转不可以跳转到其他程

序的页面中。
隐式跳转:可以在当前程序跳转到另一个程序的页面。隐式跳转不
需要引用 到 那 个类 ' 但是 必 须 得知道那 个 界 面的动作 )* 和 信 息
)*。
之间通过 进行通信。 即意图,用于描述一个页
面的信息'同时也是一个数据的载体。
1.4.1.显式意图跳转
意图即 Intent,用于激活组件,Android 的组件都可以通过 intent 去激活。
显示意图是知道意图的包名、类名。
1.4.2.隐式意图跳转
隐式跳转可以跳转到其他程序的 Acvity,当然本应用也是可以的。只要知
道 Acvity 的 动 作 (acon) 以 及 类 型 (category) 。 因 此 , 能 够 被 隐 式 跳 转 的
Acvity,在清单文件中声明时必须指定动作和信息这两个属性。
显式意图是指在创建意图时指定了组件,而隐式意图则不指定组件,通过
动作、类型、数据匹配对应的组件。
1. 隐式意图注意点
在清单文件中定义时需要定义才能被隐式意图启动
<intent-filter>中至少配置一个<action>和一个<category>,否则无法被启动

对象中设置的 、、 在必须全部包含才
能启动
中的、、都可以配置多个, 对
象中不用全部匹配,每样匹配一个即可启动
如果一个意图可以匹配多个 , 系统会提示选择
中还可以设置 属性,那么激活时,也就必须 %)*
<data android:mimeType=""></data>
1.5. 使用 Intent 传递数据(★★★★)
Intent 除了可以激活组件(启动 Acvity 等),还可以通过封装的 Bundle 对
象来携带数据。所以在启动一个 Acvity 的时候,同时还可以传递数据,然后在
新的 Acvity 中可以获得意图对象以获取其中 Bundle 保存的数据。
Intent 可 传 递 的 数 据 类 型 有 : 八 大 基 本 数 据 类 型 , String, 数
组,ArrayList<String>, Bundle 数据捆, 实现序列化接口的 javabean。
注意:Intent 传递的数据过多可能会造成跳转速度极慢甚至黑屏一会,不
要用 Intent 传递过多的数据,会影响到应用程序的使用。
1.6. 创建 Activity 获取返回数据
使 用 startActivityForResult) ( ' (int( +,-* ( 方 法 打 开
重写 onActivityResult)int(+,-'(int(,-'((*(方法

新 中调用 setResult)int(,-'((*(设置返回数据之
后,关闭 ,第一个 就会调用 ., 方法
requestCode,请求码:用于区别是哪个操作启动的意图,resultCode,结果
码,用于区别是哪个 Acvity 返回的数据。接下来将通过案例——“人品计算器”
来演示获取 Acvity 返回数据。
1.7. Activity 生命周期(★★★★)
Acvity 有三种状态:
1、当它在屏幕前台时,响应用户操作的 Acvity, 它是激活或运行状态
2、当它上面有另外一个 Acvity,使它失去了焦点但仍然对用户可见时, 它处
于暂停状态。
3、当它完全被另一个 Acvity 覆盖时则处于停止状态。
当 Acvity 从 一 种 状 态 转变到另一种状态时,会调用其生命周期方法 。
Acvity 一共有七个生命周期方法,具体如下表所示。
方法名 说明
/(-)*
设置布局以及进行初始化操作
(0)*
可见'(但不可交互
剩余24页未读,继续阅读







安全验证
文档复制为VIP权益,开通VIP直接复制

评论0