Ответ
Для сетевых запросов с Retrofit нужно:
- Добавить зависимость в build.gradle:
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
- Создать интерфейс API:
interface ApiService {
@GET("users/{id}")
suspend fun getUser(@Path("id") userId: Int): User
}
- Создать Retrofit клиент:
val retrofit = Retrofit.Builder()
.baseUrl("https://api.example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val api = retrofit.create(ApiService::class.java)
- Выполнить запрос (в CoroutineScope):
try {
val user = api.getUser(123)
// Обработка результата
} catch (e: Exception) {
// Обработка ошибки
}
Основные моменты:
- Используйте suspend функции для корутин
- Добавьте обработку ошибок
- Указывайте правильный baseUrl
- Для разных форматов данных используйте соответствующие ConverterFactory