RxAndroid 操作符,just,fromArray,interval,timer,map

just操作符:可传入多个变量,多个变量整合到一个对象里一次返回

int[] a = new int[]{1, 2, 3, 4};
String b="shabi"

Observable.just(a,b).subscribe(new Observer<Object>() {
            public void onSubscribe(Disposable d) {
                
            }


            public void onNext(Object response) {
                 Object[] array = (Object[]) response;

                array [1];//值为“shabi”
            }
           
        });


map使用,过滤返回想要的结果

 
Observable<Object> observable = Observable.just(items)
	//IO线程其下方法都在io线程里执行
	.subscribeOn(Schedulers.io())
	//IO线程中做过滤
	.map(new Function<Object, Object>() {
            @Override
            public Object apply(@NonNull Object ts) throws Exception {
                //返回想要的结果
                return ts;
            }
        })
         //主线程其下方法都在主线程里执行
        .compose(lifecycleProvider.bindToLifecycle()).observeOn(AndroidSchedulers.mainThread())
	//主线程中线程中做过滤
	.map(new Function<Object, Object>() {
            @Override
            public Object apply(@NonNull Object ts) throws Exception {          
	       /返回想要的结果
return ts; } }).subscribe(new Observer<Object>() {
            public void onSubscribe(Disposable d) {
                
            }


            public void onNext(Object response) {
                 Object[] array = (Object[]) response;

                array [1];//值为“shabi”
            }


            public void onError(Throwable e) {
                
            }


            public void onComplete() {
                
            }
        });


 formArray:出入多少个变量,返回多少次,原样返回 
int[] a = new int[]{1, 2, 3, 4};
String b="shabi"
Observable.fromArray(a,b).subscribeOn(Schedulers.io()).compose(lifecycleProvider.bindToLifecycle()).observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<Object>() {
                    public void onSubscribe(Disposable d) {
                        
                    }

                    public void onNext(Object response) {
                       
                    }

                    public void onError(Throwable e) {
                        
                    }

                    public void onComplete() {
                        
                    }
                });



timer:隔一段时间发射一次并且只发射一次,是能接收到一次

Observable.timer(600, TimeUnit.SECONDS).compose(lifecycleProvider.<Long>bindUntilEvent(activityEvent)).subscribe(new Observer<Object>() {
            @Override
            public void onSubscribe(@NonNull Disposable d) {
                mRxResult.onSubscribe(d);
            }

            @Override
            public void onNext(@NonNull Object o) {
                
            }

            @Override
            public void onError(@NonNull Throwable e) {
                
            }

            @Override
            public void onComplete() {
                
            }
        });
interval:每隔一段时间发射一次,每隔一段时间接受一次

 Observable.interval(0, 10, TimeUnit.SECONDS).compose(lifecycleProvider.<Long>bindUntilEvent(activityEvent)).subscribe(new Observer<Long>() {

            @Override
            public void onSubscribe(@NonNull Disposable d) {
                
            }

            @Override
            public void onNext(@NonNull Long aLong) {
               
            }

            @Override
            public void onError(@NonNull Throwable e) {
                
            }

            @Override
            public void onComplete() {
                
            }
        });
range:给定起始值m,和发送个数n,接受n次,每次m++,直到 

Observable.range(50, 6).subscribeOn(Schedulers.io()).compose(lifecycleProvider.bindToLifecycle())observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<Object>() {
                    public void onSubscribe(Disposable d) {
                        
                    }

                    public void onNext(Object response) {
                        
                    }

                    public void onError(Throwable e) {
                        
                    }

                    public void onComplete() {
                       
                    }
                });



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值