将任务加入到后台的一个队列,最终由Eventbus中的一个线程池去调用;线程池与BackgroundThread用的是同一个。 第四种:发送和接收在同一个线程中处理。ThreadMode.POSTING 对应表示该方法和消息发送发是在同一个线程中执行。 对应的代码:EventActivity跳转到SendMessageActivity页面, SendMessageActivity往EventActivity页面...
• 发布消息:EventBus.getDefault().post(new MessageEvent("name","password")); • 接收消息:可以有四种线程模型选择 @Subscribe(threadMode = ThreadMode.MAIN) public void messageEventBus(MessageEvent event){ tv_result.setText("name:"+event.name+" passwrod:"+event.password); } 1. 2. 3. 4...
1. 引入 EventBus 库 首先,需要在项目的build.gradle文件中添加 EventBus 依赖: dependencies{implementation'org.greenrobot:eventbus:3.2.0'} 1. 2. 3. 2. 注册事件 在需要接收事件的类中,注册事件: EventBus.getDefault().register(this); 1. 3. 定义事件类 创建一个事件类,用于定义事件的数据。例如,创...
1、Event:事件,它可以是任意类型,EventBus会根据事件类型进行全局的通知。 2、Subscriber:事件订阅者,在EventBus 3.0之前我们必须定义以onEvent开头的那几个方法,分别是onEvent、onEventMainThread、onEventBackgroundThread和onEventAsync,而在3.0之后事件处理的方法名可以随意取,不过需要加上注解@subscribe,并且指定线程...
EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法。 EventBus有五种线程模式分别是: POSTING:默认,表示事件处理函数的线程和发布事件的线程在同一个线程。 MAIN:表示事件处理函数的线程在UI主线程(不能进行耗时操作) ...
tools:context="com.harvic.try_eventbus_1.SecondActivity"> <Button android:id="@+id/btn_first_event" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="First Event"/> </LinearLayout> MainActivity.java (点击btn跳转到第二个Activity) ...
EventBus是用在Android/Java中的发布/订阅事件总线框架。框架轻量,使用简单,快速高效,简化了组件之间的通信。 项目使用EventBus 引入框架 implementation("org.greenrobot:eventbus:3.3.1") 定义事件 public class MessageEvent { public final String message; public MessageEvent(String message) { this.message = ...
使用 添加依赖 导入依赖包 implementation 'org.greenrobot:eventbus:3.2.0' Subscriber Index[可选] 作者在EventBus 3中引入了EventBusAnnotationProcessor(注解分析生成索引)技术,大大提高了EventBus的运行效率; 1. java android { defaultConfig { javaCompileOptions { ...
1.EventBus的使用及优点是Android进阶开发:手撸EventBus核心代码,带你一步步实现架构的性能优化的第1集视频,该合集共计5集,视频收藏或关注UP主,及时了解更多相关视频内容。