Sobes.tech
Junior — Middle

Comment implémenter une requête HTTP asynchrone avec Retrofit et coroutines dans un projet Android?

sobes.tech IA

Réponse de l'IA

Pour implémenter une requête HTTP asynchrone avec Retrofit et les coroutines en Android, il faut :

  1. Ajouter les dépendances Retrofit et Kotlin Coroutines au projet.
  2. Définir une interface API avec une fonction renvoyant Deferred ou une fonction suspend.
  3. Appeler cette fonction depuis une coroutine en utilisant suspend.

Exemple d'interface API avec une fonction suspend :

interface ApiService {
    @GET("users/{id}")
    suspend fun getUser(@Path("id") userId: String): User
}

Exemple d'appel depuis ViewModel ou une autre coroutine :

viewModelScope.launch {
    try {
        val user = apiService.getUser("123")
        // traitement de l'utilisateur obtenu
    } catch (e: Exception) {
        // gestion de l'erreur
    }
}

Ainsi, Retrofit s'intègre avec les coroutines via les fonctions suspend, ce qui simplifie le code asynchrone et le rend plus lisible.