Xutils3 网络请求重试

第一步:重新RetryHandler

...
class MyHttpRetryHandler extends HttpRetryHandler {
    @Override
    public boolean canRetry(UriRequest request,Throwable ex,int count) {
        blackList.add(SocketTimeoutException.class);    //添加请求失败异常类、这里是添加超时异常、便于重试
        if(count == maxRetryCount){
            //count         重试次数
            //maxRetryCount 最大重试次数
        }
        if(count > maxRetryCount){
            return false;   //重试次数大于最大重试次数时,退出重试
        }
        return true;
    }
}
...

第二步:设置重试

...
private void saveParams(HttpRequest httpRequest){
    try{
        httpRequest.params.setCOnnectTimeount(30*1000)  //超时时间
        httpRequest.params.setMaxRetryCount(1);         //失败 重启次数
        httpRequest.params.setHttpRetryHandler(new MyHttpRetryHandler());       //设置重试
    }catch (Exception e){
        e.primtStackTrace();
    }
}
...

你可能感兴趣的:(Xutils3 网络请求重试)