服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - 你用不惯 RxJava,只因缺了这把钥匙(推荐)

你用不惯 RxJava,只因缺了这把钥匙(推荐)

2022-10-13 14:57KunMinX Android

这篇文章主要介绍了RxJava操作符,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

本文最初是为部门内部培训而准备的,但经过一番调研发现,同事们用不惯 rxjava,并不是因为网上介绍 “怎么用” 的教程不够多,恰恰是因为,一上来就急着发车的教程无数、却从未有过哪篇教程 舍得用几句话的功夫点破 rxjava 操作符究竟为何方神圣、我们为什么要用、为什么要那样用。

?
1
2
3
4
observable.just(1, 3, 5, 7, 9)
  .map(i -> i + 1)
  .filter(i -> i < 5)
  .subscribe(getobserve());

事实上,在相当长的一段时间里,我也和大部分人一样,只知道使用 rxjava 来完成异步回调,至于那些操作符,则是能不用尽量不用,因为不知道葫芦里卖的什么药,看不懂、不会用。

你用不惯 RxJava,只因缺了这把钥匙(推荐)

因此,本文的初衷绝不是翻译官方文档、教大家怎么用,而是旨在帮助大家对 rxjava 操作符 完成感性上的认识。鉴于本次培训的效果还不错、同事们听了都说好,我便在 github 开源了全套操作符示例代码(不要慌,链接文末已给出)。如果你在阅读本文后觉得恍然大悟,原来 rxjava 操作符是这么回事,那么我的愿望也就达到了。

你用不惯 RxJava,只因缺了这把钥匙(推荐)

编程语言包含多种编程范式

我对操作符本质的顿悟,始于我对编程语言的理解。和你一样,我是做安卓开发,但有一天,我决定跳出 java,从整个计算机科学的角度来学习和理解编程语言的本质,在这过程中,我接触了“编程范式”这个概念,了解到原来每个编程语言大都包含多种编程范式。

常见的编程范式有:命令式编程、声明式编程等。

你用不惯 RxJava,只因缺了这把钥匙(推荐)

以 java 为例,咱们 java 最主要的编程范式是命令式编程。命令式编程 即按顺序执行具体的命令,这些命令不仅交待了做什么,还详细交待了每一步怎么做。

sql 也是种编程语言,是一种典型的声明式编程。声明式编程的特点是,只交待做什么,但无须交待怎么做。

操作符的本质是声明式编程

下面回到我们最初的问题上来。你之所以用不惯 rxjava 操作符,是因为你习惯性地使用命令式编程思维 来理解实际上是声明式编程的操作符。

学习操作符,就和你在大学里接受的 sql 语句一样理所当然。

sql 你是理解的,就是按一定的规则,向数据库中的数据声明你要做什么。

你用不惯 RxJava,只因缺了这把钥匙(推荐)

 同理,rxjava 也是按一定的规则,向数据流声明你要做什么。

你用不惯 RxJava,只因缺了这把钥匙(推荐)

转换成代码,便成为以下这样。

?
1
2
3
4
observable.just(1, 3, 5, 7, 9)
  .map(i -> i + 1)
  .filter(i -> i < 5)
  .subscribe(getobserve());

这样说,你理解了吗?

你用不惯 RxJava,只因缺了这把钥匙(推荐)

全套操作符示例代码

github.com/kunminx/rxj…

以上所述是小编给大家介绍的rxjava操作符详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://juejin.im/post/5cb82a42e51d456e62545ac6

延伸 · 阅读

精彩推荐