本篇文章主要介绍了"Android笔记----深入理解Activity",主要涉及到方面的内容,对于Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
建立、配置和使用ActivityActivity的回调机制Activity的生命周期 建立、配置和使用Activity Activity是And...
建立、配置和使用Activity
Activity的回调机制
Activity的生命周期
建立、配置和使用Activity
Activity是Android应用中最重要、最常见的应用组件。实际应用中,包含多个Activity,实现不同的Activity向用户呈现不同的操作界面。Android应用的多个Activity组成Activity栈,当前活动的Activity位于栈顶。
Activity的作用
用户与应用程序交互的接口;
作为放置控件的容器。
1.1、建立一个Activity的步骤如下:
建立Activity需要继承Activity基类,根据不同的需要,有时也需要继承Activity的子类。
需要复写onCreate()方法(由应用程序的框架调用)。
每一个Activity必须在AndroidManifest.XML文件中进行配置
为Activity添加必要的控件。
1.2、 启动、关闭Activity
一个Android应用通常都会包括多个Activity,但只有一个Activity会作为程序的入口,该Activity会在Android应用运行时,自动启动并执行。至于应用中的其他的Activity,通常由入口Activity启动。
Activity启动其他Activity有如下两种方法。
startActivity(Intent intent);启动其他的Activity。
startActivityForResult(Intent intent,int requestCode ):以指定请求码(requestCode)启动Activity,而且程序将会等到新启动Activity的结果(通过重写onActivityResult(…)方法来获取)。
Android为关闭Activity准备了如下两个方法。
finish():结束当前Activity
finishActivity(int requestCode):结束以startActivityForResult(Intent intent,int requestCode )方法启动的Activity。
1.3 使用Bundle在Activity之间交换数据
当一个Activity启动另一个Activity时,常常会有一些数据要传递过去,在Android中,需要传递的数据放在对象Intent中。
Intent提供了多个重载的方法来携带额外的数据。
putExtras(Bundle data):向Intent中放入需要携带的数据。
方法中的Bundle是数据携带包,提供了多个方法存入数据
putXxx(String key,Xxx data):向Bundle中放入各种类型数据。
putSerializable(String key,Serializable data):向Bundle中放入一个可序列化的对象。
为了取出Bundle数据携带包里的数据,Bundle提供如下方法。
getXxx(String key):从Bundle取出Int、Long等各数据类型数据。
getSerializable(String key,Serializable data):从Bundle取出一个可序列化的对象。
1.4 启动其他Activity并返回结果
Activity提供了一个startActivityForResult(Intent intent,int requestCode )方法来启动其他Activity。该方法用于启动指定的Activity,而且期望获取指定Activity返回的结果。
为了获取被启动的Activity所返回的结果,当前Activity需要重写onActivityResult(int requestCode,int resultCode,Intent intent)。
一个Activity中可能包含多个按钮,并调用startActivityForResult()方法来打开多个不同的Activity处理不同的业务。当这些新Activity关闭时,系统都会调用前面Activity的onActivityResult(int requestCode,int resultCode,Intent intent)方法,利用request Code区分是哪个请求结果触发的,利用resultCode区分返回的数据来自哪个新的Activity。
Activity的回调机制
Activity被开发出来,开发者只要在AndroidManifest.xml文件配置该Activity即可,至于该Activity何时被实例化,方法何时被调用,对开者来说是完全透明的。
上篇介绍了事件的回调机制, Activity的回调机制也类似,当Activity被部署在Android应用中之后,随着应用的运行, Activity会不断地在不同的状态之间切换,该Activity中特定的方法就会被回调
Activity的生命周期
当Activity处于Android应用中运行时,它的活动状态由Android以Activity栈的形式管理。当前活动的Activity位于栈顶随着不同应用的运行,每个Activity都有可能从活动状态转入到非活动状态,也可以从非活动状态转入到活动状态。
Activity大致会经过如下四个状态。
活动状态:当前Activity位于前台,用户可见,可以获得焦点
暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点。
停止状态:该Activity不可见,失去焦点。
销毁状态:该Activity结束,或Activity所在Dalvik进程结束。
Activity生命周期及相关回调方法如下图所示。

在Activity的生命周期中,如下方法会被系统回调。
onCreate(Bundle savedStasus):创建Activity时被回调。
onStart():启动Activity时被回调。
onRestart():重新启动Activity时被回调。
onResume ():恢复Activity时被回调。
onPause():暂停Activity时被回调。
onStop():停止Activity时被回调。
onDestroy():销毁Activity时被回调。
以上就介绍了Android笔记----深入理解Activity,包括了方面的内容,希望对Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_103728.html