1
现在我正试图了解如何使用RxJava2库和Retrofit2。Retrofit2 + RxJava2适用于HTTP请求
我的API服务:
public interface ApiService {
@GET
Observable<String> getObservable(@Url String url);
@GET
Flowable<String> getFlowable(@Url String url);
}
和主要活动:
mApiService.getObservable("https://google.com")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<String>() {
@Override
public void onNext(@NonNull String s) {
Log.d(TAG,"onNextObservable");
}
@Override
public void onError(@NonNull Throwable e) {
Log.d(TAG,"onErrorObservable");
}
@Override
public void onComplete() {
Log.d(TAG,"onCompleteObservable");
}
});
mApiService.getFlowable("https://google.com")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new FlowableSubscriber<String>() {
@Override
public void onSubscribe(@NonNull Subscription s) {
Log.d(TAG,"onSubscribeFlowable");
}
@Override
public void onNext(String s) {
Log.d(TAG,"onNextFlowable");
}
@Override
public void onError(Throwable t) {
Log.d(TAG,"onErrorFlowable");
}
@Override
public void onComplete() {
Log.d(TAG,"onCompleteFlowable");
}
});
在我的日志我看到:
- onNextObservable
- onSubscribeFlowable
- onComplet eObservable
为什么我没有看到onNextFlowable?我无法获得Flowable的回应。也许有更紧凑的编写代码的方法?
是的,这种方法的工作原理。谢谢!我没有看到某处提到的方法。但是,如果我想从Firebase获取100 Mb数据,并且Firebase会分数部分提供数据。我需要使用Flowable吗?以及如何设置Flowable来接收数据? – Delphian
对不起,我不太了解Firebase ... –