在这里介绍一下EventBus的用途,EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。
可以应用于Activity和fragment之间碎片和碎片之间主线程与子线程之间等场景。
**
下面我们先了解一下如何利用EventBus在不同线程之间传值。
**
一,步入正题,首先导入依赖。
compile 'org.greenrobot:eventbus:3.0.0'
二,注册与取消注册
1.在onCreate方法里添加注册代码
EventBus.getDefault().register(this);
2.在onDestroy()方法取消注册
EventBus.getDefault().unregister(this);
三.在需要接受消息的界面添加订阅方法(添加在方法区中)
@Subscribe(threadMode = ThreadMode.MAIN)//MAIN代表主线程
public void receiveMessage(String json){
//该方法名可更改,不影响任何东西。
//在主线程中获取子线程发送来的消息设置到TextView中
tv.setText(event.getResult());
}
四.在方法区编写发送消息的方法