天天看點

EventBus3.0的初次使用

EventBus3.0 是安卓在高效的釋出/訂閱事件總線機制,主要作用在于元件之間的消息傳遞,與系統中用于消息傳遞的Intent,handler,等作用相同。由于EventBus是基于一種釋出/訂閱設計模式,即觀察者模式,是以他可以很好的解決一對多的邏輯關系。

由于現在的最新版本是3.0,是以直接上EventBus3.0的使用方法。

在Activity的onCreate方法和onDestroy方法中,分别使用

EventBus.getDefault().register(this);//注冊事件總線

EventBus.getDefault().unregister(this),//取消注冊

這是使用事件總線的基礎,接下來是消息釋出和消息接受處理

EventBus.getDefault().post(Object obj);

@Subscribe(threadMode = ThreadMode.MainThread,sticky = true,priority =1)

public void getmessage(Object obj){

}

首先消息可以是任意的,因為預設的是Object類,當發送具體的一個消息的時候,需要自己建一個消息的類,即使要發送的是一個字元串,因為可能會有幾個發字元串,為了

差別他們,就需要使用不同的實體類;

在消息接受處理時,需要使用注解@Subscribe()裡面有三個參數,threadMode:在什麼樣的線程中去處理,sticky:是否需要把最後一次事件緩存起來,當有訂閱者時發送最後一次的事,

priority:當有多個訂閱者時,訂閱者的優先級,

繼續閱讀