一:介绍
由greenrobot组织贡献(该组织还贡献了greenDAO),一个Android事件发布/订阅轻量级框架,
功能:通过解耦发布者和订阅者简化Android事件传递
EventBus可以代替
Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法。
特点:代码简洁,是一种发布订阅设计模式(观察者设计模式)
EventBus是一个消息总线,以观察者模式实现,用于简化程序的组件、线程通信,可以轻易切换线程、开辟线程
二:依赖
compile 'org.greenrobot:eventbus:3.1.1'
三:使用
1:注册与反注册:在接收值的Activity或Fragment页面进行
注册:oncreat()方法里:EventBus.getDefault().register(this);
反注册:onDestory方法里:EventBus.getDefault().unregister(this);
2:接收值的方法,注解一定得写
@Subscribe
public void onEventMainThread(Object event) {
tv.setText(event.toString());
}
3:另一个传值的页面
EventBus.getDefault().post(写要传的值,可以是任意类型 object);