2017 10 27
EventBus 是個什么鬼?
首先有兩個概念發(fā)布者/訂閱者
發(fā)布者就是 發(fā)送事件
訂閱者 就是接收事件
gradle
compile 'org.greenrobot:eventbus:3.0.0'
1.定義事件
public static class MessageEvent { /* Additional fields if needed */ }
// 定義事件 這個就是你要傳送的數(shù)據(jù)實體類
2.準備訂閱者
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent event) {/* Do something */};
// 訂閱者 接受數(shù)據(jù)的方法 threadMode 是運行在什么線程模式
http://greenrobot.org/eventbus/documentation/delivery-threads-threadmode/
注冊和取消注冊訂閱者
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
3.發(fā)送事件
EventBus.getDefault().post(new MessageEvent());