Приложение должно загружать данные о фильмах вселенной звёздных войн используя https://swapi.dev и отображать их в виде списка. Для каждого фильма должна быть возможность отобразить всех персонажей фильма и информацию об их родных мирах. Экран 1.
- данный экран должен отобразиться после запуска приложения;
- после старта экрана, должна быть осуществлена загрузка данных о фильмах; полученная информация должна быть преобразована из JSON в модели ООП и сохранена в локальной базе данных; все последующие запуски экрана должны использовать локальную базу данных, для экономии интернет-трафика;
- загруженные модели должны быть представлены в виде списка; каждый элемент списка должен содержать название фильма, данные о режиссёре, продюсере и год выпуска; элементы должны быть отсортированы по номеру эпизода саги, начиная с наименьшего; название фильма должно быть выделено черным жирным шрифтом, а дата выпуска - красным курсивом;
- экран должен иметь поисковую строку для нахождения в списке необходимого фильма по названию;
- при нажатии на элемент списка должен происходить переход на следующий экран, который содержит информацию о персонажах, принимающих участие в фильме.
Экран 2.
- экран отображает информацию о персонажах выбранного на экране 1 фильма;
- экран должен содержать статус бар с названием фильма, который был выбран;
- аналогично поведению экрана 1 должна быть осуществлена загрузка и сохранение в локальную базу информации о каждом персонаже, принимающем участие в выбранном фильме; при этом если информация о персонаже уже была получена ранее, то она должна быть подгружена из локальной базы данных;
- загруженные данные должны быть представлены в виде списка, каждый элемент которого должен содержать имя персонажа, его пол и дату рождения; имя должно быть выделено жирным шрифтом;
- нажатие на элемент списка открывает экран с информацией о родном мире персонажа; также должна быть реализована возможность возвращения на предыдущий экран.
Экран 3.
- экран отображает информацию и мире выбранного на экране 2 персонажа в виде карточки;
- по аналогии с предыдущими пунктами данные о планете загружаются и сохраняются в локальную базу данных;
- карточка планеты должна содержать следующую информацию: название, диаметр, тип климата, гравитацию, тип местности, население;
- должна быть реализована возможность возвращения на предыдущий экран.