EventBus 使用

200 阅读1分钟

EventBus是一款针对 Android 端优化的 publish/subscribe 消息总线。

eventbus arch

主要目的是替代Intent, Handler,BroadCast 在 Fragment,Activity,Service,线程之间传递消息,优点是开销小,代码优雅。将发送者和接收者解耦。

基本用法

引入 eventbus:

compile'de.greenrobot:eventbus:2.4.0'

定义事件:

publicclassMessageEvent{/* Additional fields if needed */}

注册事件接收者:

eventBus.register(this);

发送事件:

eventBus.post(event)

接收消息并处理:

publicvoidonEvent(MessageEvent event){}

注销事件接收:

eventBus.unregister(this);

最后,proguard 需要做一些额外处理:

# EventBus-keepclassmembersclass**{publicvoidonEvent*(**);voidonEvent*(**);}