【EventBus】EventBus 事件总线框架简介 ( EventBus 使用流程 )

网友投稿 1047 2022-05-30

文章目录

一、EventBus 事件总线框架简介

二、EventBus 使用流程

一、EventBus 事件总线框架简介

Android 中的事件传递机制 :

使用 Intent 在组件间传递信息 ;

使用 BroadcastReceiver 跨进程传递数据 ;

使用 Handler 跨线程通信 ;

使用 接口回调 机制 , Activityfragment 之间的通信方式 ;

EventBus 事件总线框架

简化了

Android 中的事件传递机制 ;

【EventBus】EventBus 事件总线框架简介 ( EventBus 使用流程 )

EventBus 常用于 组件 间的事件传递 , 实现了各个组件间的通信 , 如 Activity 与 Fragment 之间的通信 , Activity 与 Service 之间的通信 ;

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

EventBus 文档 : https://greenrobot.org/eventbus/Documentation/

二、EventBus 使用流程

参考 https://github.com/greenrobot/EventBus 中的使用步骤 ;

1 . 导入 EventBus 依赖 ;

implementation 'org.greenrobot:eventbus:3.2.0'

1

2 . 声明 EventBus 事件处理方法 ; 使用 @Subscribe 注解修饰处理消息的方法 , 该方法必须是 public void 修饰的 , 只有一个参数 , 参数类型随意 , 调用 EventBus.getDefault().post 即可发送消息到该方法进行处理 ;

/** * 使用 @Subscribe 注解修饰处理消息的方法 * 该方法必须是 public void 修饰的 * 只有一个参数 , 参数类型随意 * 调用 EventBus.getDefault().post 即可发送消息到该方法进行处理 * @param msg */ @Subscribe public void onMessgeEvent(String msg){ textView.setText(msg); }

1

2

3

4

5

6

7

8

9

10

11

3 . 注册 EventBus , 一般在 onCreate 中注册 , 在 onDestory 中取消注册 ;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 首先注册订阅 EventBus EventBus.getDefault().register(this); } @Override protected void onDestroy() { super.onDestroy(); // 取消注册 EventBus.getDefault().unregister(this); }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

4 . 发送消息 ; 调用 EventBus.getDefault().post 方法 , 将消息发送到消息处理方法中 ;

EventBus.getDefault().post("Hello EventBus !");

1

Android

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:用 mysql 客户端连接 clickhouse
下一篇:JavaScript 对象讲解 详细解释
相关文章