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 :
- Ajouter les dépendances Retrofit et Kotlin Coroutines au projet.
- Définir une interface API avec une fonction renvoyant
Deferredou une fonctionsuspend. - 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.