Android之旅三 Activity詳解

1、 在Android系統中Activity提供可視化的用戶界面,一個Android應用通常由多個Activity組成,多個Activity組成瞭Activity棧,當前活動的Activity處於棧頂,Activity有自己的生命周期,由Android系統控制。

2、 在Activity上面是一個Window對象,Window上面通常是一個佈局容器兌現Layout,再上面是我們要展示的組件,如按鈕、文本框等。

3、 Activity的方法的回調思想

 

 

從上面的代碼我們可以看出:接口(系統框架)是系統提供的,接口的實現是用戶實現的。達到接口統一,實現不同的效果,系統通過在不同狀態下”回調”我們的實現類,達到接口和實現的分離。

4、 Activity的創建:

5、 啟動另一個Activity:一個Activity啟動另一個Activity,我們可以使用startActivity()或者startActivityForResults()方法(能返回結果),這兩個方法中的一個最重要的參數是一個很重要的組件Intent,Intent是相同或者不同組件的信使。

6、 Activity之間的數據傳遞:在java web中我們把數據放在scope中,例如使用session、request等,在android中我們使用Bundle對象,我們將要傳遞的信息封裝到這個對象裡面,通過Intent對象傳遞到另一個Activity中。

我們將信息放入Bundle中,並通過Intent組件傳遞給另一個Activity:

在另一個Activity中獲得數據:

7、 啟動另一個Activity並返回結果,例如在註冊信息的時候用戶填上一步和下一步,當用戶點擊上一步,信息的保存:

 

下一個Activity:

8、 Activity的聲明周期:在Android系統中,Activity作為Activity棧被管理,當前活動的Activity處於棧頂,之前非活動的Activity被壓入下面成為非活動的Activity,等待是否可能被恢復為活動狀態。

Activity中四個重要的狀態:

Activity的生命周期可分為一下三個過程:

整個完整的生命周期:從onCreate()方法開始到onDestory()方法結束

可見生命周期:從onStart開始到onStop結束

前臺可見生命周期:從onResume()方法開始到onPause()方法結束

 

Activity各種狀態及方法調用時機:

註意:如果一個activity完全被另一個activity所掩蓋那他會處於stop狀態。但仍然保存著原來的狀態和信息。然而,如果別的地方需要更多的內存而且這個activity仍一直處於隱藏狀態,那麼系統有可能會殺死他的進程。 

 

如果一個activity是暫停或者停止狀態,系統可以清理他們占用的內存,或者調用finish()方法,或者直接結束他的進程。當他再次顯示給用戶時,會完全的重新運行並且加載以前所存儲的信息。

發佈留言