EventBus入门使用及其使用

EventBus介绍:

     EventBus出自greenrobot,和之前大名鼎鼎的GreenDao出自同一家。之前一直使用的是2.4版本,今天我们将学习分析最新的Event 3.0,EventBus 3.0 最新的特性就是加入了注解,通过注解的方式 告知订阅函数运行在哪个线程中。

     github地址:https://github.com/greenrobot/EventBus

     官方文档:http://greenrobot.org/eventbus/documentation

EventBus主要角色:

  •  Event 传递的事件对象
  •  Subscriber  事件的订阅者 
  •  Publisher  事件的发布者
  •  ThreadMode 定义函数在何种线程中执行

  官网给出的各种角色的协作图

  • EventBus底层采用的是注解和反射的方式来获取订阅方法信息(首先是注解获取,若注解获取不到,再用反射)
  • 当前订阅者是添加到Eventbus 总的事件订阅者的subscriptionByEventType集合中
  • 订阅者所有订阅的事件类型添加到typeBySubscriber 中,方便解注册时,移除事件

EventBus功能: 通过解耦发布者和订阅者简化Android事件传递,EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法。

EventBus特点代码简洁,是一种发布订阅设计模式(观察者设计模式)。

EventBus示例:

  1. 关联EventBus框架
在Android Studio中添加如下依赖:

compile 'org.greenrobot:eventbus:3.0.0'

猜你喜欢

转载自blog.csdn.net/weixin_37466745/article/details/80060652