Android四大组件之Activity--基础

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的生命周期

        说到这个,就不得不看这张图了。。。

    
这张图已经说明了一切,简单的说就是

onCreate() 方法 当Activity第一次启动的时候调用
onStrat() 方法 当Activity变成可见的时候调用 
onResume()方法 当activity可以获取焦点的时候  当界面的按钮可以被点击了
onPause()方法 当失去焦点的时候调用 当按钮不了可以被点击的时候调用
onStop() 方法 当activity 不可见的时候调用
onRestart()当界面重新启动的时候调用
onDestroy() 方法 当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官方文档(超详细)

上面的可能需要翻墙:activity官方翻译(国内)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值