美文网首页Android开发Android进阶开发Android开发经验谈
你用不惯 RxJava,只因缺了这把钥匙

你用不惯 RxJava,只因缺了这把钥匙

作者: 881ef7b85f62 | 来源:发表于2019-04-19 17:47 被阅读46次

前言

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

Observable.just(1, 3, 5, 7, 9)
    .map(i -> i + 1)
    .filter(i -> i < 5)
    .subscribe(getObserve());

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

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

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

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

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

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

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

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

下面回到我们最初的问题上来。你之所以用不惯 RxJava 操作符,是因为你习惯性地使用命令式编程思维 来理解实际上是声明式编程的操作符。 学习操作符,就和你在大学里接受的 SQL 语句一样理所当然。

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

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

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

Observable.just(1, 3, 5, 7, 9)
    .map(i -> i + 1)
    .filter(i -> i < 5)
    .subscribe(getObserve());

这样说,你理解了吗?

全套操作符示例代码
github.com/KunMinX/RxJ…

关于RXJava的全部学习内容,我们这边都有系统的知识体系以及进阶视频资料,有需要的朋友可以加群免费领取安卓进阶视频教程,源码,面试资料,群内有大牛一起交流讨论技术;点击链接加入群聊【腾讯@Android高级架构】
(包括自定义控件、NDK、架构设计、混合式开发工程师(React native,Weex)、性能优化、完整商业项目开发等)

Android高级进阶视频教程

相关文章

  • 你用不惯 RxJava,只因缺了这把钥匙

    前言 本文最初是为部门内部培训而准备的,但经过一番调研发现,同事们用不惯 RxJava,并不是因为网上介绍 “怎么...

  • 你用不惯 RxJava,只因缺了这把钥匙

    前言 本文最初是为部门内部培训而准备的,但经过一番调研发现,同事们用不惯 RxJava,并不是因为网上介绍 “怎么...

  • 相遇请善待~相别勿伤害

    人的一生, 很多时间都在开锁, 而身上的这把钥匙决定了你的人生。 试着用心去修炼这把钥匙吧, 让它为你的选择提供更...

  • 相遇时,彼此善待;相别时,亦勿伤害

    人的一生,很多时间都在开锁,而身上的这把钥匙往往就决定了你的人生。试着用心去修炼身上的这把钥匙,让它为你的选择...

  • 2017-11-03

    人的一生,很多时间都在开锁,而身上的这把钥匙往往就决定了你的人生。试着用心去修炼身上的这把钥匙,让它为你的选择提供...

  • 2018,过自己喜欢的生活,遇见最美的人生

    人的一生,很多时间都在开锁,而身上的这把钥匙往往就决定了你的人生。试着用心去修炼身上的这把钥匙,让它为你的选择提供...

  • 看淡人生路,心态好很重要

    人的一生,很多时间都在开锁,而身上的这把钥匙往往就决定了你的人生。试着用心去修炼身上的这把钥匙,让它为你的选择提供...

  • 过自己喜欢的生活,就是最好的生活

    人的一生,很多时间都在开锁,而身上的这把钥匙往往就决定了你的人生。试着用心去修炼身上的这把钥匙,让它为你的选择提供...

  • 聊个人故事——从职业发展到创业

    放把钥匙在这里,这就是身为屌丝的你的出路! 可你能够拿的到这把钥匙吗? 不能,为什么?因为这把钥匙是我的! 想要得...

  • 神奇的钥匙

    神奇的钥匙 我有一把神奇的钥匙 能打开欢乐的门 让你不再烦恼 这把神奇的钥匙我已复制 送你一把 你可乐意 这把神奇...

网友评论

    本文标题:你用不惯 RxJava,只因缺了这把钥匙

    本文链接:https://www.haomeiwen.com/subject/idycgqtx.html