android学习日记之activity

时间:2022-02-09 05:02:51

所有文档及实例均为老师编写归纳,版权均归我的android老师所有,如有侵权即删

  

Activity创建:

1.      创建一个class继承Activity或者Activity的子孙类。

2.      在清单文件中声明Activity

3.      在创建的类中。重写onCreate方法,在其中添加setContentView方法指定activity的界面

Activity的结束:

1.      点击back键结束activity

2.      调用finish方法结束activity

3.      异常退出activity

4.      通过System.exit()退出activity

一、activity的生命周期

1.      oncreateactivity在创建时执行

2.      onstartactivity从不可见到可见的时候执行

3.      onresumeactivity可见,获取到activity焦点时候执行

4.      onpauseactivity可见,失去焦点的时候执行

5.      onstopactivity从可见到不可见的时候执行

6.      ondestoryactivity销毁的时候执行

7.      onrestartactivitystop状态从新启动时执行

android学习日记之activity

二、activity的启动方式(2种,通过intent实现)

1.      显示:直接指定包名和类名启动

2.      隐式:通过intent-filter匹配action/category/data,来启动activity

想隐式启动一个activity,必须在清单文件中对这个Activity指定一个intent-filter

intent-filter中必须包含:actioncategory

PS:匹配方式参考intent笔记

显示和隐式的区别:

1.      显示启动:指定一个特定的人去做特定的事情

2.      隐式启动:指定特定对的事情,完成事情的人不确定(当可选人唯一的时候,和显示一样)

3.      显示启动不能夸应用启动,隐式启动可以完成夸应用启动(隐式启动是根据清单文件的信息来查询的,清单文件都是托管给系统,作为系统是有跨进程能力的,本身应用是没有跨进程能力的)

三、activity的启动模式(4种)

1.      standard:每次启动activity都在task栈中新建一个空间存放启动的activity

2.      singleTop:当且仅当要启动的activity在栈顶时,不创建新的空间存,直接使用栈顶的空间

3.      singleTask:当启动一个被指定为singleTaskactivity时,系统首先检测当前的task栈中有没有这个activity,如果没有,新建一个空间存放。如果存在,像弹夹一样,先移除所有在其之上的activity,然后显示栈顶

4.      singleInstance:当启动一个被声明为singleInstanceactivity是,系统会创建一个新的task来唯一存放这个activity

四、activity的数据传递(通过intent实现)

1.      启动传递

2.      结束传递