Activity是Android中最核心的應用程序組件,是用於控制顯示界面的組件。一個Activity就是一個類,該類繼承了android.app.Activity,並須要重寫onCreate方法,同時在AndroidManifest.xml中進行註冊。 android
在建立Activity時須要注意幾點:
1.Activity的控件初始化通常在onCreate方法中完成,好比setContentView方法裝載View,而不能在Activity的構造方法中完成初始化控件。
2.Activity中必需要有一個無參的構造方法,由於Activity不是由手動建立,而是經過Intent對象和startActivity方法由系統內部建立。 app
Activity的生命週期
七個生命週期方法:
onCreate();當Activity第一次被調用時觸發。
onStart();當Activity能被用戶看到時觸發。
onResume();當Activity得到用戶焦點時觸發,即用戶能夠對Activity進行操做時。
onPause();當準備啓動另外一個Activity時被觸發。
onStop();當另外一個Activity啓動完成,而原Activity不可見時被觸發。
onRestart();當一個處於shop狀態的Activity被從新啓動時觸發。
onDestroy();手動調用了Activity的finish方法時、或當系統資源不夠用時、或點擊了Android的返回按鈕時都會被觸發。 spa
第一次被調用時:onCreate();-->onStart();-->onResume();
組件失去焦點時:onPause();-->onStop();
從新得到焦點時:[onPause]-->onResume();
[onStop]-->onRestart();-->onStart();-->onResume(); xml
Activity之間傳遞數據大體有四類方式:
1.經過Intent進行數據傳遞。
2.經過定義Activity的靜態變量的方式傳遞。(不推薦)
3.經過系統剪切板傳遞字符數據(對象類型可考慮將對象序列化後保存)。
4.經過定義一個全局對象來保存一些長駐內存的數據。(需繼承android.app.Application,帶無參構造方法,在AndroidManifest.xml中進行註冊) 對象
Intent對象包含了一組信息(能夠跨應用進行傳遞調用,經過startActivity(intent)實現Activity間的切換):
1.Componentname
指定啓動哪一個組件,Intent還能夠啓動Service(服務)和Broadcast Receiver(廣播接收器)。
intent.setClass(Context,class); 繼承
2.Action
指定被啓動的組件作什麼動做,官方自帶了一些動做常量:ACTION_CALL、ACTION_EDIT、ACTION_MAIN等等。
intent.setAction(String); 生命週期
3.Data
用於保存組件間傳遞的數據對象。MIME的數據類型。 內存
4.Category 資源
5.Extras
額外附加的鍵值隊數據(Key-Value) it
6.Flags