Skip to content

MelnikovAleksandr/Swapi

Repository files navigation

Приложение должно загружать данные о фильмах вселенной звёздных войн используя https://swapi.dev и отображать их в виде списка. Для каждого фильма должна быть возможность отобразить всех персонажей фильма и информацию об их родных мирах. Экран 1.

  • данный экран должен отобразиться после запуска приложения;
  • после старта экрана, должна быть осуществлена загрузка данных о фильмах; полученная информация должна быть преобразована из JSON в модели ООП и сохранена в локальной базе данных; все последующие запуски экрана должны использовать локальную базу данных, для экономии интернет-трафика;
  • загруженные модели должны быть представлены в виде списка; каждый элемент списка должен содержать название фильма, данные о режиссёре, продюсере и год выпуска; элементы должны быть отсортированы по номеру эпизода саги, начиная с наименьшего; название фильма должно быть выделено черным жирным шрифтом, а дата выпуска - красным курсивом;
  • экран должен иметь поисковую строку для нахождения в списке необходимого фильма по названию;
  • при нажатии на элемент списка должен происходить переход на следующий экран, который содержит информацию о персонажах, принимающих участие в фильме.

Экран 2.

  • экран отображает информацию о персонажах выбранного на экране 1 фильма;
  • экран должен содержать статус бар с названием фильма, который был выбран;
  • аналогично поведению экрана 1 должна быть осуществлена загрузка и сохранение в локальную базу информации о каждом персонаже, принимающем участие в выбранном фильме; при этом если информация о персонаже уже была получена ранее, то она должна быть подгружена из локальной базы данных;
  • загруженные данные должны быть представлены в виде списка, каждый элемент которого должен содержать имя персонажа, его пол и дату рождения; имя должно быть выделено жирным шрифтом;
  • нажатие на элемент списка открывает экран с информацией о родном мире персонажа; также должна быть реализована возможность возвращения на предыдущий экран.

Экран 3.

  • экран отображает информацию и мире выбранного на экране 2 персонажа в виде карточки;
  • по аналогии с предыдущими пунктами данные о планете загружаются и сохраняются в локальную базу данных;
  • карточка планеты должна содержать следующую информацию: название, диаметр, тип климата, гравитацию, тип местности, население;
  • должна быть реализована возможность возвращения на предыдущий экран.
video_swapi.mp4