Назад к вопросам
Junior — Middle
76
Каким образом реализовать асинхронный HTTP-запрос с использованием Retrofit и корутин в проекте Android?
Ответ от нейросети
sobes.tech AI
Для реализации асинхронного HTTP-запроса с Retrofit и корутин в Android нужно:
- Добавить в проект зависимости Retrofit и Kotlin Coroutines.
- Определить интерфейс API с функцией, возвращающей
Deferredилиsuspendфункцию. - Вызвать эту функцию из корутины, используя
suspend.
Пример интерфейса API с suspend функцией:
interface ApiService {
@GET("users/{id}")
suspend fun getUser(@Path("id") userId: String): User
}
Пример вызова из ViewModel или другой корутины:
viewModelScope.launch {
try {
val user = apiService.getUser("123")
// обработка полученного пользователя
} catch (e: Exception) {
// обработка ошибки
}
}
Таким образом, Retrofit интегрируется с корутинами через suspend функции, что упрощает асинхронный код и делает его более читаемым.