【发布时间】:2017-04-04 16:37:36
【问题描述】:
我在 Retrofit 和 Rx Java 1 中使用此代码从 Retrofit 调用中返回一个 observable,如下所示:
mCompositeSubscription.add(
ServiceFactory.createRetrofitService().setLike(mediaId,sessionMgr.getAuthToken())
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<ResponseBody>() {
@Override
public final void onCompleted( ) {}
@Override
public final void onError(Throwable e) {
userMessageHandler.showDialog(mParentActivity,mParentActivity.getString(R.string.error_setting_data_title),
mParentActivity.getString(R.string.error_set_like_msg) + e.getMessage(),0);
}
@Override
public void onNext(ResponseBody response) { }
})
);
我不知道如何将其转换为 RX Java 2。我想出了这个但不确定它是否正确:
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableObserver<User>(){
@Override
public void onNext(User user) {
authMgr.setUser(user);
}
@Override
public void onError(Throwable t) {
mProgressDlg.dismiss();
alertDlg.showIt(mResources.getString(R.string.err_register),
t.getMessage(), "",
"", mParentActivity, JAlertDialog.POSITIVE,null);
}
@Override
public void onComplete() { }
});
【问题讨论】:
标签: java android retrofit2 rx-java2