微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

RxJava

Observable novel = Observable.create(new ObservableOnSubscribe<String>() {
            @Override
            public void subscribe(ObservableEmitter<String> emitter) throws Exception {
                emitter.onNext("连载1");
                emitter.onNext("连载2");
                emitter.onNext("连载3");
                emitter.onComplete();
            }
        });

 

 //Observer who observe something intresested
 

Observer<String> reader=new Observer<String>() { @Override public void onSubscribe(disposable d) { mdisposable=d; Log.e(TAG,"onSubscribe"); } @Override public void onNext(String value) { if ("2".equals(value)){ mdisposable.dispose(); return; } Log.e(TAG,"onNext:"+value); } @Override public void onError(Throwable e) { Log.e(TAG,"onError="+e.getMessage()); } @Override public void onComplete() { Log.e(TAG,"onComplete()"); } };

  

//something observable is Now subscribed by observer


novel.subscribe(reader);//一行代码搞定

 

 Observable.from(folders)    .flatMap(new Func1<File,Observable<File>>() {
        @Override
        public Observable<File> call(File file) {
            return Observable.from(file.listFiles());
        }
    })
    .filter(new Func1<File,Boolean>() {
        @Override
        public Boolean call(File file) {
            return file.getName().endsWith(".png");
        }
    })
    .map(new Func1<File,Bitmap>() {
        @Override
        public Bitmap call(File file) {
            return getBitmapFromFile(file);
        }
    })
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Action1<Bitmap>() {
        @Override
        public void call(Bitmap bitmap) {
            imageCollectorView.addImage(bitmap);
        }
    });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐