-
介面之間頻繁的資料交換。
-
當我們都在使用 Eventbus 時,我們需要盡早了解它的邏輯原理,而不需要了解它的原始碼,這太深刻了。 所以我不打算在這裡談論原始碼!
首先,eventbus是乙個訂閱者模型,這意味著盛世就像我們關注乙個微信***,***是傳送者,我們關注的人是訂閱者,也就是接收訊息的人。 一旦有新的訊息推送,我們的微信就會彈出一條 *** 訊息,就像 eventbus 邏輯一樣。
首先,我們在使用 Eventbus 的時候需要註冊,什麼時候注意鄭三吉,根據自己的需求註冊,如果不註冊,EventBus 將無法正常傳送訊息,接收方也無法接收傳送的訊息,我的專案就是使用 EventBus 傳遞值, 所以我會把它寫在基類中,但如果你寫乙個演示,你可以把它寫在 OnCreate 中。
EventBus 註冊
Eventbus 登出(通常我們把它寫在 ondestroy 或 onstop 中,但我把它寫在 ondestroy 中)。
通常,我使用 Send Message,我的 HomeFragmentRequest 這裡是乙個 bean 類,我們可以定義正常型別的資料,但是傳送什麼型別,我們必須使用什麼型別來接收
正常接收訊息,即接收已傳送訊息(自定義方法名稱,傳送的資料型別必須註解。
粘滯事件的傳送方式
正如有人猜測的那樣,接受和普通的接受是一樣的,只是在註解的末尾加了一點香料,這樣我們就可以在建立之前儲存它,並在建立後使用傳遞的資料
-
尊重原創性。 在程式設計過程中,當我們想要通知其他元件發生一些事情時,我們通常使用觀察者模式,形式上是因為觀察者模式很常見,所以它幫助我們實現了觀察者模式,我們只需要簡單地繼承一些類就可以快速使用觀察者模式,在android eventbus中還有乙個功能類似的開源庫, 這可以幫助我們非常方便地實現觀察者模式,那麼讓我們開始學習如何使用 Eventbus
在下面的內容中,我將首先介紹如何使用 Eventbus,然後簡單了解一下 Eventbus 的底層實現原理,因為剛學習如何使用它總是感覺內心不夠紮實,如果有一天出現 bug 就無法開始。 好了,事不宜遲,讓我們開始學習吧。
2. 將其放入自己專案的 libs 目錄下。
3. 定義乙個事件,這個事件一旦被eventbus分發,就意味著發生了一些事情,這個事件是觀察者關心的事情(不需要繼承任何類)。
4. 定義乙個觀察者,然後將該觀察者註冊到 Eventbus
5. Eventbus 分發事件以通知觀察者發生了某些事情。
6. 使用完成後,從事件匯流排中取消註冊觀察器。
熟悉觀察者模式的人一定對上述過程非常熟悉,其實和觀察模式基本一樣。 但也有區別。 在觀察者模式下,所有觀察者都需要實現乙個具有統一方法的介面,例如:
public void onupdate();
然後,當事件發生時,乙個物件會呼叫觀察者的 onupdate 方法,通知觀察者發生了一些事情,但這在 Eventbus 中不是必需的,它是這樣實現的:
在 Eventbus 中,觀察者通常有四種型別的訂閱函式(即,在發生某些事情時呼叫的方法)。
1、onevent
2、oneventmainthread
3、oneventbackground
4、oneventasync
這四個訂閱函式都是以 onevent 開頭的,函式略有不同
告訴觀察者,當乙個事件發生時,是通過乙個函式實現的,這個過程稱為事件的發布,而觀察者被告知該事件的發生稱為事件的接收,通過以下訂閱函式實現。
1.近光燈。
《道路交通安全法》第四十八條規定,在沒有中央隔離設施或者沒有中央線路的道路上,夜間與150公尺外相反方向的車輛相遇時,應當使用近光燈,在狹窄道路、狹窄的橋梁上與車輛、非機動車相遇時,應當使用近光燈; 機動車在沒有路燈、光線不足或霧、雨、雪、塵、冰雹等低能見度條件下夜間行駛時,同向行駛的後方車輛與前方車輛近距離行駛,應使用近光燈。 >>>More
建議在早晚塗抹眼霜。 我自己曾經在早上潔面後塗抹一些Jabushe眼部精華液,按摩和吸收,然後塗抹一些Jabushe眼霜。 先塗眼部精華液,再塗眼霜,可以放大眼霜的抗皺保濕效果! >>>More