Back to questions
Junior — Middle
72
Как реализовать работу с сетевыми API в приложении при использовании библиотеки Retrofit?
Companies where asked
Dogma
Answer from AI
sobes.tech AI
Для работы с сетевыми API в Android-приложении с использованием Retrofit нужно выполнить несколько шагов:
- Добавить зависимость Retrofit в build.gradle.
- Создать интерфейс с описанием HTTP-запросов с помощью аннотаций (@GET, @POST и т.д.).
- Создать экземпляр Retrofit с базовым URL и конвертером (например, GsonConverterFactory для JSON).
- Создать реализацию интерфейса через Retrofit.
- Выполнить запросы асинхронно (enqueue) или синхронно (execute).
Пример интерфейса и создания Retrofit:
interface ApiService {
@GET("users/{id}")
fun getUser(@Path("id") userId: String): Call<User>
}
val retrofit = Retrofit.Builder()
.baseUrl("https://api.example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val api = retrofit.create(ApiService::class.java)
// Асинхронный вызов
api.getUser("123").enqueue(object : Callback<User> {
override fun onResponse(call: Call<User>, response: Response<User>) {
if (response.isSuccessful) {
val user = response.body()
// обработка user
}
}
override fun onFailure(call: Call<User>, t: Throwable) {
// обработка ошибки
}
})
Таким образом, Retrofit упрощает создание HTTP-запросов и парсинг ответов, позволяя работать с API через интерфейсы.