一:概述
EventBus是一款基于观察者模式事件发布/订阅的事件总线,它可以替代Handler,Intent,BrocadCast在Fragment,Activity,Service等之间进行消息传递,其优点是开销小,代码更易读,将发送者和接收者进行了解耦
源码地址:https://github.com/greenrobot/EventBus
引用方式:
Gradle:
compile 'org.greenrobot:eventbus:3.0.0'
Maven:
<dependency>
<groupId>org.greenrobot</groupId>
<artifactId>eventbus</artifactId>
<version>3.0.0</version>
</dependency>
基本使用
1..我们可以自定义一个实体类用来封装消息
public class FirstEvent {
String mMsg;
public FirstEvent(String mMsg) {
this.mMsg = mMsg;
}
public String getmMsg() {
return mMsg;
}
}
2.在要接收的页面注册
EventBus.getDefault().register(this);
3.发送消息
EventBus.getDefault().post(new FirstEvent(""));
4.解除注册
EventBus.getDefault().unregister(this);