Middle
48
questionbank

Как выполнять сетевые запросы с использованием библиотеки Retrofit?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  1. Добавить зависимость: В build.gradle (app).

    gradle
  2. Создать интерфейс API: Определить методы для каждого сетевого запроса.

    java
    • @GET, @POST, и другие аннотации определяют тип HTTP-метода.
    • "users/{id}" - относительный путь к ресурсу.
    • @Path, @Query, @Body - аннотации для параметров запроса.
    • Call<T> - тип возвращаемого значения для асинхронного или синхронного запроса.
  3. Создать экземпляр Retrofit: Настроить базовый URL и добавить конвертер.

    java
  4. Выполнить запрос: Асинхронно или синхронно.

    Асинхронно (рекомендуется для UI потока):

    java

    Синхронно (не использовать в UI потоке):

    java
  5. Обработать ответ: В методах onResponse или после успешного execute. Проверить статус ответа (response.isSuccessful()) и извлечь данные (response.body()). Обработать ошибки в onFailure или в блоке catch при синхронном запросе.

Retrofit также поддерживает интеграцию с корутинами (с помощью retrofit2:retrofit2-kotlin-coroutines-adapter), RxJava (с помощью retrofit2:adapter-rxjava), и другими библиотеками для асинхронного программирования.