RxJava入门之介绍与基本运用入门之介绍与基本运用
对于Android开发者来说,当有一天打开技术论坛、博客满屏都是各种Rx的时候,心里是很慌的。所以趁着现在
跟着小编通过这篇文章先来简单认识下RxJava,以及RxJava的基本运用。对这感兴趣的朋友下面来一起看看
吧。
前言前言
因为这个RxJava内容不算少,而且应用场景非常广,所以这个关于RxJava的文章我们会陆续更新,今天就来先来个入门
RxJava吧
初识初识RxJava
什么是什么是Rx
很多教程在讲解RxJava的时候,上来就介绍了什么是RxJava。这里我先说一下什么是Rx,Rx就是ReactiveX,官方定义是:
Rx是一个函数库,让开发者可以利用可观察序列和LINQ风格查询操作符来编写异步和基于事件的程序
看到这个定义我只能呵呵,稍微通俗点说是这样的:
Rx是微软.NET的一个响应式扩展。Rx借助可观测的序列提供一种简单的方式来创建异步的,基于事件驱动的程序。
这个有点清晰了,至少看到我们熟悉的异步与事件驱动,所以简单点且不准确地来说:
Rx就是一种响应式编程,来创建基于事件的异步程序
注意,这个定义是不准确的,但是对于初学者来说,已经可以有个基本的认知了。
另外还有一点就是Rx其实是一种编程思想,用很多语言都可以实现,比如RxJava、RxJS、RxPHP等等。而现在我们要说的就
是RxJava。
RxJava是什么是什么
二话不说,先上定义:
RxJava就是一种用Java语言实现的响应式编程,来创建基于事件的异步程序
有人问你这不是废话么,好吧那我上官方定义:
一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库
反正我刚看这句话的时候也呵呵了,当然现在有所领悟了。
除此之外,就是:异步,它就是一个实现异步操作的库。
扩展的观察者模式扩展的观察者模式
对于普通的观察者模式,这里我就不细说了。简单概括就是,观察者(Observer)需要在被观察者(Observable)变化的一瞬间
做出反应。
而两者通过注册(Register)或者订阅(Subscribe)的方式进行绑定。
就拿扔物线老师给的例子来说,我丰富了一下如图所示: