RxJava 学习笔记一

RxJava 学习笔记一

原文链接:深入浅出RxJava(一:基础篇)

创建一个Observable对象,直接调用Observable.create

Observable<String> myObservable = Observable.create(  
  new Observable.OnSubscribe<String>() {  
    @Override  
    public void call(Subscriber<? super String> sub) {  
      sub.onNext("Hello, world!");  
      sub.onCompleted();  
    }
  }  
});  

这里定义的Observable对象仅仅发出一个Hello World字符串,然后就结束了。接着我们创建一个Subscriber来处理Observable对象发出的字符串。

Subscriber<String> mySubscriber = new Subscriber<String>() {  
  @Override  
  public void onNext(String s) {   
    System.out.println(s);   
  }  

  @Override  
  public void onCompleted() {  

  }  

  @Override  
  public void onError(Throwable e) {

  }  
};  

订阅

myObservable.subscribe(mySubscriber); 

一旦mySubscriber订阅了myObservable,myObservable就是调用mySubscriber对象的onNext和onComplete方法,mySubscriber就会打印出Hello World!

更简洁的代码

Just

只发出一个Observable对象就结束

Observable<String> myObservable = Observable.just("Hello, world!");  
Action1

不关心 OnComplete 和 OnError,只需要在 onNext 的时候做一些处理。

Action1<String> onNextAction = new Action1<String>() {  
  @Override  
  public void call(String s) {  
    System.out.println(s);  
  }  
};   

操作符

map

map()操作符就是用于变换Observable对象的,map操作符返回一个Observable对象,这样就可以实现链式调用,在一个Observable对象上多次使用map操作符,最终将最简洁的数据传递给Subscriber对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值