导图社区 Activity
Activity的基本介绍,生命周期,常见使用方法,本图知识梳理清楚,非常实用,值得收藏。
社区模板帮助中心,点此进入>>
本周工作总结与下周工作计划
内衣测评
端午节
怎么美白?
财富规划思维导图
家庭战略转移思考
篮球大纲
预警类型
《断舍离》读书笔记
2019年年中总结(闵利利)
Activity
配置Activity
<activity andriod:name =".SampleActivity" andriod:icon ="@drawable/small.png" andriod:label="@String/freneticLabel" andriod:exported ="true" andriod:launchMode = "singleInstance" <Intent-filter> <action andriod:name = "andriod.Intent.action.MAIN/> <category andriod:name ="andriod.Intent.category.LAUNCHER"/> </intent-filter> </activity>
name
指定该Activity的实现类的类名
icon
指定该Activity对应的图标
label
指定该Activity的标签
exported
指定该Activity是否允许被其他应用调用。 true: 允许被其他应用调用。
launchMode
指定该Activity的加载模式。 四种加载模式: standard SingleTop SingleTask SingleInstance
Intent-filter
Activity 过滤器,根据匹配条件,适配是否可以访问该Activity.
两种启动,关闭Activity方式
startActivity(Intent intent)
finish()
startActivityForResult(Intent intent, int requestCode)
以指定的请求码requestCode 启动Activity,程序将获取新启动Activity的返回结果,在onActivityResult()获取返回值。
finishActivity(intrequestCode)
结束以startActivityForResult(Intent intent, int requestCode)方式启动的Activity
使用Bundle在Activity之间交换数据
信使Intent
Activity之间通过Intent启动,开发者将交换的数据放入Intent中即可。
putExtras(Bundle data)
向Intent中放入需要携带的数据包
Bundle getExtras()
取出Intent中所携带的数据包
putExtra(String name, Xxx value)
向Intent中按key-value对的形式存入数据。 当Intent中有Bundle时候,直接将数据存入Bundle中。 当Intent中没有Bundle时候,创建一个新的Bundle,并将数据存入Bundle中。
getXxxExtra(String name)
从Intent中中按key取出指定类型数据。
Bundle包含的方法
putXxx(String key, Xxxdata)
向Bundle中放入Int, Long等各种类型的数据。
putSerializable()
向Bundle中放入一个可序列化的对象。
getXxx(String key)
从Bundle中取出Int, Long等各种类型数据
getSerializable(String key, Serializable data)
从Bundle中取出一个可序列化的对象
小结
Intent主要通过Bundle来携带数据。
启动其他Activity并返回结果
当启动一个Activity,并希望根据被启动的Activity返回结果,做出相应反馈,则使用StartActivityForResult()方法,来启动一个Activity.
第一个Activity
startActivityForResult(Intent intent, int requestcode)
onActivityResult(int requestCode, int result, Intent intent)
当被启动的Activity返回结果时,onActivityResult()方法将会被触发
被启动Activity
setResult()
被启动的Activity需要调用setResult 方法设置处理结果,并传递给启动方Activity.
生命周期
onCreate(Bundle savedStatus)
onStart()
onRestart()
重新启动Activity时被回调
onResume()
恢复Activity时被回调
onPause()
暂停Activity时,被回调
onStop()
onDestroy()
加载模式
standard
singleTop
singleTask
singleInstance