美文网首页
事件总线初探

事件总线初探

作者: Geepi | 来源:发表于2016-09-01 11:26 被阅读0次
  • 闲话说说Android的通信机制,Android的通信方式有蛮多,intent、broadcast、进程间通信等等。但是不管哪种通信都没有彻底解耦,早些年使用过sybase的数据库中间介,需求是必须保证客户端和服务端数据库的绝对同步,当时sybase采用的解决方案就是在客户端订阅消息,服务端有任何数据变动,都可以一条事件总线发布。有幸在github上找了一个成熟的库eventbus。

集成EventBus

build.gradle 引用

compile 'de.greenrobot:eventbus:2.4.0'

事件的定义

    public static class ServerCenterUpdateEvent {
        private int serverId;
        public ServerCenterUpdateEvent(int serverId) {
            this.serverId = serverId;
        }

        public int getServerId() {
            return serverId;
        }
    }

事件的注册

        EventBus.getDefault().registerSticky(this);

事件的反注册

        EventBus.getDefault().unregister(this);

事件的发送

            EventBus.getDefault().post(new TLEvents.ServerCenterUpdateEvent(item.getSvId()));

事件的接收

     /**
     * 消息数量发生改变时刷新
     *
     * @param serverCenterUpdateEvent
     */
    public void onEventMainThread(TLEvents.ServerCenterUpdateEvent serverCenterUpdateEvent) {
        LogUtil.d("changeServerID:" + serverCenterUpdateEvent.getServerId());
        EventBus.getDefault().removeStickyEvent(TLEvents.ServerCenterUpdateEvent.class);
    }

相关文章

  • 事件总线初探

    闲话说说Android的通信机制,Android的通信方式有蛮多,intent、broadcast、进程间通信等等...

  • RxJava实现事件总线(RxBus)学习笔记

    目录事件总线的介绍利用RxJava实现事件总线(Rxbus)Rxbus的使用 事件总线的介绍 1. 什么是事件总线...

  • 事件总线知多少(1)

    源码路径:Github-EventBus事件总线知多少(1)事件总线知多少(2) 1. 引言 事件总线这个概念对你...

  • 事件总线知多少(2)

    源码路径:Github-EventBus事件总线知多少(1)事件总线知多少(2) 1.引言 之前的一篇文章事件总线...

  • 使用JavaScript手写一个事件总线功能

    事件总线 事件总线主要是实现一些任意的或非父子关系的组件之间的数据通信 实现一个事件总线功能需要: 事件派发 $...

  • 走马观花 - EventBus

    EventBus是Android的中央发布/订阅事件系统。 事件被post到总线,总线将事件传递给具有事件类型的匹...

  • [大白装逼]YEventBus事件总线的实现

    Y事件总线:基于java的Observe和Observable实现的事件总线github地址:https://gi...

  • 事件总线

    Android应用开发中,经常会涉及Activity,Fragment,Service等不同组件或者模块之间的消息...

  • 事件总线

    EventBus 3.0进阶:源码及其设计模式 完全解析 EvenBus3.0用法介绍 Eventbus Squa...

  • 事件总线

    事件总线,提供了一个,解耦合,和异步的能力

网友评论

      本文标题:事件总线初探

      本文链接:https://www.haomeiwen.com/subject/jqnosttx.html