之前也说过,Activity可以说是安卓的门面担当了。当小编做出手机上的第一个计算乘法的计算器时,小编就爱上安卓了。为此还有一天看了9集视频,后来实在看不下去了,就画了一排的小安卓玩滑板的画送给了超哥。
首先,先简单的介绍一下Activity
什么是Activity?
它是构造应用程序界面的一个组件,它可以说是一个控件的容器,是用户与应用程序交互的接口。也可以片面的说是用来显示View的。一想到View,就不禁想起了MVC设计模式,那么在Android开发中MVC有没有应用呢?
MVC在Android开发中的应用
M(Model 模型):Model是应用程序的主体部分,所有的业务逻辑都应该写在这里,在Android中Model层与Java中的变化不大,如:对数据库的操作,对网络等的操作都放在该层(但不是说它们都放在同一个包中,可以分开放,但它们统称为Model层)。
V(View 视图):是应用程序中负责生成用户界面的部分,也是在整个MVC架构中用户唯一可以看到的一层,接收用户输入,显示处理结果;在Android应用中一般采用XML文件里的布局文件描述,使用的时候可以非常方便的引入,当然也可以使用JavaScript+Html等方式作为View。
C(Controller控制层)android的控制层的重任就要落在众多的activity的肩上了,所以在activity中还是不要写太多的代码,尽量交给Model业务逻辑层处理。
在对比了MVC架构之后,我们可以知道在Android中的Activity主要是用来做控制的,相对于Controller,可以选择关联要显示的页面,也可以从View中获取数据然后传给逻辑层,最后再来显示出处理的结果。看一下对比图:
Activity的生命周期:
1、七个生命周期函数:
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
比如说当启动一个新的Activity就会依次调用这三个函数
2、生命周期流程图
3、流程详解:
(1).启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
(2).当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
(3).当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
(4).当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
(5).用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
(6).当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
(7).用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。
(8).onDestory 两种情况会被调用:
如果在代码里明确的调用了一个Activity的finish方法 ,这个Activity就会被销毁掉;系统资源不够用的时候,Activity也会被销毁掉。
总结
因为每天都用手机,因为手机系统就是安卓的,因为可以自己做出个小程序出来臭显摆,因为……所以,学习安卓还是很快乐的,终于知道了当手机玩着游戏的时候突然来个电话我们接起电话手机内部系统是如何运作的,通过生命周期中的onPause 函数把当前的数据保存起来。也可以自己写一个计算器放在手机上,还可以自己做一个表情包,就叫小乖专属怎么样?在学习java之初接触了安卓,应该算是一种幸运吧!