(官方一點(diǎn)的說法:EventBus是一款針對Android優(yōu)化的發(fā)布/訂閱事件總線。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity锦担,Service,線程之間傳遞消息.優(yōu)點(diǎn)是開銷小档玻,代碼更優(yōu)雅谱姓。以及將發(fā)送者和接收者解耦衩侥。)
第一反應(yīng)国旷,不用寫handler了有沒有?不用interface出一堆接口了不是顿乒,就是不熟悉议街,熟悉熟悉就好了,就像剛用studio的時(shí)候璧榄。特漩。。
大概流程:
1.定義一個(gè)類骨杂,用于傳遞
public class AaEvent {
private String?mMsg;
public AaEvent(String?msg)?{
mMsg?=?msg;
}
public String?getMsg(){
return mMsg;
}
}
2.接收消息的頁面注冊 在onCreate()里注冊 EventBus.getDefault().register(context);
3.發(fā)送消息EventBus.getDefault().post(new AaEvent("學(xué)習(xí)"));
4.接收消息的頁面 onEventMainThread(AaEvent event)*要有@Subscribe注解啊
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? onEventPostThread()
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? onEventBackgroundThread()
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? onEventAsync()
這四個(gè)模式不太懂涂身?
5.解除注冊(解綁)在onDestroy()里EventBus.getDefault().unregister(this);
感覺這么復(fù)雜呢?直接寫廣播不行嗎搓蚪?
先這樣蛤售,待更新。妒潭。悴能。