EventBus.getDefault().post(new MessageEvent(message)); 完整代码 (1)MainActivity 代码语言:java 复制 publicclassMainActivityextendsAppCompatActivity{privateTextViewshow_message;privateButtonstart_second;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R...
的时候是让EventBus扫描当前类,把onEvent方法记录在Map里面,参数为key,方法为value,然后EventBus.getDefault().post(...)的时候,通过post里面的type来查找Map中对应的value,然后通过反射来执行我们的方法,最后别忘了在最后 EventBus.getDefault().unregister(this); 注销EventBus防止内存泄漏。 好多人说是观察者模...
发送消息是使用EventBus中的Post方法来实现发送的,发送过去的是我们新建的类的实例! 代码语言:javascript 复制 EventBus.getDefault().post(newFirstEvent("FirstEvent btn clicked")); 完整的SecondActivity.java的代码如下: 代码语言:javascript 复制 packagecom.example.tryeventbus_simple;importcom.harvic.other.Fir...
eventbus的使用 EventBus是一种用于处理事件的消息传递系统,它可以帮助你在应用程序中实现解耦和灵活的消息传递机制。以下是使用EventBus的基本步骤: 1.定义事件:EventBus允许你定义自己的事件类型,这些事件通常是一个普通的Java对象(POJO)。你可以根据需要定义多种类型的事件,并在事件类中添加所需的字段和方法。 2....
eventbus使用方法 EventBus是一种开源的发布/订阅事件总线库,用于实现组件之间的解耦和事件的传递。下面是EventBus的基本使用方法: 1.添加EventBus依赖:在项目的构建文件(例如build.gradle)中添加EventBus的依赖。 2.定义事件类:创建一个事件类,用于描述需要传递的事件。事件类通常是一个普通的Java类,没有...
1、使用的时候有定义很多event类 2、event在注册的时候会调用反射去遍历注册对象的方法在其中找出带有@subscriber标签的方法,性能不高。 3、需要自己注册和反注册,如果忘了反注册就会导致内存泄漏 EventBus环境配置 1,依赖导入 在app module的builde.gradle文件中导入依赖库: ...
EventBus.getDefault().post(EventType eventType); 上述EventType 就是第一步定义的事件类型。 5、threadMode POSTING 默认的模式,开销最小的模式,因为声明为 POSTING 的订阅者会在发布的同一个线程调用,发布者在主线程那么订阅者也就在主线程,反之亦,避免了线程切换,如果不确定是否有耗时操作,谨慎使用,因为可能...
官网地址:http://greenrobot.org/eventbus/ 二、添加依赖 compile 'org.greenrobot:eventbus:3.0.0' 1. 三、解锁技能 EventBus的三要素 Event:事件,可以是任意类型的对象。 Subscriber:事件订阅者,在EventBus3.0之前消息处理的方法只能限定于onEvent、onEventMainThread、onEventBackgroundThread和onEventAsync,他们...
@Subscribe(threadMode=ThreadMode.MAIN,priority=1,sticky=true)publicvoidhandleMessage(MessageEventevent){Log.i("EventBusTest",event.toString());} 在上一步注册的类里面添加一个方法,用于事件处理,方法名任意,但是只能有一个参数,而且修饰符必须是public的,不能使用static,abstract修饰,然后使用@Subscribe注解。