android EventBus 3.0

项目地址: github 地址
eventBus能做什么?为我们解决什么问题?
1.通信,各组件信息的传递,而且是在任何时候,信息内容可以是简单的标识,也可以是json数据,等;
2.项目中总有两个组件藕断丝连,甚至完全不搭边;但是从业务逻辑上,界面显示上做同步处理;
这个时候 eventBus 出场了;使用其他方法代码臃肿,可读性差的自己都不想看;而eventBus几行代码帮我实现了这个事

导入依赖
compile ‘org.greenrobot:eventbus:3.1.1’

第一步:写一个bean类,这个bean就是信息的载体
android EventBus 3.0_第1张图片

第二步:发布,发送数据;
在一个点击事件里发送了一个"666";
android EventBus 3.0_第2张图片
第三步:订阅,
这里就是注意;谁订阅(谁要收到这个消息)谁注册和注销;
android EventBus 3.0_第3张图片
android EventBus 3.0_第4张图片
第四步:接收这个"666"
需要这个Subscribe注解 就是声明这个方法是接收信息的方法,把信息发到这里来吧
threadMode 可以指定线程模型,我这里直接显示出来就是主线程,如果拿到这个信息去请求就子线程
官网线程模型详细介绍

这里写图片描述

如果这个注解忘记添加会报错;如下
这里写图片描述

可以看出 eventBus 帮我们做了很多事情,为我们铺设了一条电话线,你想打给谁就注册谁.

你可能感兴趣的:(android)