github鏈接: EventBus
EventBus目前版本已到3.0.0, 由于項(xiàng)目之前集成的是2.4.0版本, 目前準(zhǔn)備升級(jí)到3.0. 因?yàn)楦膭?dòng)涉及的類較多, 做之前最好確保能撤回.
首先gradle:
compile 'de.greenrobot:eventbus:2.4.0'
升級(jí)成
compile 'org.greenrobot:eventbus:3.0.0'
3.0較之前的寫法有點(diǎn)差別, 用到了注解. 主要注意兩點(diǎn):
一.可以自定義方法名, 在方法名前加對(duì)應(yīng)注解;
二.添加索引(可選).
2.x執(zhí)行線程對(duì)應(yīng)3.0關(guān)系如下:
onEvent->注解ThreadMode.POSTING;
onEventMainThread->注解ThreadMode.MAIN
onEventBackground->注解ThreadMode.BACKGROUND
onEventAsync->注解ThreadMode.ASYNC
1.首先要做的就是, 在module上用快捷鍵 ctrl+shift+r 全局替換

import de.greenrobot.event.EventBus;
替換成 import org.greenrobot.eventbus.EventBus; 全部替換.
(這里也可以結(jié)合提交時(shí)的 Optimize imports 替換成注解需要的包.)
2.在module上用 ctrl+shift+f 全局搜索, 依次添加上面提到的4個(gè)方法注解.
例如對(duì)onEvent方法,
搜索"public void onEvent (" 添加
"@Subscribe(threadMode = ThreadMode.POSTING)"
記得在@前帶上換行的回車. 我的做法是find出來一個(gè)個(gè)點(diǎn)過去, 點(diǎn)到一個(gè)直接ctrl+v, 鼠標(biāo)雙擊+粘貼.
3.EventBus 3.0版本去掉了registerSticky, 換成細(xì)分到每個(gè)方法的配置注解sticky = true. 搜索".registerSticky(", registerSticky替換回register, 再在該類下的方法注解上添加sticky.
EventBus索引配置(可選):
可以參考這個(gè) 老司機(jī)教你 “飆” EventBus 3
主要是用map加速對(duì)配置方法的查找, 索引的類是apt在build時(shí)生成, 建議加上.