Saltar al contenido

Cómo configurar el tiempo de espera en Retrofit-2.0+ android

Nuestros mejores desarrolladores han agotado sus depósitos de café, buscando diariamente por la respuesta, hasta que Hugo halló la solución en GitHub por lo tanto en este momento la comparte contigo.

Solución:

Configure OkHttpClient para la opción de tiempo de espera. Luego use esto como cliente para Retrofit.Builder.

final OkHttpClient okHttpClient = new OkHttpClient.Builder()
    .connectTimeout(20, TimeUnit.SECONDS)
    .writeTimeout(20, TimeUnit.SECONDS)
    .readTimeout(30, TimeUnit.SECONDS)
    .build();

Utilizar esta okHttpClient para Retrofit#Constructor

Retrofit.Builder()
    .client(okHttpClient);

La documentación oficial de OkHttp sobre el tiempo de espera está aquí

intente debajo del código, se sentó timeout son 20 segundos y readTimeout son 30 segundos

 private OkHttpClient getRequestHeader() 
        OkHttpClient httpClient = new OkHttpClient();
        httpClient.setConnectTimeout(20, TimeUnit.SECONDS);
        httpClient.setReadTimeout(30, TimeUnit.SECONDS);

        return httpClient;
    

Luego

public class ApiClient 

    public static final String BASE_URL = Constants.BaseURL;
    private static Retrofit retrofit = null;

    public static Retrofit getClient() 
        if (retrofit==null) 
            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .client(getRequestHeader())
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        
        return retrofit;
        
    

Comentarios y puntuaciones

Si eres capaz, tienes la opción de dejar un post acerca de qué te ha gustado de esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *