zoukankan      html  css  js  c++  java
  • EventBus3.0使用

    EventBus使用

    • 1.EventBus是有GreenDao公司提出的一个用于Android平台线程、进程间通信的库,使用方式简单粗暴,而且,库的大小不足50K,成本很低。

    EventBus的地址:在这里

    在这里我介绍一下EventBus 3.0的使用方式,目前搜索到的大部分资料都是针对EventBus 2.4的,在使用方式上,3.0版本比2.4版本更加自由。

    首先,在build.gradle中添加

     compile 'org.greenrobot:eventbus:3.0.0'
    

    其次,之后,在你需要接受发送的消息的类的构造函数/onCreate方法里面添加

    EventBus.getDefault().register(this);
    

    当然,添加了注册,不要忘记反注册

     EventBus.getDefault().unregister(this);
    

    之后,在这个类里面书写一个任意的public方法,参数就是你要接受的消息类型,

    public void helloEventBus(String message){}
    

    在这个方法上面添加 @Subscribe 注解,同时这里可以添加threadMode参数决定helloEventBus方法执行在什么线程上面,这里的参数分为

    参数 含义
    POSTING 与消息发送者在同一线程(默认)
    MAIN 执行在主线程
    BACKGROUND 执行在一个后台线程,会优先寻找发送者的线程,如果发送者执行在主线程,那么就新建一个后台线程
    ASYNC 执行在一个新的后台线程中

    在这里,同样支持添加优先级 priority 属性来决定在同种ThreadMode下面的处理任务的顺序。

    最后,在调用的地方使用

    EventBus.getDefault().post(message);
    

    来发送消息。

    使用篇就到这里,之后会继续写原理分析。
    ----------------我是萌萌哒的分割线---------------------

  • 相关阅读:
    处理安卓9patch(.9.png)图片
    block 方法参数中带有block 如何生成 如何使用
    hash_hmac
    日期(NSDate)是NSString类的格式(stringWithFormat)
    UITableView刷新单个cell或者单个Section
    iOS enum 定义与使用
    拼接url地址
    demo效果
    好东西
    关于ios7 navigationController中view的frame以及坐标点
  • 原文地址:https://www.cnblogs.com/cwr941012/p/5681827.html
Copyright © 2011-2022 走看看