改进连续查询在移动网络中无法正常工作

时间:2017-08-18 06:07:27

标签: android retrofit2

我正在使用改造来解析Api中的JSON。当我使用移动网络(不是WIFI)时,继续进行查询以从api检索响应有时会出现超时错误。

代码:

userLogin("Username").
                enqueue(new RetrofitCallback<PatientModel>() {
                    @Override
                    public void onSuccess(PatientModel result) {
                        if (null != result) {
                            loginResponse(result);
                        }
                    }

                    @Override
                    public void onFailure(int code, String msg) {

                    }

                    @Override
                    public void onThrowable(Throwable t) {

                    }

                    @Override
                    public void onFinish() {
                        hideProgress();
                    }
                });

1 个答案:

答案 0 :(得分:0)

也许你必须增加时间。你能试试这个:

Gson gson = new GsonBuilder()
            .setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
            .create();
    okHttpClient = new OkHttpClient().newBuilder()
            .connectTimeout(120, TimeUnit.SECONDS)
            .readTimeout(120, TimeUnit.SECONDS)
            .writeTimeout(120, TimeUnit.SECONDS)
            .build();
    retrofit = new Retrofit.Builder()
            .baseUrl(Constants.BASE_URL).client(okHttpClient)
            .addConverterFactory(GsonConverterFactory.create(gson))
            .build();
    apiService = retrofit.create(IService.class);