模块间通信EventBus
1、简述
在真实项目中,模块之间需要通信的业务场景非常常见。比如:个人中心页面显示头像,但是在更改头像的页面更改头像之后,个人中心页面的头像要同步更新。
模块之间的通信可以通过:接口回调、广播、第三方框架EventBus。
接口回调:耦合性高,如果接口多了,不利于后期的维护,可能过几个月之后代码连自己都不想看了,回调地狱。
广播:广播是系统内置的组件,消息型组件,可以通过发送接收消息的形式实现通信,但太麻烦。
EventBus:底层采用反射的机制,使用简单,相比上面两种,代码可读性较高
项目地址:EventBus
2、代码示例
①、在gradle中配置引用:
compile 'org.greenrobot:eventbus:3.0.0'