前言:在以前的项目里面一直用的是EventBus在页面间发送传递事件替代从而替代经典的广播的使用,但是在新的项目里小伙伴选择了使用Otto,既然是合作嘛我也就看了一下Otto的使用方式就直接开始使用Otto了。这几天抽时间看了一下行业技术的情况,发现EventBus和Otto是解耦框架的主流,大家基本都是使用的这个两个的其中一个,所以整理了一下他们的特性和差异。
友情提示,该篇的主要目的是介绍EventBus和Otto的对比而不是他们的使用和原理!!!
开头先把两个框架诞生的原因给贴出来:
EventBus和Otto框架的主要功能是帮助我们来降低多个组件通信之间的耦合度的(解耦)。
比如:由界面 A 跳转到界面 B ,然后点击 B 中的 button, 现在要更新 界面 A 的视图。再比如:界面有一个 界面 A,A 里面的有个 Fragment,点击 Fragment 中的一个 button,跳转到界面 B, 点击界面 B的 button 要更新界面 A 的 Fragment 的视图,等等。
一:先来简单的看看EventBus怎么用。
1.添加库依赖
compile 'org.greenrobot:eventbus:3.0.0'
2.自定义一个消息事件类(这个类就是一个Bean类,里面定义用来传输的数据的类型)
public cla