Android开发之——EventBus3.x的使用

简介

EventBus是http://greenrobot.org/出的一个发布者/订阅者(Publisher/Subscriber)的事件总线。主要是用来在Android各个组件之间进行消息传递的。能够很好地对发布者和订阅者之间进行解耦。

官方地址:https://github.com/greenrobot/EventBus

集成

添加依赖

compile 'org.greenrobot:eventbus:3.1.1'

定义事件

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

发送事件

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

注册事件

@Override
public void onStart() 
{
     super.onStart();
     EventBus.getDefault().register(this);
}

@Override
public void onStop() 
{
  super.onStop();
  EventBus.getDefault().unregister(this);
}

处理事件

@Subscribe(threadMode = ThreadMode.MAIN)  
public void onMessageEvent(MessageEvent event) {/* Do something */};

实例分析

先看效果图

如上图分别在同一个页面和不同页面展示数据

数据发送和展示在同一页

数据发送和展示不在同一页

参考:
EventBusSample