RxBus(一)
来源:互联网 发布:人工智能语义分析 编辑:程序博客网 时间:2024/05/21 06:24
最近在整理项目源码中,打算抽取一些常用的代码,做成属于自己的项目代码库,以供其他项目或者以后做项目使用,减少重复工作,降低开发难度。
如果已经在项目中使用了RxJava,可以考虑RxBus来替代EventBus等库,在实现同等的功能前提下,减少代码。由于本人正式在项目中使用RxJava的时间比较晚,所以,关于Rx的文章,很多具体实现是参考了其他blog,但由于无法考证哪位才是原作者,在此就不添加作者链接了,但还是在此先对大牛们表示感谢。关于具体如何实现RxBus,在此就不具体描述了,因为已经有很多blog都详细讲解了RxBus的实现方法,如果不清楚,可以参考我的代码或搜索一下RxBus的实现。该blog的关注点更多的是在项目中如何去使用RxBus,以及关于Event的方面的内容。
RxBus的代码暂时封装的比较简单,后期根据实际情况,可能会做进一步封装,以便于使用更简单。在post方法原本是可以发送任何Event(即Event可以为Object类型)的,但我考虑到代码统一性,强制规定了只能发送RxEvent类型的事件。前期的做法是定义了一个没有任何变量、方法的类,如果需要使用Event,则自定义一个Event并继承自RxEvent,这样,在业务层处理Event的时候,所有的Event都是RxEvent的子类。但最近在整理项目代码的时候,发现需要使用Event的时候,需要自己定义N多的Event,感觉使用起来也挺繁琐的。后面想到了Handler和Message,于是打算学习一下Message的做法,封装一个自己的RxEvent。目前给RxEvent定义了两个变量what和obj,所有都会发送RxEvent对象,同时处理的时候,都去处理RxEvent对象,不需要再去自定义多个子Event,根据what区分是哪个发送的事件,根据obj区分事件的具体内容,这样就避免了使用者每次都得自己定义
但是,这个RxEvent只是一个最初的版本,后续我将参考Message的源码,加入对象池,以便于RxEvent对象的复用。
由于个人的技术水平有限,难免会有疏漏,欢迎拍砖。如有错误,欢迎指正,谢谢!
- RxBus(一)
- RxBus-mvp模式下对Rxjav的封装(一)
- 个人项目-一之(MVP+RxJava2+Retrofit2+RxBus+Glide)
- (九)RxJava:RxBus
- RxBus(二)
- RxBus
- RxBus
- RXBUS
- RxBus
- RxBus
- RxBus
- RxBus
- RxBus
- RxBus
- 【RxJava Demo分析】(四)RxBus
- RxAndroid+Retrofit+Rxbinding+RxBus先用再懂(1)
- RxAndroid 应用(四)(简易天气App之RxBus)
- 基于NoHttp+RxBus实现文件下载(带下载进度)
- MATLAB-Numpy函数对照表
- windows下QT编译使用boost
- 谈谈初入React框架踩过的坑
- oracle数据库常见错误解决办法
- 浅谈& 0xff
- RxBus(一)
- READING NOTE: Pixel Objectness
- Maven:Generating Project in Batch mode 卡住问题
- FreeRTOS之源码及移植解析
- POJ 1797 Heavy Transportation
- =w=一个月的u3d学习纪念日记
- android 触摸事件
- 使用nginx作为http负载均衡器
- Hbase集群迁移