(9 Android) 活动组件Activity
3.2.1 AppCompatActivity、Activity和Context
- AppCompatActivity
随着Android开发技术的发展,在不同的阶段(开发环境)创建Activity组件所使用的基类不同。在使用eclipse进行Android开发时,自动创建的MainActivity继承Activity,而Android Studio继承AppCompatActivity。
Activity作为Android最重要的组件之一,用于设计应用程序的用户界面,其内容来源于布局文件。在一个Activity的onCreate()方法里,使用父类的方法setContentView()呈现内容视图,并以布局文件作为参数。Activity包含了响应界面事件的代码,即具有控制器的功能。
- Activity作为上下文类的子类
在Java SE中,创建一个类,写个main()方法就能运行。一个类调用另一个类,需要先使用new运算符创建另一个类的实例对象。Android应用使用基于组件的设计模式,组件的运行要有一个完整的Android项目环境,在这个环境下,Activity和Service等系统组件才能够正常工作,而这些组件并不能采用普通的Java对象创建方式(使用new运行创建实例),而是要有它们各自的上下文环境。Android提供了维持程序中各组件能够正常工作的一个核心功能类----上下文类android.content.Context。
抽象类Context是Activity的父类,但不是直接父类,因为Java只支持单继承。因此,Activity继承(具有)Context类的所有方法。
3.2.2 Activity组件的基本方法
Activity组件作为用户界面,其子类AppCompatActivity提供的基本方法如图所示。
3.2.3 Activity类具有的扩展方法
在Android应用开发中,除了必须掌握Activity具有的基本方法外,还需要掌握一些扩展的方法,如用于数据共享存储的getPreferences()方法、用于动态加载页面布局的getLayoutlnflater()方法、开始后台服务的startService()方法、发送广播的sendBroadcast()方法、获得内容解析器方法getContentResolver()等,如下表所示。
3.2.4 Activity的生命周期
Activity是由Android系统维护的,每个Activity除了有创建onCreate()、销毁onDestroy()两个基本方法外,还有激活方法onStart()、恢复方法onResume()、暂停方法onPause()、停止方法onStop()和重启方法onRestart()。
Activity在其生命周期中存在三种状态:运行态、暂停态和停止态。运行态是指Activity调用onStart()方法后出现在屏幕最上层的状态,此时用户通常可以获取焦点;暂停态是指Activity调用onPause()方法之后出现的状态,其上还有处于运行态的Activity存在,并且Activity没有被完全遮挡住,即处于暂停态的Activity 有一部分视图被用户所见;停止态是指当前Activity调用onStop()之后的状态,此时它完全被处于运行态的Actívíty遮挡住,即程序界面完全不被用户所见。
对于处于运行态的Actívíty,当用户按返回键退出时,将调用方法onStop()。
Actívíty组件的生命周期如下图所示。
来源:https://www.cnblogs.com/chenhanhao/p/12536506.html