Pull to refresh

Пишем Android приложение для киноманов — Часть 1 (Прототипирование)

Level of difficultyEasy
Reading time2 min
Views13K


Доброго времени суток, Хабр!

Не секрет, что недавно компания Google утвердила в качестве приоритетного языка программирования ОС Android — Kotlin. В этой и последующих статьях будет рассказываться о создании приложения на этом языке.

Тематика приложения


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

Прототип


Прототипирование позволяет определиться с базовым функционалом. Если у приложения уже есть аналоги, необходимо предварительно проанализировать их. Возможно, их авторы уже решили важные вопросы, над которыми Вы думаете сейчас.

Диаграмма вариантов использования


Определим требуемые функционал приложения. В первую очередь пользователь должен будет найти новинки, а для этого потребуются фильтры. После этого потребуется сохранить фильмы, о которых будут приходить уведомления, а значит нужно отобразить этот список. Теперь нарисуем Use Case диаграммму.



UX/UI Дизайн


Набросаем макеты экранов с помощью ПО для прототипирования UX/UI, опираясь на созданную диаграмму. Для этого используем Mockplus, базовый функционал программы предоставляется бесплатно. Лучшие практики по дизайну компонентов собраны здесь.

1 2 3







Рассмотрим поподробнее разработанные макеты. Все изображения кликабельны.
  1. На начальной странице пользователь может увидеть все новинки, о которых он получит уведомления. Если пользователь не захочет получать, он сможет нажать на колокольчик.
  2. На вкладке можно найти все подходящие под пожелания новинки, указанные во вкладке Settings, и добавить их в список для уведомления.
  3. Вкладка Settings позволяет настроить фильтры для поиска новинок, а именно рейтинг IMDb и жанры.


Выбор архитектуры


Используем архитектуру MVP, то есть Model-View-Presenter (модель-представление-презентер).
В качестве представления выступают Activity и Fragment'ы. Модель обеспечивает работу с сервером, а презентер обеспечивает взаимодействие между представлением и моделью.



Подробнее об этой архитектуре можно прочитать здесь.

ER-модель базы данных


Локальная база данных будет кэшировать полученные ответы от сервера, чтобы уменьшить частоту запросов и тем самым снизить нагрузку. Рассмотрим ER-диаграмму.



Сущность Movie отвечает за хранение общей информации о новинках, сущность Genre за жанры, а Movie genres содержит жанры для каждой новинки.

Заключение


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

Часть 2 (Дизайн)
Tags:
Hubs:
Total votes 13: ↑9 and ↓4+5
Comments6

Articles