EventBus3.0使用

EventBus使用

  • 1.EventBus是有GreenDao公司提出的一个用于Android平台线程、进程间通信的库,使用方式简单粗暴,而且,库的大小不足50K,成本很低。

EventBus的地址:在这里

在这里我介绍一下EventBus 3.0的使用方式,目前搜索到的大部分资料都是针对EventBus 2.4的,在使用方式上,3.0版本比2.4版本更加自由。

首先,在build.gradle中添加

 compile 'org.greenrobot:eventbus:3.0.0'

其次,之后,在你需要接受发送的消息的类的构造函数/onCreate方法里面添加

EventBus.getDefault().register(this);

当然,添加了注册,不要忘记反注册

 EventBus.getDefault().unregister(this);

之后,在这个类里面书写一个任意的public方法,参数就是你要接受的消息类型,

public void helloEventBus(String message){}

在这个方法上面添加 @Subscribe 注解,同时这里可以添加threadMode参数决定helloEventBus方法执行在什么线程上面,这里的参数分为

参数 含义
POSTING 与消息发送者在同一线程(默认)
MAIN 执行在主线程
BACKGROUND 执行在一个后台线程,会优先寻找发送者的线程,如果发送者执行在主线程,那么就新建一个后台线程
ASYNC 执行在一个新的后台线程中

在这里,同样支持添加优先级 priority 属性来决定在同种ThreadMode下面的处理任务的顺序。

最后,在调用的地方使用

EventBus.getDefault().post(message);

来发送消息。

使用篇就到这里,之后会继续写原理分析。
----------------我是萌萌哒的分割线---------------------

原文地址:https://www.cnblogs.com/cwr941012/p/5681827.html