Android启动模式及Intent属性----重新认识Android(5)

来源:互联网 发布:ubuntu pyqt 安装 编辑:程序博客网 时间:2024/05/17 22:31

Activity的启动模式、Intent的七大属性

 

任务:就是存储app启动的Activity对象的集合
回退栈:按照Activity打开顺序进行次序排放(先进后出)

一、Activity的四种模式:
1、standard:标准
默认的是该模式
只要跳转就会创建对应的实例对象onCreate
2、singleTop:顶部唯一
如果当前的Activity对象在顶部就不再onCreate而是自动调用onNewIntent方法
如果不再顶部或不存在就onCreate
3、singleTask:任务中实例唯一
如果当前的任务中有对应的实例对象,那么就不再onCreate而是自动调用onNewIntent方法
如果对应的前面有Activity对象那么就全部退出
如果不存在就onCreate
4、singleInstance:开辟任务,存储当前Activity实例(不建议使用)
每个回退栈中只会存储一个实例对象

启动模式在清单文件中配置:
<activity android:name=".MainActivity" android:launchMode="standard" />

二、Intent:意图
作用:
1、用于封装程序的”调用意图“
2、实现两个Activity之间的数据交换
3、各种应用程序组件(Service、BroadcastReceiver)之间通信的重要媒介

页面跳转:
1、startActivity:跳转
2、startActivityForResult:回传
Intent的七大属性:
1、Component name 组件名 类类型 组件名表示包名.类名
设置组件名 setComponent()
setClass()
setClassName()
获取getComponent()

2、Action 字符串类型对组件特征描述--定义意图的行为
1.系统提供的action常量
ACTION_VIEW
2.自定义action
setAction() 设置action getAction()获取action

3、Data 数据 一般与action结合到一起用 表示action动作执行的数据资源
URI(统一资源标示符) Data就是uri类型的数据 uri类型中包括数据资源以及数据类型 MIME
scheme://host:port/path
setData() setDataAndType() 设置data
getData() getType() 获取方法

4、Type 数据类型 设置数据的MIME类型 格式 大类型/小类型----字符串
setType()设置Data的类型 getType()获取Data的类型

5、Category 分类 字符串对activity进行分类
addCategory()设置 removeCategory()移除
getCategories()获取分类字符串列表

6、Extras 额外信息
主要在intent激活组件时进行数据的传递

7、flags 标记 int类型
用来标记回退栈中的actvity 以及提供的常量可以设置activity的启动模式
setFlags() 设置标记
getFlags() 获取标记
常用的标记:
FLAG_ACTIVITY_CLEAR_TOP:(效果同Activity LaunchMode的singleTask)
FLAG_ACTIVITY_SINGLE_TOP:(效果同Activity LaunchMode的singleTop)
FLAG_ACTIVITY_NEW_TASK




0 0
原创粉丝点击