Android的5個關鍵類,也就是把Android應用開發入手方向大致劃分成了5個大塊,正如本文標題寫的一樣——Activity應用活動、Service後台服務、BroadcastReceiver廣播接收、ContentProvider數據支持(外部數據)、Intent意圖(活動橋),在此也感謝《Google Android 開發入門與實戰》給我的啟發(書挺貴的,例子較基礎,大多圍繞SDK展開,但是代碼格式不怎麼規範,應該是排版搞出來的問題,最有價值的是書最後的幾個項目例子,能學到不少東西,很感謝書的作者提供了這些東西)。
1. Activity:應用活動(官網:http://developer.android.com/reference/android/app/Activity.html,本地:本地SDK/reference/android/app/Activity.html)
Activity幾乎承接著用戶對應用程序(Application)的所有操作,Activity應該有一個窗口(Window),這個窗口是可以通過不用的主題(Theme)改變樣子的。 Activity應該要注意它的生命週期(Lifecycle)、設備狀態(Configuration)改變時的影響以及運行狀態和數據的保存,這個在一個應用程序是否可靠和人性化上至關重要。 Activity裡還應該要申明一些許可(Permissions),以便使用Android的一些軟硬件功能,這些申明可以由代碼或者
Manifest.xml給出。最後,每個Activity(的入口)一定要在Manifest當中申明。
2. Service:後台服務(官網:http://developer.android.com/reference/android/app/Service.html,本地:本地SDK/reference/android/app/Service.html)
Service是沒有界面的程序,它是所謂的服務,也叫後台程序。應該要非常注意Service的啟動(startService)和綁定(bindService)這兩種開啟Service的方法之間的關係以及Service對應的生命週期,兩種開戶Service的方法對Service的生命週期效果是不同的。還有就是申明許可以及申明Service,也是在代碼內或者Manifest內申明。
3. BroadcastReceiver:廣播接收(官網:http://developer.android.com/reference/android/content/BroadcastReceiver.html,本地:本地SDK/reference/android/content/BroadcastReceiver.html)
廣播接收並不是通常所說的無線電廣播,而是指由sendBroadcast()所發送出來的意圖(Intent),即廣播在這裡的意思是意圖,BroadcastReceiver在註冊(Registe)之後可以自動監聽符合預先給定的條件的意圖,如果有則會通知此BroadcastReceiver的持有程序。
4. ContentProvider:數據支持(外部數據)(官網:http://developer.android.com/reference/android/content/ContentProvider.html,本地:本地SDK/reference/android/content/ContentProvider.html)
ContentProvider是作保存應用程序數據和建立維持數據庫之用,以便程序重新啟動時回到以前的狀態或者保存信息。應該注意應用程序的使用權限以及SQL語言的使用,Android用的是一個輕量級的數據庫系統SQLite。
5. Intent:意圖(活動橋)(官網:http://developer.android.com/reference/android/content/Intent.html,本地:本地SDK/reference/android/content/Intent.html)
Intent是Android應用開發里很重要的一個元件,很多書上以直譯來解釋,不太好理解,我覺得可以譯為“活動橋”,也就是連接兩個活動(Activity)的橋樑(Bridge)。通過Intent可以從一個Activity來啟動另一個任意的Activity,不管是自己定義的還是系統定義的。在ActivityGroup(extends Activity)裡面,Intent的flag設置對於子Activity的啟動方式至關重要。