Rxjava android 心得

最近工作上用到了rxJava ,简要做下笔记,以备后期温故。

 

1. 2018年3月份 rxJava 1.x版本 滚蛋了,官方也要放弃这个孩子。rxJava2.x版本做了一些改动,可以了解下背压

 

2. 这个东西是个事件流驱动的异步东东

 

3.用起来比较简单:撸码

 Observable.create(new Observable.just(getFilePath())
           //指定了被观察者执行的线程环境
          .subscribeOn(Schedulers.newThread())
          //将接下来执行的线程环境指定为io线程
          .observeOn(Schedulers.io())
            //使用map操作来完成类型转换
            .map(new Func1<String, Bitmap>() {
              @Override
              public Bitmap call(String s) {
                //显然自定义的createBitmapFromPath(s)方法,是一个极其耗时的操作
                  return createBitmapFromPath(s);
              }
          })
            //将后面执行的线程环境切换为主线程
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                 //创建观察者,作为事件传递的终点处理事件    
                  new Subscriber<Bitmap>() {
                        @Override
                        public void onCompleted() {
                            Log.d("iven","结束观察...\n");
                        }

                        @Override
                        public void onError(Throwable e) {
                            //出现错误会调用这个方法
                        }
                        @Override
                        public void onNext(Bitmap s) {
                            //处理事件
                            showBitmap(s)
                        }
                    );

 

说说啥意思,这个是基于1.x 版本的,其中map 是用来加工的,subscribeOn 用来指定被观察者执行的线程,observeOn 用来指定观察者所在的线程,其中subscribeOn 只能指定一次,如果多次指定的话就以第一次的指定为准,observeOn 可以多次指定,每次指定完成之后他的作用域会指定在下一次的应用。

 

4.目前项目用的是1.x 后期升级之后再来撸2.x的源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值