Android Rxjava之just方法的使用

直接上代码!

  1. 定义三个方法
  public int getInt(){return 1;}
  public String getString(){return "wsl";}
  public boolean getBoolean(){return true;}

2.开始

//观察一个方法
        Observable.just(getInt(),getString(),getBoolean()).subscribe(new Observer<Serializable>() {
            @Override
            public void onCompleted() {
                System.out.println("onCompleted-" + Thread.currentThread().getName());

            }

            @Override
            public void onError(Throwable e) {
                System.out.println("onError-" + Thread.currentThread().getName());
            }

            @Override
            public void onNext(Serializable serializable) {
                System.out.println(serializable.toString()+"-"+ Thread.currentThread().getName());

            }
        });

运行结果:

09-12 23:18:07.146 2218-2218/cn.xianzaishi.rxjava I/System.out: 1-main
09-12 23:18:07.146 2218-2218/cn.xianzaishi.rxjava I/System.out: wsl-main
09-12 23:18:07.146 2218-2218/cn.xianzaishi.rxjava I/System.out: true-main
09-12 23:18:07.146 2218-2218/cn.xianzaishi.rxjava I/System.out: onCompleted-main

分析: just方法里面写的是三个方法, onNext回调参数部分是Serializable ,而且从结果看得出都是运行在ui线程; 所以, just方法使用与观察某个或者某些方法的, 如果是多个方法, 则回调过来的是Serializable ,如果是一个方法的话, 这个参数类型就是那个方法的返回值类型;你可能会问, 如果被观察的方法没有返回值的话怎么办? just方法会报错;

3.如果just方法观察的是集合或数组呢?

 ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);

        Observable.just(list).subscribe(new Observer<ArrayList<Integer>>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(ArrayList<Integer> integers) {
            //从这里可以看得出是把整个数组回调了,不想from和create是一个一个来;

            }
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值