【发布时间】:2016-08-17 06:28:48
【问题描述】:
我正在尝试通过 Retrofit 学习 RxJava。所以这可能是一个简单的问题。
我想为 Retrofit api 调用编写一个包装器方法。此方法将在开始通话和通话完成后显示和隐藏进度视图并执行一些其他操作。
这是我的服务方式
@GET("/books")
Observable<List<Book>> getBooks();
现在,在实际拨打电话之前,我想显示进度视图。
public <T> void execute(Observable<T> observable, final RequestHandler<T> callback) {
observable = observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
progressDialog = new TransparentProgressDialog(context, progressViewColor);
progressDialog.setCancelable(false);
dismissProgressDialog();
progressDialog.show();
observable.subscribe(new Observer<T>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable t) {
///Handle error
}
@Override
public void onNext(T t) {
/// Call the callback
}
});
}
从代码中可以看出,我正在传递一个接口 (RequestHandler),我在错误和onNext 时调用该接口。我能够得到这个工作。但这与正常的回调实现没有什么不同。根据我的理解,observable 应该是可链接的。但我不确定如何实现它以便可以链接可观察对象。
有人可以帮我吗?
谢谢
【问题讨论】:
标签: android retrofit rx-java rx-android