《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對象。關于服務和廣播的細節會在后面的章節討論。
// MyService是服務類 Intent serviceIntent = new Intent(this, MyService.class); // 開始服務startService(serviceIntent)**;** // mybroadcast是廣播字符串 Intent broadcastIntent = new Intent("mybroadcast"); // 向系統發送一條廣播 sendBroadcast(broadcastIntent)**;**從上面的代碼可以看出,開始服務、發送廣播和顯示窗口的代碼風格是相同的,都需要創建一個Intent對象,并指定相關的信息(服務指定具體的服務類;廣播指定一個字符串,被稱為Broadcast Action)。
1如果讀者繼續閱讀本書后面的章節,會逐漸體會到為什么安迪-魯賓(Andy Rubin,Android之父)要這么設計。
總結
以上是生活随笔為你收集整理的《Android 应用案例开发大全(第二版)》——6.1节Android系统的信使:Intent的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脑洞大开的 iPhone 配件,看看你有
- 下一篇: 《深入理解Android》一2.1 浏览