Android自助餐之EventBus框架

Android自助餐之EventBus框架

查看全套目錄

下載完整源代碼

配置build.grandle

compile 'de.greenrobot:eventbus:2.4.0'

實例化EventBus

eventBus=EventBus.builder().build();

註冊事件監聽

eventBus.register(this);
this爲事件接收者(消費事件、處理事件…隨便怎麼說吧)

定義被傳遞的事件類

注意要定義一個,這個類可以隨便定義,也可以用現有的類

class Event{
    public String result="default";
}

發送事件

eventBus.post(event);
可以再任意線程任意位置發送事件,但要保證eventBus在註冊和發送時爲同一個對象。

處理時間

在註冊時的this的類中寫如下方法
- public void onEventMainThread(Event event){}
接到事件後在主線程消費事件
- public void onEvent(Event event){}
接到事件後在事件post的線程中消費事件(注意不能進行耗時操作,否則影響事件傳遞)
- public void onEventBackgroundThread(Event event){}
在後臺線程中消費事件。如果事件的post線程爲後臺線程,則使用post線程,否則在新的子線程中消費事件
- public void onEventAsync(Event event){}
在新的子線程中消費事件

發佈了68 篇原創文章 · 獲贊 49 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章