Android-----activity组件

Android中的activity组件表现为与用户交互的可视化界面。用户定义的activity都必须继承与父类,一个应用程序可以油多个或一个activity组成,Android平台通过activity栈来管理activity。每一个Activity都被分配一个用于绘制的窗体,一般来说,这个窗体是全屏的,但也可以比全屏小且浮于其他窗体之上。窗体上的可是内容油一组视图元素组成,这些视图元素都继承与View类。

1、Activity的生命周期

Android中Activity共有四种基本的状态:

  1)Active/Running状态:一个新的Activity启动后,它处于栈的最顶端,在最前端,此时的Activity是激活状态,可见,并能与用户交互;

  2)Paused状态:当Activity被另一个透明或者Dialog 样式的Activity覆盖时的状态,此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点,所以不可与用户交互;

  3)Stoped:当Activity被另外一个Activity覆盖、失去焦点并不可见时的状态;

  4)Killed: Activity被系统杀死回收或者没有被启动时处于Killed状态。

Activity在运行期间的状态可以通过下图得到理解:

图片中的生命周期对应的方法为:创建onCreate、启动onStart、恢复onResume、暂停onPause、停止onStop、销毁onDestroy、重启onRestart。当一个应用程序启动运行时,先后执行onCreate()、onStart()、onResume(),当按下back键时,先后调用onPause()、onStop()、onDestroy(),在执行程序时,按了home键时,会执行onPause()、onStop(),此时的Activity并没有销毁,再次执行程序时,先后执行onRestart()、onStart()、onResume()。

2、Activity栈

Android 是通过一种 Activity 栈的方式来管理 Activity 的,一个 Activity 的实例的状态决定它在栈中的位置。处于前台的 Activity 总是在栈的顶端,当前台的 Activity 因为异常或其它原因被销毁时,处于栈第二层的 Activity 将被激活,上浮到栈顶。当新的 Activity 启动入栈时,原 Activity 会被压入到栈的第二层。一个 Activity 在栈中的位置变化反映了它在不同状态间的转换。

3、Activity用户界面展示

Activity使用setContentView方法来设置内容视图,方法中的参数是一个布局资源ID,ADT会根据布局资源定义自动生成ID到资源的映射,Activity使用资源ID来访问资源内容,下图是Activity组件展示用户界面的实现机制:

4、Activity传递数据

Android使用一个很特殊的类Intent在不同Activity中传递数据,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消息的内容,使用startActivity方法,通过Intent参数,将需要传递的数据封装在Intent对象中,另一个Activity在启动时获取Intent,解析其中的数据内容。通常通过Bundle对象封装数据,在放到Intent对象中,Bundle对象其实就是一个map集合。

 

转载于:https://www.cnblogs.com/mmy0925/archive/2013/01/16/2862223.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值