天天看點

《Android 應用案例開發大全(第二版)》——6.1節Android系統的信使:Intent

本節書摘來自異步社群《android 應用案例開發大全(第二版)》一書中的第6章,第6.1節android系統的信使:intent ,作者李甯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

6.1 android系統的信使:intent

android開發權威指南(第二版)

android系統從誕生之初就不允許直接通路4大應用程式元件1(activity、service、broadcast receiver和content provider),這就需要提供一種機制可以通路這些元件,這也是intent誕生的根本原因。

intent對象被應用于4大應用程式元件中的3個(activity、service和broadcast receiver),而content provider會采用其他方式通路(在後面的章節會詳細介紹)。例如,對于視窗(activity)來說,盡管無法直接通路視窗執行個體,但可以調用startactivity方法顯示視窗。為了可以更靈活地控制視窗,以及向視窗傳遞資料,就需要一種技術來完成這些工作,這就是intent對象的核心功能,是以說intent對象從本質上來說就相當于一個信使,用于儲存和傳輸各種資料。

服務(service)和廣播(broadcast)的使用方法和視窗(activity)類似,intent對象也用來完成類似的工作。

下面的代碼用于開始服務和發送廣播,其中都使用到了intent對象。關于服務和廣播的細節會在後面的章節讨論。

從上面的代碼可以看出,開始服務、發送廣播和顯示視窗的代碼風格是相同的,都需要建立一個intent對象,并指定相關的資訊(服務指定具體的服務類;廣播指定一個字元串,被稱為broadcast action)。

1如果讀者繼續閱讀本書後面的章節,會逐漸體會到為什麼安迪-魯賓(andy rubin,android之父)要這麼設計。

繼續閱讀