AndroidEventBus基本使用
Android中的Activity, Fragment, Service之间的交互是比较麻烦的,可能我们第一想到的是使用广播接收器来在它们之间进行交互。
例如上述所说在Activity-B中发一个广播,在Activity-A中注册一个广播接收器来接受该广播。但使用广播接收器稍显麻烦,如果你
要将一个实体类当做数据在组件之间传递,那么该实体类还得实现序列化接口,这个成本实在有点高啊!
1.使用AndroidEventBus首先需要在onCreate中注册
EventBus.getDefault().register(Object obj);
同时需要在OnDestory中取消
EventBus.getDefault().unregister(Object obj);
2.消息发送
EventBus.getDefault().post(Object obj);
EventBus.getDefault().post(Object obj,String tag);
3.消息接收
通过注解@Subscriber(tag=""),接收函数使用tag来标识可接收的事件类型.
mode=ThreadMode.POST 事件在哪个线程发布,接收函数就执行在哪个线程
MAIN 事件接收函数执行在UI线程
ASYNC事件执行在一个独立的异步线程中
4.activity之间的传递
EventBus.getDefault().postSticky(Object obj,String tag);
5.activity接收
需要注册EventBus.getDefault.registerSticky(Object obj);
然后@Subscriber(tag="") 相关推荐
kururunga 2020-11-16
pengruiyu 2020-08-01
kururunga 2020-07-16
kururunga 2020-05-07
kururunga 2020-05-01
kururunga 2020-04-23
一个来自吉尔尼斯 2020-04-21
一个来自吉尔尼斯 2020-04-10
xiaorulou 2020-03-01
pengruiyu 2020-02-19
kururunga 2019-12-08
一个来自吉尔尼斯 2019-12-05
Androidtalent 2014-03-23
kuangren 2019-11-01
pengruiyu 2019-10-20
huangf 2015-04-17
kururunga 2015-05-17
huangf 2015-05-17