美文网首页Android知识
项目中EventBus 2.x升级3.0的操作

项目中EventBus 2.x升级3.0的操作

作者: 爱在蔓延中 | 来源:发表于2017-03-15 14:25 被阅读0次

github链接: EventBus

EventBus目前版本已到3.0.0, 由于项目之前集成的是2.4.0版本, 目前准备升级到3.0. 因为改动涉及的类较多, 做之前最好确保能撤回.
首先gradle:
compile 'de.greenrobot:eventbus:2.4.0'
升级成
compile 'org.greenrobot:eventbus:3.0.0'

3.0较之前的写法有点差别, 用到了注解. 主要注意两点:

一.可以自定义方法名, 在方法名前加对应注解;

二.添加索引(可选).

2.x执行线程对应3.0关系如下:
onEvent->注解ThreadMode.POSTING;
onEventMainThread->注解ThreadMode.MAIN
onEventBackground->注解ThreadMode.BACKGROUND
onEventAsync->注解ThreadMode.ASYNC

1.首先要做的就是, 在module上用快捷键 ctrl+shift+r 全局替换
包替换.png

import de.greenrobot.event.EventBus;
替换成 import org.greenrobot.eventbus.EventBus; 全部替换.
(这里也可以结合提交时的 Optimize imports 替换成注解需要的包.)

2.在module上用 ctrl+shift+f 全局搜索, 依次添加上面提到的4个方法注解.

例如对onEvent方法,
搜索"public void onEvent (" 添加
"@Subscribe(threadMode = ThreadMode.POSTING)"
记得在@前带上换行的回车. 我的做法是find出来一个个点过去, 点到一个直接ctrl+v, 鼠标双击+粘贴.
3.EventBus 3.0版本去掉了registerSticky, 换成细分到每个方法的配置注解sticky = true. 搜索".registerSticky(", registerSticky替换回register, 再在该类下的方法注解上添加sticky.

EventBus索引配置(可选):

可以参考这个 老司机教你 “飙” EventBus 3
主要是用map加速对配置方法的查找, 索引的类是apt在build时生成, 建议加上.

相关文章

网友评论

    本文标题:项目中EventBus 2.x升级3.0的操作

    本文链接:https://www.haomeiwen.com/subject/pwylnttx.html