Simple RxJava 简单的RxJava实现
来源:互联网 发布:魔方拼图软件 编辑:程序博客网 时间:2024/06/11 09:09
RxJava是非常好的开源库,大家都懂的,为了学习它的源码,我按照源码抽出来最简单的几个概念,写了一个极简的RxJava,4个类,3个接口,能做到嵌套拉平,线程切换以及单个值的类型转换操作,其实基本上算照抄代码啦- - ),这里简单记录一下。
三个接口:Observe、OnSubscribe、Operator
Observe:相当于监听主题发出通知的回调,也可以理解为接受处理结果的地方,因为这个原因,比如:接受到一个String类型的通知/结果,之后再把这个结果变成int类型,然后再生成一个新的Observe返回,这就完成了最简单的变换,源码中有OnNext等回调接口,这里只保留一个OnNext,其他也是同理。
Operator:负责变换的接口,可以简单理解为把原Observe变成目标Observe的地方,这里只简单的使用了两个泛型,即只能实现单个变量的类型转换(当然扩展太多最终就成了RxJava本身)
OnSubscribe:是主题事件发生的地方,主题事件执行的地方,也算是被监听的对象,是Observable的核心部分,一般在生成Observable的时候指定,我们知道要实现链式调用,我们使用操作符后需要生成新的Observable返回,新的Observable其实只需要指定新的OnSubscribe即可,新的OnSubscible也只是使用各种Operator产生各种变换效果。
四个类:Observable、SwitchThreadOnSubscribe、TranslateOnSubscribe、MainThreadOperator
Observable:对外总接口,担当链式调用的节点,负责大部分对外功能的实现。
SwitchThreadOnSubscribe:切换线程的OnSubscribe,这里面可以传入各种切换线程的Operate,当然其他无关于类型转换的Operate都可以传入,这里用这个名字当然是以偏概全的,但是这里为举例子可以先这样叫。
MainThreadOperate:用于把一个Observe转换成在“MianThread”执行的Observe的操作符
TranslateOnSubscribe:执行各种类型转换的Operate的OnSubscribe
代码写的都很简单,算是极度化简了RxJava,只有化简了才更能看出原理吧
如下是项目地址:欢迎大家吐槽
https://github.com/libohan1312/simplerxjava
- Simple RxJava 简单的RxJava实现
- 这是用RxJava实现的一个简单demo
- RxJava 1.x 实现简单的logService
- RxJava的简单应用
- RxJava的简单使用
- RxJava的简单使用
- 简单的RxJava+Retrofit
- RxJava的简单入门
- RxJava 的简单封装
- Rxjava的简单使用
- RxJava的基本实现
- 简单实现Rectrofit+RXJAVA+Fresco
- RxJava+Retrofit 简单理解实现
- RxJava学习笔记1--RxJava原理和简单实现
- RxJava的简单使用入门
- android rxjava的简单使用
- 简单了解RxJava的源码
- Rxjava的最简单使用
- ios--多线程
- VMware网络连接模式—桥接、NAT以及仅主机模式的详细介绍和区别
- javascript event
- win10系统+jdk1.7(环境变量配置)+apache-tomcat-7.0.75(环境变量配置)
- 算法进行时--单链表(一)头尾插法
- Simple RxJava 简单的RxJava实现
- 洛谷P1314聪明的质检员(二分)
- Kore:开源C语言Web框架
- 由作用域链引发的一个小问题
- 同域名适配手机端和PC端
- Eclipse、MyEclipse默认字符设置
- Hdfs shell命令操作
- C语言的Web框架 Raphters
- SOA 设计的 9 大原则