Android开源框架——事件总线 EventBus3.0讲解
開源項(xiàng)目地址
官網(wǎng):https://github.com/greenrobot/EventBus
介紹
EventBus主要使用了觀察者模式設(shè)計(jì)方案。主要替代Intent、Handler、 BroadCast在Activity、Fragment、Service,多線程中傳輸數(shù)據(jù).
官方圖
因?yàn)槭怯^察者模式,所以具備三要素:
- Event : ?事件
- Publisher :?事件發(fā)布者
- Subscriber : ? 事件訂閱者,接收發(fā)布的事件
Event可以為任意類型的對(duì)象,Publisher可以通過post( )方法在任意位置(包括任意線程)將事件發(fā)送出去,Subscriber通過四種方法對(duì)事件進(jìn)行處理。
事件處理函數(shù)
- ThreadMode.Posting ???????????????????在發(fā)送線程中運(yùn)行
- ThreadMode.Main??????????????????????? UI線程中運(yùn)行
- ThreadMode.Background?????????????在后臺(tái)線程中運(yùn)行
- ThreadMode.Async ??????????????????????在后臺(tái)線程中運(yùn)行,且為異步
@subscribe(threadMode = ThreadMode.xxx)
public void onUserEvent(UserEvent event){
}
EventBus3.0
Gradle:
compile ‘org.greenrobot:eventbus:3.0.0’
Marven:
簡單Demo
package com.android.eventbustest;/*** 簡單的事件對(duì)象*/ public class MessageBean {public String message;public String getMessage(){return this.message;}public void setMessage(String message){this.message = message;} }有問題,歡迎大家一起討論
參考文章:
[1]https://github.com/greenrobot/EventBus
[2]http://blog.csdn.net/wl1769127285/article/details/51065015
[3]http://blog.csdn.net/angcyo/article/details/48166849
總結(jié)
以上是生活随笔為你收集整理的Android开源框架——事件总线 EventBus3.0讲解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android跨进程通信一 Mess
- 下一篇: Android跨进程通信二——AIDL