EventBus入门(一)

作者: 某人_Valar | 来源:发表于2017-06-24 11:31 被阅读152次

    作者:某人_Valar
    如需转载请保留原文链接
    EventBus的GitHub地址:https://github.com/greenrobot/EventBus
    本文只是做一个简单的介绍,实现过程会在下一文中

    相关文章

    本文结构

    • 1.简介
    • 2.使用步骤
    • 3.粘性(sticky)事件的介绍
    1 简介

    EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。
    可以替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。

    2 使用步骤
    1. 引用包
      gradle下
    compile 'org.greenrobot:eventbus:3.0.0'
    

    maven下

    <dependency>
        <groupId>org.greenrobot</groupId>
        <artifactId>eventbus</artifactId>
        <version>3.0.0</version>
    </dependency>
    
    1. 注册
    EventBus.getDefault().register();
    
    1. 解注册
    EventBus.getDefault().unregister();
    
    1. 构造发送消息类
    2. 发布消息
    EventBus.getDefault().post();
    
    1. 接受消息(有四种方式)
    • ThreadMode.MAIN表示在主线程中执行
    • ThreadMode.BACKGROUND表示该方法在后台(子线程)执行,不能并发处理
    • ThreadMode.ASYNC也表示在后台(子线程)执行,可以异步并发处理
    • ThreadMode.POSTING表示该方法和消息发送方在同一个线程中执行
    3 粘性(sticky)事件

    对于之前说的使用方法,都是需要先注册(register),再发送消息(POST),才能接收到事件。
    如果使用postSticky发送事件,就先接受到事件,之后再进行注册。

    步骤如下:

    1. 构造发送消息类
    2. 发布消息
    3. 接受消息
    4. 注册
    5. 解注册

    传送门:EventBus入门(二)--实例

    相关文章

      网友评论

        本文标题:EventBus入门(一)

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