欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

EventBus3.0使用

程序员文章站 2022-07-14 16:05:45
...

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);

来发送消息。

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