Разработка приложения Учет финансов 2.0 [JavaBegin]

130

Новый практический видеокурс с пошаговой разработкой функционала. Обновлен: май 2019 г, (Android 9, API 28). Cистемный подход к разработке на Android. На примере приложения «Учет финансов 2.0»
Как новички обычно изучают Android ?
Для начала нужно прочитать несколько актуальных книг по Android. Именно так поступают многие новички и сразу начинают создавать свои проекты. Но после этого остаются некоторые проблемы, которые начинающие разработчики не знают как решить:
Нет системности при создании Android проекта
Непонятно с чего начинать и как заканчивать создание приложения, нет четкого понимания хотя бы основных шагов.
Упор только на Android UI (User Interface)
Многие новички знают только как создать несложный UI, но если нужно решить комплексную задачу, то в голове нет плана как это реализовать.
Нет полноценного проекта
Многие учебники и обучающие проекты дают небольшие примеры или куски кода, которые вы должны самостоятельно собрать в общую картину.
О чем не пишет ни одна книга по Android
В основном новички делают упор на внешний вид приложения, на этом основаны почти все обучающие книги и ресурсы. Об остальных моментах почему-то умалчивают, хотя они не менее важны.
Это в корне неверный подход.
Если вы просто умеете создавать UI на Android и обрабатывать события в коде – этого мало. Вы сможете создавать небольшие и несложные приложения, но создавать что-то серьезное не получится.
Скорее всего вы тоже были в этой ситуации: научились работать с некоторыми Android формами и компонентами, но целой картины в голове не получилось. Вы научились создавать мелкие приложения, а что делать дальше — не знаете.
Создание Android UI
Вы должны понимать, что создание UI в Android – это не главная часть разработки.
По сути она не такая и сложная, если учесть, что есть вся необходимая документация и примеры.
Создание Android приложения — это множество последовательных шагов: подготовка, сценарии, прототипы, ядро и многое другое.
Более подробно об этом — ниже на странице.
Давайте пройдемся подробнее по шагам:

  • 1. Подготовка
    • Здесь вы будете описывать основной функционал приложения, добавлять сценарии использования – в общем у вас должно быть в итоге полное понимание, как работает приложение и какие цели должно выполнять. Это не так очевидно, как кажется на первый взгляд, потому что по ходу подготовки будут «выскакивать» различные нюансы, которые сэкономят вам время при разработке.
  • 2. Проектирование
    • Когда выполнен этап подготовки – нужно спроектировать структуру объектов, как это обычно делается для любых Java приложений. Эта структура в последствии ляжет в основу ядра. Обязательно нужно использовать все принципы ООП, абстрактные уровни и многое другое. До этого момента мы еще не создали ни строчки кода, а только выполнили подготовительную работу.
  • 3. Создание ядра
    • Основной функционал всего приложения – реализация основных бизнес-процессов и целей. Здесь уже начиначется код, но этот код не должен быть связан с Android, только стандартные библиотеки JavaSE. Обязательно нужно будет разбить ядро на уровни. Каждый из уровней можно будет заменять другой реализацией. Ядро можно будет использовать не только в Android приложении, но и, например, в онлайн-версии.
  • 4. Создание прототипа
    • Прототип будет содержать 80-90% реализации всего приложения, но без реальных данных. С помощью него можно увидеть, как будет работать приложения, его возможности и пр. Если вы работает с заказчиками – вы сначала полностью согласовываете рабочий прототип, исправляете что нужно, и только потом переходите к созданию проекта в Android Studio. Это сильно сэкономит вам время, т.к. вы уже будете основываться на утвержденном прототипе.
  • 5. Реализация Android UI
    • На этом шаге у вас есть рабочее ядро приложения, готовый прототип, поэтому создать Android UI в XML файлах – это уже дело техники. Вы берете прототип и постепенно переносите его в приложение. По сути – здесь вам уже не нужно будет думать, как и что должно работать, потому что вы правильно выполнили все предыдущие шаги. Многие новички начинают сразу с этого шага, минуя предыдущие. Теперь вы понимаете, что это неверный подход.
  • 6. Связывание UI с ядром
    • Последний шаг — соединить все части между собой, как конструктор. Вам нужно будет просто «наложить» на рабочее ядро готовый UI, добавить нужные контроллеры (обработчики действий пользователя) , адаптеры, чтобы строить списки и другие элементы кода. Все бизнес процессы уже находятся в ядре, поэтому ваша задача — просто правильно использовать его с помощью готового API.

СЛОИ ПРИЛОЖЕНИЯ
Также, вы обязательно должны правильно разбить свое приложение на слои, чтобы каждая часть была независимой друг от друга.
Это один из ключевых моментов при разработке, который используют опытные программисты для любого типа проекта.
У новичков обычна вся логическая часть «размазана» по коду — из-за этого им трудно дорабатывать проект, добавлять новые функции, внедрять новые объекты.
Один большой практический проект на все темы
Вместо несвязанных примеров вы получаете один готовый проект, на основе которого рассматриваются все темы. Также потом сможете использовать этот проект для портфолио.
Домашние задания
В конце каждого урока-лекции вы получаете домашние задания и решения для самопроверки. Все исходные коды доступны в виде готовых проектов Android Studio.
От простого к сложному
Вы будете выполнять последовательно каждый шаг, чтобы не запутаться и дойти до конца. Сложные темы разбиваются не несколько уроков.