Android EventBus實現方便的訊息傳遞

2021-08-26 14:41:50 字數 969 閱讀 9594

eventbus能夠簡化各元件間的通訊,讓我們的**書寫變得簡單,能有效的分離事件傳送方和接收方(也就是解耦的意思),能避免複雜和容易出錯的依賴性和生命週期問題。

1.引入依賴

implementation

'org.greenrobot:eventbus:3.1.1'

2.新建乙個event類代表事件(其實就是乙個bean)

public

class messageevent

public string getmessage()

public

void

setmessage(string message)

}

3.註冊事件(在接收的類的oncreate()中)

eventbus.getdefault().register(this);用於得到乙個eventbus例項
4.登出事件(在接收的類的ondestroy()中)

if (eventbus.getdefault().isregistered(this))
5.傳送事件(寫在傳送event的類中)

6.處理事件(在接收的類中)

//函式名可以自己定義,只要在其上面註解@subscribe並設定好執行緒

@subscribe(threadmode = threadmode.main)

public

void

setevent(messageevent messageevent)

原始碼

eventbusdemo的原始碼

android eventBus 例項總結

subscriber 事件訂閱者。在eventbus3.0之前我們必須定義以onevent開頭的那幾個方法,分別是onevent oneventmainthread oneventbackgroundthread和oneventasync,而在3.0之後事件處理的方法名可以隨意取,不過需要加上註解 ...

Android EventBus使用與思路總結

好了,廢話一堆,下面開始簡要講解androideventbus的使用與原理。aci或frgm oncreate時eventbus.getdefault register this ondestory時eventbus.getdefault unregister this this做為乙個監聽者的角色...

android eventBus 的簡單使用(一)

compile org.greenrobot eventbus 3.0.0 然後寫乙個 實體類用於 儲存傳遞資料和狀態值 public class eventbuscarrier public void setobject2 object object2 private object object2...