正在加载一言...
0%

eventbus短暂使用

2017 10 27
EventBus 是个什么鬼?
首先有两个概念发布者/订阅者

发布者就是 发送事件
订阅者 就是接收事件

gradle

compile ‘org.greenrobot:eventbus:3.0.0’

1.定义事件

public static class MessageEvent { / Additional fields if needed / }
// 定义事件 这个就是你要传送的数据实体类

2.准备订阅者
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent event) {/ Do something /};
// 订阅者 接受数据的方法 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.发送事件

EventBus.getDefault().post(new MessageEvent());