rxbus 源码_RxBus---使用RxAndroid2.0实现RxBus
RxBus实现
1 添加Gradle:
//RxAndroid
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.4'
2 添加RxBus类:
public class RxBus {
private static volatile RxBus mInstance;
private final Subject subject = PublishSubject.create().toSerialized();
private Disposable dispoable;
private RxBus() {
}
public static RxBus getInstance() {
if (mInstance == null) {
synchronized (RxBus.class) {
if (mInstance == null) {
mInstance = new RxBus();
}
}
}
return mInstance;
}
/**
* 发送事件
* @param object
*/
public void send(Object object) {
subject.onNext(object);
}
/**
* @param classType
* @param
* @return
*/
public Observable toObservale(Class classType) {
return subject.ofType(classType);
}
/**
* 订阅
* @param bean
* @param consumer
*/
public void subscribe(Class bean, Consumer consumer) {
dispoable = toObservale(bean).subscribe(consumer);
}
/**
* 取消订阅
*/
public void unSubcribe(){
if (dispoable != null && dispoable.isDisposed()){
dispoable.dispose();
}
}
}
3 添加监听
RxBus.getInstance().subscribe(String.class, new Consumer() {
@Override
public void accept(String path) throws Exception {
}
});
4 发送监听事件:
RxBus.getInstance().send("发送事件");
5 在退出Activity(Fragment)时,取消监听:
RxBus.getInstance().unSubcribe();
rxbus 源码_RxBus---使用RxAndroid2.0实现RxBus相关推荐
- rxbus 源码_RxBus的实现及简单使用
RxJava目前已经很火了,如果你尚未了解请看这里.对于RxJava这里不多做介绍. RxBus并不是一个库,而是一种模式.相信大多数开发者都使用过EventBus,作为事件总线通信库,如果你的项目已 ...
- php 7.0 编译安装mysql_源码编译安装php7.0.5
源码编译安装php7.0.5 源码包下载地址 安装epel扩展yum源 [root@xuegod63 ~]# yum clean all [root@xuegod63 ~]# yum list 注:R ...
- ubuntu16.04源码安装opencv3.4.0
ubuntu16.04源码安装opencv3.4.0 opencv下载地址:https://opencv.org/releases/page/3/ 1.下载安装包 2.安装依赖 sudo apt-ge ...
- 微趣能Weiqn(微信源码下载)V1.5.0.2beta官方版
名称:微趣能Weiqn(微信源码下载)V1.5.0.2beta官方版 版本:1.5.0.2 软件大小:9.25 MB 软件语言:简体中文 软件授权:免费版 应用平台:Win8/Win7/WinXP 微 ...
- 07-PDI(Kettle)源码编译8.2.0.0.R版本
文章目录 07-PDI(Kettle)源码编译8.2.0.0.R版本 1.安装PDI8.2.0.0.R的parent工程到本地 1.1配置Maven的settings.xml文件 1.2安装PDI源码 ...
- 一次令人吐血的ubuntu源码安装gcc-5.4.0经历
ubuntu20.04源码安装gcc-5.4.0 虽然cilkplus已经被弃用了,但是因为代码里用到了cilkplus,所以还是要安装gcc-5.4.0,因为make一直不通过,整个过程费了好大功夫 ...
- baocms伪静态_PHP源码:BAOCMS v5.0白金版 本地O2O生活电商门户系统+微信+同步wap手机版宝...
5.0安装说明 1.确认你的PHP版本必须是5.3或者上 2.phpmyadmin 导入数据库 不懂的请 --------------------------------- ============= ...
- 分享个手机棋牌游戏源码 欢乐麻将2.0 使用cocos2d-x引擎开发
分享个手机棋牌游戏源码 欢乐麻将2.0 使用cocos2d-x引擎开发 https://bbs.wxrym.com/thread-90094-1-1.html (出处: 外星人源码论坛) 不知不觉已 ...
- DJI ManiFold-2G(Nvidia Jetson TX2)源码安装Tensorflow-1.12.0
Dji ManiFold-2G(Nivida Jetson TX2)源码安装Tensorflow-1.12.0 Cuda 9.0 Jetpack 3.3 Python 3.5 cuDNN 7.4.1( ...
最新文章
- 独家 | 教你用Scrapy建立你自己的数据集(附视频)
- 计算机 二进制 中国,二进制与计算机
- 大数据架构如何做到流批一体?【对于Flink等流批一体的概念做了很好的澄清!】
- 用华为HMS core的秘钥库文件不存在或者已经存在的解决方案
- 动画制作c语言程序,C语言动画制作
- Oracle修改SID(实例名)
- c语言随机读写信息fetch,北京大学信息科学技术学院考试试卷-计算机系统导论-期中-2015(16页)-原创力文档...
- Swift3 获取系统音量和监听系统音量
- 两分钟看懂CPU生产过程
- C++复合类型-引用变量
- tomcat+mysql+腾讯云_腾讯云服务器配置tomcat和mysql
- Arduino+WZ指令+Onenet
- 【CE入门教程】使用CE 分析扫雷,查找雷数、笑脸、计时器的内存地址
- SPOOLing和虚拟化
- 2013年9月中秋云南昆明、丽江、泸沽湖、香格里拉、梅里雪山、虎跳峡之旅
- css实现跳动的心形图案
- 《人类简史》--摘录
- python while遍历字符串_零基础学Python:while循环和for遍历
- The NTVDM CPU has encountered an illegal instruction. CS:0006 IP:130a ....
- 清空Redis集群数据工具
热门文章
- HTML 列表去掉前边点和序号
- GP——数据库常用命令
- c# 控制台485串口连接
- 四、鼎捷T100总账管理之期末账务管理篇
- java mysql判断字符串相等_【Java】利用String的compareTo比较两个时期字符串
- java实现简单扫雷
- 度量衡计算工具_【度量衡换算器下载】中国古代度量衡换算器 v2.1 中文版-开心电玩...
- 导出的excel表格是乱码的解决方法
- 适合AI初学者的10个机器学习项目!入门so easy
- 整流器+逆变器。 前级采用PWM整流器,采用双闭环前馈解耦控制