Типобезопасный HTTP-клиент для Android и Java. Это упрощает получение JSON или других структурированных данных.

Сегодня мы собираемся разработать простое приложение, которое выполняет простые HTTP-запросы GET к серверу и извлекает объекты JSON в ответ.



Начнем с создания проекта в Android Studio.

  1. Как обычно создаем андроид проект
  2. Откройте уровень приложения build.gradle и добавьте такие зависимости Retrofit, Gson.

3. Теперь добавьте разрешение ИНТЕРНЕТ в файл AndroidManifest.xml.

4. Затем мы попытаемся получить эти данные JSON с сервера.

Https://jsonplaceholder.typicode.com/posts

Мы собираемся использовать фиктивные данные с указанного выше сайта.

5. Теперь создайте класс модели, подобный этому Post.java.

Имена переменных должны совпадать с именами ключей JSON.

например Имя ключа JSON «userId», имя переменной должно быть «int userId»

Что, если я хочу использовать другое имя?

Да, можно. просто используйте аннотацию, предоставленную Retrofit ‘@SerializedName (« body »)’

6. Затем создайте интерфейсный файл JsonPlaceHolderApi.java. Этот интерфейс объявляет метод getPosts ().

Вот базовый URL https://jsonplaceholder.typicode.com/

и это наш относительный URL https://jsonplaceholder.typicode.com/ сообщения

специальные аннотации модернизации для кодирования деталей о параметрах и методе запроса

7. Разработайте пользовательский интерфейс MainActivity.xml.

7. Последний шаг. В методе onCreate () для MainActivity.java создайте дескриптор для интерфейса RetrofitInstance.

Получить результаты из асинхронных запросов - фоновый рабочий запрос.

Использование асинхронных запросов заставляет вас реализовать Callback с двумя его методами обратного вызова: onResponse() и onFailture().

Активировать onResponse () при успешном получении ответа от сервера.

Активировать onFailture (), если URL-адрес недействителен или URL-адрес окончательно удален.

Следующий фрагмент кода иллюстрирует примерную реализацию.

8. Теперь запустите кнопку запуска.

Наконец, вы увидите красивый список текстовых данных.

Получите полную версию проекта на GitHub.



Предложения приветствуются!