andorid 之 activity

先看一下其继承派生关系:

java.lang.Object
   ↳ android.content.Context

   ↳ android.content.ContextWrapper


   ↳ android.view.ContextThemeWrapper



   ↳ android.app.Activity

在andorid系统中Activities通过activity stack来管理。当一个新的activity启动时,
它被放置在栈的顶部并且变成运行activity(running activity)--先前的activity依然保持
在栈里面,并且只有当新的activity存在时,才会来到前台处理。


一个activity有4个基本的状态:


activity的状态机示意图如下:



从上面的activity生命周期我们可以总结出以下可能出现的情况:
必调用的三个方法:onCreate() --> onStart() --> onResume(),用PPP表示
(1)父Activity启动子Activity,子Actvity退出,父Activity调用顺序如下
          PPP  --> onPause() --> onStop() --> onRestart() --> onStart()-->onResume() …
(2)用户点击Home,Actvity调用顺序如下
          PPP --> onPause() --> onStop() -- Maybe --> onDestroy() – Maybe
(3)调用finish(),Activity调用顺序如下  PPP --> onPause() --> onStop() --> onDestroy()
(4)在Activity上显示dialog, Activity调用顺序如下  PPP
(5)在父Activity上显示透明的或非全屏的activity,Activity调用顺序如下  PPP --> onPause()

(6)设备进入睡眠状态,Activity调用顺序如下  AAA  --> onPause()



activity有没有父子关系?
---有,如果activity A创建了activity B,我们可以称A-B是父与子关系。

Quickview:
在你的应用程序中,一个activity为一个屏幕提供一个用户接口。
activity可以被移到后台,并且随着它们的状态的重置而被重新恢复。




activity可以是全屏、也可以非全屏或者是浮float在其它activity上。
activity状态的改变,是通过其生命周期回调函数来实现。
在不同的回调函数中,开发者需要根据自己的activity情况进行不同的处理,
例如在pause回调中,可能你需要保存某些状态,在stop时,你需要释放
一些大的对象,例如网络和数据库的连接等。当activity再次恢复时,
你需要获取必要的资源和恢复被打断的处理。

---------------------------------------------------------------------------------------------------------
onCreate()
当activity第一次被创建时,被调用。
Called when the activity is first created. This is where you should do all of your normal static set up: create views, bind data to lists, etc.
This method also provides you with a Bundle containing the activity's previously frozen state, if there was one.

findViewById
根据XML中的ID属性,查找相应的view
Finds a view that was identified by the id attribute from the XML that was processed in onCreate(Bundle).

startActivity(Intent)
启动一个新的activity,且此activity将被放在activity栈的顶部。

startActivityForResult(Intent, int)
当一个activity销毁时,你需要从它那返回一个结果,此时应该调用该接口,而结果返回是通过下面的接口:
onActivityResult(int, int, Intent)




你可能感兴趣的:(xml,数据库,网络,UP,dialog,float)