Android基础知识梳理(12)EventBus使用及原理
基本概念
Event: 事件,可以是任意类型
Subscriber: 事件订阅者,使用register方法进行注册,给订阅方法添加@subscribe注解来进行订阅,并指定threadMode(默认为POSTING)
Publisher: 事件发布者,使用post方法发布事件
使用方法
1.注册订阅者
EventBus.getDefault().register(this);
2.注销订阅者
EventBus.getDefault().unregister(this);
3.订阅事件
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void onMsgEvent(MsgEvent msgEvent) {
Toast.makeText(this, "receive msg event", Toast.LENGTH_LONG).show();
}
4.发布事件
private void postMsg() {
EventBus.getDefault().post(new MsgEvent());
}