EventBus.getDefault().post(new MessageEvent(message)); 完整代码 (1)MainActivity 代码语言:java AI代码解释 publicclassMainActivityextendsAppCompatActivity{privateTextViewshow_message;privateButtonstart_second;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentV...
分析一下,如果EventBus要接管所有事件的发布和订阅,那它则需要有一个容器来记录事件源和事件处理。那又如何触发呢?有了事件源,我们就自然能找到绑定的事件处理逻辑,通过反射触发。代码如下: /// /// 事件总线 /// public class EventBus { public static EventBus Default => new EventBus(); /// //...
Type handlerInterface = type.GetInterface("IEventHandler`1");//获取该类实现的泛型接口Type eventDataType = handlerInterface.GetGenericArguments()[0];// 获取泛型接口指定的参数类型//如果参数类型是FishingEventData,则说明事件源匹配if(eventDataType.Equals(typeof(FishingEventData))) {//创建实例varhandler ...
public void onEvent(AnyEventType event) {} 1. (5)解除注册 AI检测代码解析 eventBus.unregister(this); 1. 顺序就是这么个顺序,可真正让自己写,估计还是云里雾里的,下面举个例子来说明下。 首先,在EventBus中,获取实例的方法一般是采用EventBus.getInstance()来获取默认的EventBus实例,当然你也可以new一个...
public void onEvent(AnyEventType event) {} 1. (5)解除注册 AI检测代码解析 eventBus.unregister(this); 1. 顺序就是这么个顺序,可真正让自己写,估计还是云里雾里的,下面举个例子来说明下。 首先,在EventBus中,获取实例的方法一般是采用EventBus.getInstance()来获取默认的EventBus实例,当然你也可以new一个...
EventBus使用 概述 关于 EventBus 在开发中经常会选择使用它来进行模块间通信、解耦。平常使用这个库只是很浅显的操作三部曲,register,post,unregister。来达到开发目的。始终有种不明确,模糊的操作感。因此准备对EventBus进行一个深入,全面的理解,消除模糊,片面
首先,在EventBus中,获取实例的方法一般是采用EventBus.getInstance()来获取默认的EventBus实例,当然你也可以new一个又一个,个人感觉还是用默认的比较好,以防出错。 二、实战 先给大家看个例子: 当击btn_try按钮的时候,跳到第二个Activity,当点击第二个activity上面的First Event按钮的时候向第一个Activity发送消息...
在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于EventBus使用起来简单、便捷,因此,工作中会经常用到。深入理解该框架的原理就很有必要。
缺点滥用它,EventBus可以大量解耦项目,但是如果你大量的使用它会产生一个非常危险的后果,你需要定义大量...