Практика "Две статьи"

В этой практике вам предстоит поработать с основными компонентами Android и сделать первые разметки - на Compose и Views (XML).

Склонируйте себе проект и начните новую ветку со своим именем. Проект содержит проект Android с двумя заготовленными Activity.

Практика:

Ситуация - у вас приложение со статьями любого содержания. В одной из статей возможен переход к другой.

image

  1. Первую статью создайте в MainActivity. Она подготовлена к работе с Compose. Создайте страницу статьи, используя разные текстовые стили. В статье должно быть изображение. Загрузить его можно с помощью Coil или Glide.
  2. Добавьте возможность поделиться текстом статьи в мессенджерах:

image

  1. Сделайте счетчик лайков/дизлайков для статьи. Значение счетчика должно сохраняться при перевороте экрана, возвращении с другой активити.

image

  1. После статьи должна быть возможность перехода к другой статье.

image

  1. Вторая статья пишется на Views (XML). Аналогично первой статье, она должна содержать тексты разных стилей, изображение. Экспериментируйте - меняйте выравние текста, расположение и т.д.
  2. На экране второй статьи есть переключатель "Прочитано". Он должен сообщать первой активити, что вторая статья прочитана, и та будет менять свое состояние, например:

image

При последующих переходах вторая активити должна знать, было ли выбрано "Прочитано".

Упражнения:

  1. Выведите в лог события жизненного цикла обеих Activity. Изучите порядок их срабатывания при переходе между ними, уходе в другое приложение, перевороте экрана.
  2. Проект поддерживает Android 9+. Сделайте так, чтобы он запускался минимум на 7-м.
  3. Установите собственную иконку приложения.
  4. Запретите переворот экрана в приложении (после работы).

Внимание!

Грузить статьи из Интернета не нужно, только картинки. Задание на работу с базовыми Activity и разметкой, поэтому обращаться к паттернам, библиотекам навигации не нужно. Инструментарий - Activity, Intent, BackPressedDispatcher, манифест, build.gradle. Но вот с разметкой эксперементировать можно и нужно в рамках задачи)

Форма сдачи

Пулл-реквест своих изменений в ветку master этого репозитория. Не вливаем после ревью. Обязательно прикрепить запись экрана с выполнением всех пунктов сценария (в формате gif можно будет сразу посмотреть в гитхабе - удобно! Так можно записать самим эмулятором)

P.S. в качестве примера взяты статьи с https://www.championat.com/ (не приводите сюда юристов)