1.RxScheduler
public class RxScheduler {
/**
* 统一线程处理
*
* @param <T> 指定的泛型类型
* @return FlowableTransformer
*/
public static <T> FlowableTransformer<T, T> Flo_io_main() {
return new FlowableTransformer<T, T>() {
@Override
public Publisher<T> apply(@NonNull Flowable<T> upstream) {
return upstream.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
};
}
/**
* 统一线程处理
*
* @param <T> 指定的泛型类型
* @return ObservableTransformer
*/
public static <T> ObservableTransformer<T, T> Obs_io_main() {
return new ObservableTransformer<T, T>() {
@Override
public ObservableSource<T> apply(Observable<T> upstream) {
return upstream.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
};
}
}
2.在presenter中写的逻辑
registerModule.getCode(requestBody)
.compose(RxScheduler.Obs_io_main())
.as(mView.bindAutoDispose())
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(BaseObjectBean baseObjectBean) {
mView.onSuccess(baseObjectBean);
mView.hideLoading();
}
@Override
public void onError(Throwable e) {
mView.onError(e);
mView.hideLoading();
}
@Override
public void onComplete() {
}
});
3.在view里面的回调 code永远是0,还Toast了 null 但是日志已经显示请求成功了,
@Override
public void onSuccess(BaseObjectBean bean) {
if(bean.getCode()==200){
ToastUtils.showToast("发送成功");
}else {
ToastUtils.showToast(bean.getMsg()+"");
}
}