Android有四大组件:①Activity(活动)②BroadCastReceiver(广播接受者)③Service(服务)④ContentProvider(内容提供者)
需要注意的是:四大组件使用时都需要在清单文件(AndroidManifest.xml)中注册配置
包含知识点:①了解什么是activity
②掌握activity的创建使用
③了解activity的生命周期
④了解任务栈的概念和activity的启动模式
相关函数和类:类:Activity、Intent
函数:setContentView()、startActivity()
1.Activity初步了解
Activity即活动,小Z的简单理解是:activity就是我们能过看到的页面,每个我们看到的页面就是一个activity
一、创建一个activity
一个Activity一般包含两部分:①一个继承自Activity的类②一个xml的布局文件
通过setContentView()方法将两者关联起来
二、多个Activity之间交互
一个app通常包含很多个activity,多个activity之间跳转交互,就构成了我们的app。当然一个app包含的远不止如此。
从一个activity中启动另个activity,通常使用Intent(意图)
步骤如下:
①创建另一个activity
②new一个Intent对象,指定要启动的activity对象
③startActivity(intent)方法启动另一个activity
Intent intent = new Intent(this,OtherActivity.class);
startActivity(intent);
Intent分为两种,一种是显式意图,一种是隐式意图
上面的方法使用的是显式意图,隐式意图使用方法如下:
Intent intent = new Intent();
intent.setAction("android.intent.action.SEND");
intent.addCategory("android.intent.category.DEFAULT");
intent.setType("text/plain");
startActivity(intent);
这个是启动短信的示例,其中android.intent.action.SEND和android.intent.category.DEFAULT是清单配置文件中每个activity的Intent-filter中配置的action和category的值,通过这种方法系统来自动筛选可能的activity,如果有多个activity符合条件,系统会让用户选择一个activity来启动
2.Activity进阶
一、Activity的生命周期
说到这个,就不得不看这张图了。。。
这张图已经说明了一切,简单的说就是
二、任务栈
栈:先进后出(队列:先进先出)
android系统中Activity是通过任务栈来维护的,我们操作的Activity永远是栈顶的activity
我们通常所说的程序退出了,实际上是activity出栈了
关于任务栈的直接体现就在Activity的四种启动模式
三、Activity的四种启动模式
启动模式配置如图:launchMode
①standard 标准模式---默认配置
②singleTop 单一顶部模式
即:在创建新的activity时,系统会先检测栈顶是否是这个activity,如果是,则不会重复创建,直接复用
③singleTask 单一任务模式
即:singleTop仅检查栈顶,而singleTask则是检查整个任务栈,如果存在,则会将这个activity任务栈上面的activity都出栈,使这个activity在栈顶,复用,这用整个任务栈中就只用一个这个activity
④singleInstance 单一实例模式
即:整个系统中仅存在一个这个activity的实例,为了实现,系统会为这个activity单独创建一个任务栈,并且这个任务栈中只有一个实例存在
应用场景:来电页面,通过这种方法,由于activity处在一个单独的任务栈中,所以不会因为其他的activity而被关闭终止
更多相关内容:①管理Activity生命周期(中文)
上面的可能需要翻墙:activity官方翻译(国内)