EventBus的使用和原理在網(wǎng)上有很多的博客了,其中泓洋大哥和啟艦寫的非常非常棒,我也是跟著他們的博客學(xué)會(huì)的EventBus,因?yàn)槭堑谝淮谓佑|并使用EventBus,所以我寫的更多是如何使用,源碼解析就不怎么樣啦!
如需轉(zhuǎn)載請(qǐng)注明出處:Android EventBus 3.0 實(shí)例使用詳解
一、概述
EventBus是一款A(yù)ndroid下的發(fā)布/訂閱事件總線機(jī)制。可以代替Intent、Handler、Broadcast等在Fragment、Activity之間傳遞消息。
優(yōu)點(diǎn):開銷小,代碼優(yōu)雅。將發(fā)送者和接受者解耦。
既然是有關(guān)于事件的發(fā)布和訂閱,那么發(fā)布者和訂閱者的關(guān)系又是怎樣的呢?
事件的發(fā)布者可以發(fā)布多個(gè)事件,發(fā)布者同時(shí)也可以是訂閱者,訂閱者可以訂閱多個(gè)事件。
二、實(shí)例
接下來要通過實(shí)例來講解如何使用EventBus了,在看代碼之前要記得三個(gè)問題。
1、事件發(fā)布者如何發(fā)布事件
2、事件訂閱者如何訂閱事件
3、訂閱者如何準(zhǔn)確接收發(fā)布者發(fā)布的多個(gè)事件中的一個(gè)(假設(shè)發(fā)布者發(fā)布多個(gè)事件,訂閱者只是訂閱其中的一個(gè)事件)
(1)首先在gradle文件中