Android中的四大组件分别是Activity,service,cotentprovider,BroadcastReceiver。其中,Activity是一个负责与用户交互的组件,每个Android应用中都会用Activity来显示界面以及处理界面上一些控件的事件。
4.1Activity的生命周期
Activity从创建到销毁的整个过程就是Activity的生命周期,Activity的生命周期包含五种状态。
1,生命周期状态
分别是启动状态,运行状态,暂停状态,停止状态和销毁状态。
当Activity处于运行状态时,Android会尽可能地保持这种状态,即使出现内存不足的情况,Android也会先销毁栈底的Activity,来确保当前Activity正常运行。
在某些情况下,Activity对用户来说仍然可见,但它无法获取焦点,用户对它操作没有响应,此时它就处于暂停状态。
Activity生命周期的启动状态和销毁状态是过渡状态,Activity不会在这两个状态停留。
2,生命周期方法
Activity的生命周期包括创建,可见,获取焦点,失去焦点,不可见,重新可见,销毁等环节。回调方法:
①onCreate:创建时调用,通常做一些初始化设置。
②onStart:即将可见时调用。
③onResume:获取焦点时调用。
④onPause:当前Activity被其他Activity覆盖或屏幕锁屏时调用。
⑤onStop:对用户不可见时调用。
⑥onRestart:从停止状态到再次启动时调用。
⑦onDestroy:销毁时调用。
第一次运行程序时,依次调用①②③,不再继续向下进行,此时程序处干运行状态。
当依次调用④⑤后则处于停止状态。
4.2Activity的创建,配置,启动和关闭。
1,创建:①直接通过选择New→Activity→Empty Activity选项的方式来创建。②通过创建一个类,将该类继承AppCompatActivity来实现。
2,配置:创建的每个Activity,都必须在清单文件AndroidManifest.xml中配置才能生效。第一种方式创建的程序自动配置,第二种方式创建的需手动配置。
3,启动和关闭:可以通过startActivity方法启动创建的Activity。关闭可以调用Activity提供的finish()方法。
4.3Intent与IntentFifter
Activity,Service和BroadcastReceiver这三种组件都需要使用Intent进行操作。
1,Intent被称为意图,是程序中各组件间进行交互的一种重要方式。不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递。它一般用于启动Activity,Service以及犮送广播等。可分为显式Intent与隐式Intent。
①显式Intent指的是直接指定目标组件。
②隐式Intent不会明确指出需要开启的目标组件。被广泛地应用在不同应用程序之间传递数据。有三个属性:
action:表示Intent对象要完成的动作。
data:表示Intent对象中传递的数据。
category:表示为action添加的额外信息。
常用action常量:android.intent.action.+MAIN:程序的入口。
+VIEW:显示指定数据。+DIAL:显示拨号面板等。
2,IntentFilter过滤器。
当发送一个隐式Intent后,Android系统会将它与程序中的每一个组件的过滤器进行匹配,匹配属性有action,data和category。需要这三个属性都匹配成功才能唤起相应的组件。
4.4Activity之间的跳转与数据传递
1,Activity之间的数据传递
使用Intent传递数据有两种方式:
①使用Intent的putExtra()方法传递数据。它包含两个参数,数据名称与传递的数据信息。
②使用Bundle类传送数据。
2,Activity之间的数据回传
launch()方法:用于启动Activity,launch(I input),参数input表示向启动的Activity传递的数据,这些数据可以封装在Intent对象中