EventBus使用介绍(一)

首先EventBus采用的观察者模式,这类似与RXJava,原理如下图

原理图


EventBus用到非常多的场景之一是替代广播,更简便地进行组件之间(Activity,Service以及Fragment等之间的信息传递).

当然他除了比广播代码量上简便,还有一点是线程的切换.啥意思?就是接收消息的方法在进行处理的时候既可以和发送消息的方法在一个线程,也可以在主线程执行,还可以在一个新的线程执行,而这些都是通过注解实现

#####先过一下基本使用方式

准备:添加一下依赖

compile 'org.greenrobot:eventbus:3.0.0'

1.先创建一个消息类

public static class MessageEvent { /* Additional fields if needed */ }

2.注册

EventBus.getDefault().register(this);

3.发送消息

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

4.接收消息并处理

@Subscribe(threadMode = ThreadMode.MAIN)

public void onMessageEvent(MessageEvent event) { //do Something  }

5.解除注册

EventBus.getDefault().unregister(this);

之后我们再重点过一下处理方法.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容