安卓EventBus的使用方法
作用:简化组件之间的通信,可用于线程间的通讯代替handler,用于组件间的通讯代替Intent,用于Activity和Fragment之间通信。
直接进入使用方法介绍。
首先:在build.gradle里导入jar包
compile 'org.greenrobot:eventbus:3.1.1'
然后编译一下。
使用步骤:
- 注册事件订阅者;
- 发送方发送事件;
- 接收方接收事件;
- 解注册事件订阅者。
使用示例:
首先在第一个界面也就是接收页面要完成三个步骤:
注册事件订阅者,接收方接收事件,解注册事件订阅者 。
首先在onCreate方法里注册事件订阅者:
EventBus.getDefault().register(this);
然后接收方接收事件:
@Subscribe(threadMode = ThreadMode.MAIN,priority = 100,sticky = false) //在UI线程执行,100 为优先级
public void onEvent(MessageBean message){
tv.setText(message.text);
}
最后是解注册事件订阅者:
在onDestory方法中解注册:
EventBus.getDefault().unregister(this);
然后在你要发送数据的界面也就是第二个界面只需要完成一个步骤:
发送方发送事件。
sendBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MessageBean messageBean = new MessageBean();
messageBean.text = "要发送的消息";
EventBus.getDefault().post(messageBean);
}
});
最后,不能忘了写个实体类:
public class MessageBean {
public String text;
}
好了,就是这样。