EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。 EventBus特点 组件间的通信更加简单; 事件发送者与接受者解耦 ...
1EventBus.getDefault().register(this); 3.发布一个事件。在SecondActivity中发布一个事件,当点击button后发布事件,代码如下 1protectedvoidonCreate(Bundle savedInstanceState) {2super.onCreate(savedInstanceState);3setContentView(R.layout.activity_second);45btn =(Button)findViewById(R.id.second_btn);6b...
}//由于使用了默认的EventBusBuilder,则ignoreGeneratedIndex属性默认为false,即是否忽略注解生成器if(ignoreGeneratedIndex) { subscriberMethods=findUsingReflection(subscriberClass); }else{ subscriberMethods=findUsingInfo(subscriberClass); }//如果对应类中没有符合条件的方法,则抛出异常if(subscriberMethods.isEmpty(...
EventBus 默认可通过静态函数 getDefault 获取单例,当然有需要也可以通过 EventBusBuilder 或 构造函数新建一个 EventBus,每个新建的 EventBus 发布和订阅事件都是相互隔离的,即一个 EventBus 对象中的发布者发布事件,另一个 EventBus 对象中的订阅者不会收到该订阅。 源码如下: /** Convenience singleton for ap...
众所周知,EventBus 是一款用在 Android 开发中的发布/订阅事件总线框架,基于观察者模式,将事件的接收者和发送者分开,简化了组件之间的通信操作,使用简单、效率高、体积小! EventBus使用了典型的发布/订阅事件模式,下面是 EventBus官方给出的原理示意图。
EventBus是用在Android/Java中的发布/订阅事件总线框架。框架轻量,使用简单,快速高效,简化了组件之间的通信。 项目使用EventBus 引入框架 implementation("org.greenrobot:eventbus:3.3.1") 定义事件 public class MessageEvent { public final String message; public MessageEvent(String message) { this.message = ...
EventBus 作为 Android 开发中常用的框架,拥有着许多优点:调度灵活。不依赖于 Context,使用时无需像...
EventBus基于观察者模式的Android事件分发总线。 EventBus基本使用 1.定义消息事件MessageEvent,也就是创建事件类型 publicclassMessageEvent{publicfinalStringmessage;publicMessageEvent(Stringmessage){this.message=message;}} 2.注册观察者并订阅事件 选择要订阅该事件的订阅者(subscriber),Activity即在onCreate()加入,调...
首先明确的是MyEventBusIndex是通过第三方的那个android-apt或者Gradle本身提供的annotationProcessor,与Event...
EventBus是一款用于传递事件的开源框架,首次使用就被其极低的耦合性给折服,同时它也支持订阅方法的线程指定。最近阅读了它的源码,觉得内部设计流程还是非常值得我们借鉴的,特此出一篇文章分享给大家。 源码分析基于EventBus3.1.1 1. EventBus使用 EventBus使用极其简单,大概可分为四小步: ...