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