Android

EventBus

2020-05-27  本文已影响0人  夜沐下的星雨

EventBus:事件总线

用处:跨模块,跨线程通信    可以替代holder

三(4)要素:

Event事件

subscriber 事件订阅者 (接收事件)

publisher 事件发布者    (产生事件)

        关联

添加依赖

自定义一个事件类:相当于一个bean 传输数据的类型。name以Event结尾

事件是一个事件一个bean

——————————————————————————

this---代表本类

a普通事件(有注册就有解除)

注册事件:在Activity中注册EventBus.getDefault().register(this);

发送事件:EventBus.getDefault().post(this);

处理事件:注解:@subscribe(thteadMode=ThreadMode.MAIN)**重点:发送是什么线程,接受就是什么线程

解除注册:在onDestroy中解除注册:EventBus.getDefault().unregister(this);

——————————————————————————

b粘性事件

可以先发送事件后注册    列如:Sticky Broadcast粘性广播

使用:

粘性事件发布:EventBus.getDefault().postStickyt(this);

注册粘性事件:在新的页面中注册EventBus.getDefault().register(this);

立马处理粘性事件 :注解:@subscribe(thteadMode=ThreadMode.MAIN,Sticky=true)

解除注册:在onDestroy中解除注册:EventBus.getDefault().unregister(this);

上一篇下一篇

猜你喜欢

热点阅读