网络请求问题

来源:5-11 Retrofit与RxJava的整合(补充内容,可先跳过,最后再看)

mango_01

2019-02-22

RestClient.builder()
.url(“http://192.168.56.1:8080/RestDataServer/api/user_profile.php”)
.params(“name”, mName.getText().toString())
.params(“email”, mEmail.getText().toString())
.params(“phone”, mPhone.getText().toString())
.params(“password”, mPassword.getText().toString())
.success(new ISuccess() {
@Override
public void onSuccess(String response) {
LatteLogger.json(“USER_PROFILE”, response);
SignHandler.onSignUp(response, mISignListener);
}
})
.build()
.post();

当我不断的切换Activity 或者关闭Activity 的时候,网络请求onSuccess 方法还是会执行,有时候我的的Activity已经关闭了,但是我的onSuccess回调还是有处理跳转页面等逻辑,这里就会出现空指针异常等问题,或者我不断的切换页面,我这个时候就会有很多请求,这个应该怎么处理呢?老师~ 麻烦帮忙解答一下~

还有就是后端返回错误,我想统一处理弹提示,不想每次自己都在onError跟onFalure都一遍一遍的写提示,怎么处理好呢?

写回答

1回答

傅猿猿

2019-02-24

像你这种情况的话就比较极端了。大部分情况用户在请求数据的时候,是不会不断的去切换fragment或者activity的,而且我最常用的一个办法就是在请求的时候显示一个loading框。并且这个框是不允许点击消失的,也就是说你没有办法销毁当前的这个页面。同时呢,我们在请求结束之后会设置一个flag。为了判断这个请求是否结束,并且是否已经更新了。如果已经完成了,才允许见面的切换,否则会出现空指针。

0
0

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程