1. 程式人生 > >android 引入廣播的用意

android 引入廣播的用意

面試的時候有可能面試官會問你這樣的問題,android引入廣播的用意是什麼?下面總結幾點,希望對大家有所幫助,謝謝!

        第一    從MVC的角度考慮(應用程式內)

其實回答這個問題的時候還可以這樣問,android為什麼要有那4大元件,現在的移動開發模型基本上也是照搬的web那一套MVC架構,我相   信做過J2EE開發的對這個一定不陌生吧,只不過是改了點嫁妝而已。android的四大元件本質上就是為了實現移動或者說嵌入式裝置上的 MVC架構,它們之間有時候是一種相互依存的關係,有時候又是一種補充關係,引入廣播機制可以方便幾大元件的資訊和資料互動

 第二  程式間互通訊息(例如在自己的應用程式內監聽系統來電)

  第三  效率上(參考UDP的廣播協議在區域網的方便性)

  第四  設計模式上(反轉控制的一種應用,類似監聽者模式)

總結一下幾點:

    1.在Android 中如果要傳送一個廣播必須使用sendBroadCast 向系統傳送對其感興趣的廣播接收器中。 

    2.使用廣播必須要有一個intent 物件必設定其action動作物件 

    3.使用廣播必須在配置檔案中顯式的指明該廣播物件

    4.每次接收廣播都會重新生成一個接收廣播的物件 

    5.在BroadCast 中儘量不要處理太多邏輯問題,建議複雜的邏輯交給Activity 或者 Service 去處理 

     Android廣播機制(兩種註冊方法) 可以參考另一篇部落格講解

     在android下,要想接受廣播資訊,那麼這個廣播接收器就得我們自己來實現了,我們可以繼承BroadcastReceiver,就可以有一個廣播接受器了。有個接受器還不夠,我們還得重寫BroadcastReceiver裡面的onReceiver方法,當來廣播的時候我們要幹什麼,這就要我們自己來實現,不過我們可以搞一個資訊防火牆