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()方法,或者直接結束他的進程。當他再次顯示給使用者時,會完全的重新運行並且載入以前所儲存的資訊。