软件框架之EventBus的使用

1、简介
EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。
eventbus原理框图.png
2、下载地址
https://github.com/greenrobot/EventBus
3)使用步骤
1)添加jar包到libs文件夹下
2)注册
EventBus.getDefault().register(this);
3)解注册
EventBus.getDefault().unregister(this);
4)构造发送消息类
5)发布消息
EventBus.getDefault().post(new MessageEvent("yijia","123456"));
6)接收消息
ThreadMode.MAIN 表示这个方法在主线程中执行
ThreadMode.BACKGROUND 表示该方法在后台执行,不能并发处理
ThreadMode.ASYNC 也表示在后台执行,可以异步并发处理。
ThreadMode.POSTING 表示该方法和消息发送方在同一个线程中执行
4)粘性事件
之前说的使用方法, 都是需要先注册(register), 再post,才能接受到事件; 
如果你使用postSticky发送事件, 那么可以不需要先注册, 也能接受到事件.
1)构造发送信息类
2)发布消息
EventBus.getDefault().postSticky(new StickyEvent("我是粘性事件"));
3)接收消息
4)注册
EventBus.getDefault().register(CActivity.this);
5)解注册
5)例子
1)主线程发送消息
2)发送粘性事件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值