Android 消息分發(fā)使用EventBus的實(shí)例詳解
Android 消息分發(fā)使用EventBus的實(shí)例詳解
1. AndroidStudio使用
dependencies { //最新版本 compile 'org.greenrobot:eventbus:3.0.0' //可以翻倍提高EventBus使用效率 provided 'de.greenrobot:eventbus-annotation-processor:3.0.0-beta1' }
2. 在基類(lèi)Activity中配置
/** * Activity基類(lèi) */ protected EventBus eb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //單例模式獲取到實(shí)例并注冊(cè) eb = EventBus.getDefault(); eb.register(this); } @Override protected void onDestroy() { //反注冊(cè) eb.unregister(this); super.onDestroy(); } //主線(xiàn)程 @Subscribe(threadMode = ThreadMode.MAIN) public void onMainEvent(EventBean event) { } //主線(xiàn)程 粘性(比如傳遞intent使用) @Subscribe(sticky = true, threadMode = ThreadMode.MAIN) public void onMainStickEvent(EventBean event) { } //后臺(tái) @Subscribe(threadMode = ThreadMode.BACKGROUND) public void onBackgroundEvent(EventBean event) { } //重新開(kāi)啟一個(gè)線(xiàn)程來(lái)執(zhí)行 @Subscribe(threadMode = ThreadMode.ASYNC) public void onAsyncEvent(EventBean event) { }
一般情況下,常用重寫(xiě)onMainEvent ( ) 方法即可。
3. 創(chuàng)建自定義消息實(shí)體
//根據(jù)不同需求自定義 /** * 自定義Event消息 */ public class EventBean { public int id;//類(lèi)型標(biāo)識(shí) public Object data;//數(shù)據(jù)對(duì)象 //省略constructor & getter & setter }
4. 發(fā)送消息
繼承自基類(lèi)Activity后: eb.post(new EventBean(1, "data")); //粘性 eb.postSticky(new EventBean(1, "data"));
5. 消息處理
根據(jù)數(shù)據(jù)處理的需求重寫(xiě)基類(lèi)的4個(gè)方法即可。
以上就是Android 消息分發(fā)使用EventBus的實(shí)例,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,本站關(guān)于Android的文章還有很多希望大家搜索查閱,謝謝大家對(duì)本站的支持!
相關(guān)文章
詳解Android USB轉(zhuǎn)串口通信開(kāi)發(fā)基本流程
本篇文章主要介紹了Android USB轉(zhuǎn)串口通信開(kāi)發(fā)基本流程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04Android自定義SwipeRefreshLayout高仿微信朋友圈下拉刷新
這篇文章主要以社交APP的BOSS微信為例,介紹了Android自定義SwipeRefreshLayout高仿微信朋友圈下拉刷新,感興趣的小伙伴們可以參考一下2016-07-07Java Base64位編碼與String字符串的相互轉(zhuǎn)換,Base64與Bitmap的相互轉(zhuǎn)換實(shí)例代碼
這篇文章主要介紹了Java Base64位編碼與String字符串的相互轉(zhuǎn)換,Base64與Bitmap的相互轉(zhuǎn)換實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03Android 實(shí)現(xiàn)全屏顯示的幾種方法整理
這篇文章主要介紹了Android 實(shí)現(xiàn)全屏顯示的幾種方法整理的相關(guān)資料,需要的朋友可以參考下2017-03-03Android實(shí)現(xiàn)3種側(cè)滑效果(仿qq側(cè)滑、抽屜側(cè)滑、普通側(cè)滑)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多種側(cè)滑效果,包括仿qq側(cè)滑,抽屜側(cè)滑,普通側(cè)滑三種效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04Android中使用listview實(shí)現(xiàn)qq/微信好友列表
本文主要介紹了android中使用listview實(shí)現(xiàn)qq/微信好友列表(頭像,昵稱(chēng),個(gè)性簽名)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04Android 獲取應(yīng)用簽名的實(shí)現(xiàn)
本文主要講下在android中如何獲取應(yīng)用簽名,也方便平時(shí)用來(lái)區(qū)分一個(gè)應(yīng)用是不是原包應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下2016-02-02