EventBus简单使用

简介: EventBus简单使用

github:https://github.com/greenrobot/EventBus/

compile 'org.greenrobot:eventbus:3.0.0'

EventBus使用起来可以说是非常简单,而且是轻量级的,目前github的start已经15k+了


根据官网说明,只需要三步即可完成事件通知


1.注册、移除注册


建议放在onCreate和onDestory中,因为跳转的话会走onStop,再通知的话会出现接收不到消息的情况,虽然可以用postSticky,但是能避免的为什么不避免呢

@Override
 public void onCreate() {
     super.onStart();
     EventBus.getDefault().register(this);
 }
 @Override
 public void onDestory() {
     super.onStop();
     EventBus.getDefault().unregister(this);
 }


2.发布消息

只需要一行代码,非常简便

EventBus.getDefault().post("SecondActivity发起的通知");


3.重写方法接收参数


@Subscribe
    public void onEventMainThread(String event) {
        mTextView.setText(event);
        Toast.makeText(this, event, Toast.LENGTH_SHORT).show();
    }


到这里一个通知就完了。。

重写的方法要加上@Subscribe才行


也可以这样写

@Subscribe(threadMode = ThreadMode.MAIN)

直接指定方法执行的线程



ThreadMode有四种

1 ThreadMode: POSTING
2 ThreadMode: MAIN
3 ThreadMode: BACKGROUND
4 ThreadMode: ASYNC
目录
相关文章
|
2月前
|
JavaScript 调度
Vue事件总线(EventBus)使用指南:详细解析与实战应用
Vue事件总线(EventBus)使用指南:详细解析与实战应用
93 1
|
前端开发 JavaScript
useContext 简单使用
useContext 简单使用
91 0
|
JavaScript
Vue中 EventBus 的使用,如何实现Vue中的EventBus
Vue中 EventBus 的使用,如何实现Vue中的EventBus
DHL
|
Java API Android开发
EventBus3.1用法详解
EventBus是Android和Java的发布/订阅事件总线。从EventBus3.1开始支持普通Java(非android)项目。GitHub的地址
DHL
252 0
EventBus3.1用法详解
|
存储 缓存 调度
EventBus源码解析
EventBus源码解析
750 0
EventBus源码解析
|
监控 Java
说下你可能没用过的EventBus
一般情况下,我们会做成异步的方式,使用MQ自己发送自己消费,或者说一个线程池搞定,这样的话不影响主业务逻辑,可以提高性能,并且代码做到了解耦。
【EventBus】EventBus 使用示例 ( 最简单的 EventBus 示例 )
【EventBus】EventBus 使用示例 ( 最简单的 EventBus 示例 )
210 0
【EventBus】EventBus 使用示例 ( 最简单的 EventBus 示例 )
EventBus实现组件间异步
最近新换了工作,刚来比较轻松,所以想自己写几个小工具提升下自己的效率。在开发过程中发现组件的一些通讯问题,如果采用异步的方式,效率能得到很大提升,所以决定使用到EventBus(消息总线)技术,达到异步事件处理的目的。
|
搜索推荐
【EventBus】EventBus 源码解析 ( EventBus 构建 | EventBus 单例获取 | EventBus 构造函数 | EventBus 构建者 )
【EventBus】EventBus 源码解析 ( EventBus 构建 | EventBus 单例获取 | EventBus 构造函数 | EventBus 构建者 )
129 0
【EventBus】EventBus 源码解析 ( 事件发送 | EventBus.post 方法 | EventBus.postSingleEvent 方法 )
【EventBus】EventBus 源码解析 ( 事件发送 | EventBus.post 方法 | EventBus.postSingleEvent 方法 )
178 0