EventBus在各模塊中基本使用

    EventBus是一款針對Android優化的發佈/訂閱事件總線。主要功能是替Intent,Handler,BroadCast在Fragment,Activity,Service,線程之間傳遞消息.優點是開銷小,代碼更優雅。以及將發送者和接收者解耦。

    這部分使用起來相對簡單

1、eventbus.jar第三方架包

    這個包不大,23K下面是連接地址

    http://download.csdn.net/download/androidstarjack/8958389

2、註冊(接收)

    這裏需要說明,需要接收數據的地方纔註冊,否則不需要

    即誰接收誰註冊原則

    

EventBus.getDefault().register(this);


    //這個是接收發送的數據

    //我們暫且使用onEventMainThread接口來接收

 

   public void onEventMainThread(Object obj) {
        Log.v("result", "ThirdActivity: " + obj.toString());
   }


3、發送

    

    EventBus.getDefault().post(object)

    post裏面是一個object超類,可以是自己定義的一個對象


4、註銷

    不用的時候別忘了註銷掉(否則仍會接收,這一點和廣播類似)

   

    @Override
    protected void onDestroy(){
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }


onEventXXXX  onEvent函數一共有四種,前面的例子只用到一個onEvent。  

       函數名                         含義 

ThreadMode onEvent                         事件處理在事件發送的那個線程執行 

PostThread onEventMainThread               事件在主線程-UI線程執行 

MainThread onEventBackgroundThread         事件在一個後臺線程執行(就一個後臺線程) BackgroundThread onEventAsync              事件會單獨啓動一個線程執行(每個事件都會啓動一個線程) Async 其中前三個事件處理方式,都應該儘快完成。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章