讓你明白,Android常用組件四大天王
Android操作系統(tǒng)是一個復雜的平臺,其中包含了多種功能模塊,比如用戶界面系統(tǒng)、系統(tǒng)間通信系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和定位服務等,各種功能模塊之間相互配合為應用程序提供服務。
Android架構里定義了4種應用程序,用戶的Android應用程序都是由這4種構建組成的。更多詳細干貨請看帶你了解Android四大基本組件。
活動activities——桌面操作系統(tǒng)中獨立的應用程序類似
可以通過查詢queries和意圖intents向其他活動或服務services獲取數(shù)據(jù)和服務。
服務services——后臺程序daemons類似
啟動以后一直在后臺運行,直到手機設備關機為止。服務通常不顯示用戶界面
如:用戶可以播放mp3的時刻運行其他一些應用程序。在退出操作界面后仍然維持程序的運行。
廣播和意圖的接收器broadcast and Intent Receivers
用戶處理應用程序出發(fā)的服務請求。廣播接收器用戶處理系統(tǒng)級別的事件消息,這些消息可能是android系統(tǒng)本身發(fā)出的,也可能是來自系統(tǒng)中正在運行的其他應用程序。一個活動或者服務通過實現(xiàn)意圖接收器來向其他應用程序提供服務,意圖接收器就是一段可執(zhí)行的代碼,負責響應其他活動或者服務發(fā)出的數(shù)據(jù)或者服務請求。想要發(fā)送請求的活動、客戶端首先需要創(chuàng)建一個意圖對象,然后將這個意圖對象提交給android操作系統(tǒng),***由android操作系統(tǒng)決定使用哪個應用程序處理該意圖。
內容提供器Content providers
用戶向其他活動或服務提供數(shù)據(jù)服務。內容提供器通過使用標準URI(uniform resource identifier)接口為其他應用程序提供數(shù)據(jù)服務,數(shù)據(jù)的請求者甚至不需要知道服務的提供者是誰。
比如:某個應用程序發(fā)出了一個查詢某個聯(lián)系人信息的消息,請求格式如下:
Content://contacts/people
Android操作系統(tǒng)就會查詢系統(tǒng)中注冊了這個URI格式的內容提供器,并將請求發(fā)送給響應的應用程序(如果該應用程序還沒有啟動,系統(tǒng)會自動將其啟動)。如果有多個應用程序都注冊了同樣的URI格式,那么操作系統(tǒng)就會提示用戶選擇其中一個。
URI和意圖機制松散耦合是的各種應用程序可以和諧地一起工作。