Rxjava练习册(一)

准备工作 http://www.jianshu.com/p/1ac62d93b962

Observer的创建

static Observer observer = new Observer() {
    @Override
    public void onCompleted() {
        System.out.println("onCompleted");
    }
    @Override 
   public void onError(Throwable e) {
        System.out.println("onError");
    } 
   @Override
    public void onNext(Integer integer) {
        System.out.println(integer);
}};

Observable的创建

Observable.create(), Observable.just(),Observable.from();
create方法需要一个Observable.OnSubscribe对象
just方法是将一个(或多个,最多9个)普通对象转换成一个Observable对象
from方法是将一个列表转换成一个Observable对象
用代码说话吧

create:
static Observable.OnSubscribe onsubscribe = new Observable.OnSubscribe() {
    @Override
    public void call(Subscriber subscriber) {
        subscriber.onNext(1);
        subscriber.onError(new Exception());
        subscriber.onCompleted();
        subscriber.onError(new Exception());
        subscriber.onNext(2);
}};
  • onCompleted和onError方法不会同时被调用,两者都会结束链式调用
  • onCompleted或onError方法之后的方法将不会被调用
    测试:
    static void create(){
    Observable.create(onSubscribe).subscribe(integerObserver);
    }
    public static void main(String args[]) {
    create();
    }


    Rxjava练习册(一)_第1张图片
    屏幕快照 2016-01-23 下午4.01.10.png
just:

just方法最多可以接受10个参数
static void just(){
Observable.just(1).subscribe(integerObserver);
}
static void just2(){
Observable.just(1,2).subscribe(integerObserver);
}

  • 如果是不同的类型just就会自动向上转型,转型失败将不能通过编译
Rxjava练习册(一)_第2张图片
屏幕快照 2016-01-23 下午4.21.32.png
from:

from是将一集合(from还有其它的创建方法,这里我只练习集合)转化成一个Observable

  static void from(){
      Integer arr[] = {1,2,3,4 };
      Observable.from(arr).subscribe(integerObserver);
  }
  static void from2(){
      Integer arr[] = {1,2,3,4 };
      Observable.from(Arrays.asList(arr)).subscribe(integerObserver);
  }
Rxjava练习册(一)_第3张图片
屏幕快照 2016-01-23 下午4.30.38.png

你可能感兴趣的:(Rxjava练习册(一))