面向对象编程的Java,类(或者类实例)是基本单位。所有的数据和方法都包含在类中,通过类(或者类实例)使用。
面向对象编程数据的主要来源有两个:
** 一个是类的属性,
** 另一个是方法的参数。
类的属性是内部的,包含状态的。
参数是外部的,可以影响类内部属性的状态,简单的说就是影响属性值的变化。
类中的属性是随着类实例的创建而产生并存在的。不依赖于外部的参数,尽管属性可能没有值。
操作数据都是类中的方法。
=====================================
RxJava 中的数据由 Observable 提供。
在 RxJava 运行过程中,所有的 Java 提供的数据类型必须转换成 Observable ,或者说必须使用 Observable 封装起来。
RxJava 是数据驱动的,最原始的驱动数据可以称之为 源数据(source data或者 source obserable)。
RxJava的数据也可以分为两类:
一类是Source Observable,也就是驱动业务启动的最原始的数据。
另一类是逻辑处理过程中,作为参数或者返回值在业务逻辑中流转的、通过操作映射出来的新 Observable;
RxJava 中的 Observable 只提供数据,或者说源数据。
数据的使用者被作为参数传到 Observable 内部 ,在 Observable 内部通过某种机制将 数据 提供给数据使用者使用。在数据使用者使用这些数据的时候,组织并驱动业务逻辑和业务流程的实现。
数据的使用者称为 Observer 。
Observer 在使用数据的时候,可以对源数据(Source Observable)进行处理,处理的结果(如果需要)则必须生成新的 Observable 对象(也就是说 Observable 的数据是不可变的,就像 Java String 类型一样),新的 Observable 作为参数在业务逻辑中流转,产生更多的 Observable 参与计算。
总结一下:
1、首先要先有 Observable ,这个 Observable 称为 Source Observale;
2、把处理业务逻辑的 Observer 以参数的形式赋给第一步创建的Observable;
因此,生成 Observable 是学习 RxJava的第一堂必修课。
运行RxJava的两个步骤:
1、创建 Observable
Observable 提供很多创建 Observable 的静态方法。
例如:
Observable.from()提供从Java的数据结构创建Observable的一些方法。
List<String> list = Arrays.asList(
"blue", "red", "green", "yellow", "orange","cyan", "purple");
Observable<String> listObservable = Observable.from(list);
2、调用 Observable实例的subscribe()方法。
Observable提供了多个 subscribe()方法的重载,包括
- subscribe()
- subscribe(Action1 next)
- subscribe(Observer observer)
- subscribe(Subscriber subscriber)
例如:
listObservable.subscribe(color -> System.out.println(color));
输出结果:
blue
red
green
yellow
orange
cyan
purple
为了更好的说明和演示 RxJava 的代码,下篇文章讲述搭建最简单的 RxJava 的运行环境。