1.创建一个activity
a.创建一个xxxactivity类继承activity类,实现oncreate方法,setContentView方法加载布局.
b.在AndroidManifest.xml清单文件中注册
<activity
android:name=".................." ★★★★★activity路径,这个一定要设置
label
icon
theme 这三个不设置则跟application一样
launchMode activity启动方式(任务栈的处理不一样,不写默认standard), "standard" "singleTop" "singleTask" "singleInstance"
configChanges="screenSize|keyboardHidden|orientation" 这样设置可以限制activity横竖屏切换,,字面理解是配置改变时处理的属性,还没理解,待补充★
screenOrientation="portrait" 这样设置可以限制activity横竖屏切换.
>
<intent-filter>过滤器设置,一般希望别的程序能调用本activity才设置,隐式意图
<action> 动作,这里设置什么,使用隐式意图时就填什么
ACTION_MAIN:Android Application的入口,每个Android应用必须且只能包含一个此类型的Action声明.★
<category.> 同上
CATEGORY_LAUNCHER:设置该组件为在当前应用程序启动器中优先级最高的Activity,通常为入口ACTION_MAIN配合使用.★
<date> 要求接收的Intent中的data必须符合intent-filter中指定的data属性,这样达到反向限定Intent的作用
<inter-filter/>
<activity/>
2.显式意图和隐式意图:
显式意图:通过指定具体包名和类名 开启activity
Intent intent = new intent(AActivity.this,BActivity.class);
隐式意图:
通过指定一组动作或者数据 开启activity
3.使用intent进行activity之间的数据传递
intent.putExtra("key","value");传
Intent intent = getIntent(); intent.getStringExtra("key"); getTYPEExtra("key");
4.开启activity的两种方式
a.有请求码和返回码的 startActivityforResult(intent);
在跳转的activity中,需要建立一个intent对象, 使用setresult(resultcode,intent).方法传回数据和返回码 finish();后传回
在原activity中还需要实现一个onActivityResult方法根据请求码和接受码来接收返回的数据
b.没有接收返回数据的 startActivity(intent);
5.请求码和结果码的作用
在第一个activity中的onActivityResult方法中使用
6.activity的生命周期
oncreate--->onstart----->onresume---->onpause--->onstop------>ondestroy
启动 看到界面 界面有焦点 失去焦点 看不到界面 销毁
onresume < ----onpause还看到界面,但失去焦点到获得焦点
onstart<---onrestart<-----------------------onstop 看不到页面,重新看到页面.
7.任务栈
先进后出,一直往上堆.....出去也是原路一个个返回
8.四种启动模式
standard
singletop
singletask
singleinstance