Несколько дней новогоднего волшебства:
Успейте начать обучение в 2018-ом году со скидкой до 30%!
Выбрать курс

Разработчик Android

Курс о том, как создавать качественные, стабильные и протестированные Android-приложения.
Зачем нужно тестирование?

Длительность

5 месяцев

Начало

12 декабря

Занятия

Пт 20:00, Ср 20:00

Общая стоимость

60 000 ₽ 42 000 ₽

В месяц

15 000 ₽ 12 150₽

В кредит:

15000 ₽ в месяц

Хочу дешевле
Общая стоимость
60 000 ₽ 42 000 ₽
В месяц: 15 000 ₽ 12 150 ₽
В кредит: 15000 ₽
в месяц
Продолжительность
5 месяцев, 4 часа в неделю
Пт 20:00, Ср 20:00
Начало занятий
12 декабря
Что даст вам этот курс


  • Знание элементов пользовательского интерфейса (UI) Android-приложений, новинок Material Design

  • Освоение функциональных подходов к построению архитектуры Android

  • Умение создавать легко поддерживаемые мобильные приложения

  • Владение современными способами организации тестирования

  • Освоение актуальных технологий: Dagger 2, Android Jetpack, RxJava 2, Retrofit, Firebase

  • Знание основных проблем Android-разработки и способов их решения



8 работодателей

Подробное изучение UI и принципов построения архитектуры приложений

Подробное освещение основных инструментов тестирования (обычно рассматриваются поверхностно)

Преподаватели-эксперты

Dependency Injection в Android, 20 декабря в 20:00
На вебинаре мы изучим философию Dependency Injection, рассмотрим достоинства и недостатки различных вариантов реализации, а ещё напишем пример ручной реализации, обсудим варианты его улучшения и напоследок посмотрим на то, как это делает Dagger 2. Присоединяйтесь, будет интересно и профессионально!
Ведет
Сергей
Митрофанов
Предыдущий открытый вебинар
Три года назад стандарты разработки андроид-приложений были совсем другими. Каждый год Google преподносит разработчикам новые решения и инструменты, и уследить за всем этим бывает очень сложно. Нужно постоянно “держать руку на пульсе” и развивать свои навыки — без этого не получится профессионального роста
Варвара Соловьёва
Преподаватель курса
Три года назад стандарты разработки андроид-приложений были совсем другими. Каждый год Google преподносит разработчикам новые решения и инструменты, и уследить за всем этим бывает очень сложно. Нужно постоянно “держать руку на пульсе” и развивать свои навыки — без этого не получится профессионального роста
Варвара Соловьёва
Преподаватель курса
Преподаватели
Варвара Соловьёва
Gaika Group
Сергей Митрофанов
Ведущий инженер-программист в Cargopull
Android developer с опытом работы в таких компаниях, как Apzavr, Campus, Jeench Inc, Gaika Group. Преподаёт на курсе «Разработчик Android», профессионально занимается разработкой мобильных приложений, вёрсткой и дизайном.

Подготовила собственную программу обучения, где постаралась охватить все ключевые современные стандарты Android-разработки, включая материалы последних конференций и основные пункты экзамена на сертификат Google.
Самостоятельно изучил ООП, Java и Android, написал эмуляцию физико-химического процесса на Java, разработал на Java систему учета крупных соревнований по Ушу.

Разрабатывал под Android: CRM, ERP, двумерные игры, AR-игры, видеочаты, купонаторы и др.

Из опыта преподавания — свои вебинары по компьютерному ликбезу для широкой возрастной группы и обучение мобильных разработчиков в проекте с нуля до Senior. В августе выступал докладчиком на митапе Mosdroid.
Преподаватели
Варвара Соловьёва
Gaika Group
Android developer с опытом работы в таких компаниях, как Apzavr, Campus, Jeench Inc, Gaika Group. Преподаёт на курсе «Разработчик Android», профессионально занимается разработкой мобильных приложений, вёрсткой и дизайном.

Подготовила собственную программу обучения, где постаралась охватить все ключевые современные стандарты Android-разработки, включая материалы последних конференций и основные пункты экзамена на сертификат Google.
Сергей Митрофанов
Ведущий инженер-программист в Cargopull
Самостоятельно изучил ООП, Java и Android, написал эмуляцию физико-химического процесса на Java, разработал на Java систему учета крупных соревнований по Ушу.

Разрабатывал под Android: CRM, ERP, двумерные игры, AR-игры, видеочаты, купонаторы и др.

Из опыта преподавания — свои вебинары по компьютерному ликбезу для широкой возрастной группы и обучение мобильных разработчиков в проекте с нуля до Senior. В августе выступал докладчиком на митапе Mosdroid.
Минимальные знания
  • опыт работы с Android Studio
  • опыт написания приложений
  • знание основ работы с Git
Программа обучения
Модуль 1
UI
Модуль 2
Архитектура
Модуль 3
Работа с данными
Модуль 4
Тестирование, облачные сервисы, публикация приложения
Модуль 5
Проектная работа
UI
В данном модуле рассматриваются элементы пользовательского интерфейса (UI) Android-приложений. Вы получите навыки формирования макетов Android-приложения, применения и кастомизации элементов UI.
Custom Views
По окончании занятия ученики начнут понимать, зачем нужны кастомные вью, научатся перегружать методы базовых виджетов для своих целей, использовать Canvas.
Домашние задания: 1
1 Custom Views
Написать SquareImageView.
*Написать CircleImageView.
Material Design Guidelines
По окончании занятия участники смогут понимать принципы Material Design, следовать Material Design Guidelines, пользоваться элементами support библиотеки.
19 декабря, 20:00 — 21:30
ButterKnife, Android Data Binding
По окончании занятия участники смогут подключать библиотеку ButterKnife, работать с ней в модулях. Пользоваться плагином Exynap. Подключать Android Data Binding, работать с ViewModel. Работать с Android Data Binding со списками, листенерами.
26 декабря, 20:00 — 21:30
Домашние задания: 1
1 ButterKnife, Android Data Binding
Написать два экрана с учетом Material Design Guidelines:
Экран 1 с ButterKnife запрашивает информацию о пользователе — имя, емейл, телефон. Когда все данные заполнены, активируется кнопка ""ОК"", которая ранее была заблокирована (отобразить это в дизайне). По нажатию на кнопку ""ОК"" открывается экран на Android Data Binding с моделью заполненного пользователя.
*Использовать в дизайне компоненты последней версии библиотеки support design.
Работа со стилями и атрибутами
По окончании занятия участники смогут писать иерархию стилей, создавать собственные атрибуты стилей, например, для шрифтов, уметь пользоваться Downloadable Fonts. Уметь выбирать правильные ресурсы для разных устройств.
28 декабря, 20:00 — 21:30
Анимация
По окончании занятия участники будут знать и различать виды анимаций как изображений, так и лейаутов, в том числе и рисованные на Canvas, понимать значения атрибутов преобразований.
9 января, 20:00 — 21:30
Домашние задания: 1
1 Анимация
Создать экран, выезжающий снизу с пошаговой анимацией.
*Создать экран, выезжающий снизу с векторной анимацией.
Navigation Drawer
По окончании занятия участники смогут создавать и кастомизировать Navigation Drawer.
11 января, 20:00 — 21:30
CoordinatorLayout
По окончании занятия участники смогут использовать и понимать, как работает CoordinatorLayout, основные типы поведения при скролле.
16 января, 20:00 — 21:30
Домашние задания: 1
1 CoordinatorLayout
Создать экран с текстом и плашкой заголовка, который при скролле скрывает плашку заголовка под тулбар.
*Создать экран с плашкой изображения с заголовком, который при скролле трансформирует плашку в тулбар.
ConstraintLayout
По окончании занятия участники смогут понимать проблему overdraw и ее основные причины, знать инструменты отладки рендеринга, уметь пользоваться ConstraintLayout.
18 января, 20:00 — 21:30
Архитектура
В данном модуле вы познакомитесь с наиболее актуальными и функциональными подходами к построению архитектуры приложений, научитесь применять рассмотренные подходы на практике и реализовывать качественные, стабильные и протестированные приложения.
Activity, Fragment или View. Сохранение состояния
По окончании занятия участники смогут понимать разницу в жизненном цикле активити и фрагмента, их нагрузки на память, уметь связывать вью с жизненным циклом фрагмента или активити. Знать основные способы сохранения состояния.
23 января, 20:00 — 21:30
Философия Clean, MVP, MVVM
По окончании занятия участники смогут знать и отличать основные паттерны программирования, понимать суть философии Clean.
25 января, 20:00 — 21:30
Android Jetpack, обзор Navigation
По окончании занятия участники смогут понимать принцип Android Jetpack, знать основные составляющие каждого из 4-х компонентов, иметь представление о работе Navigation.
30 января, 20:00 — 21:30
Services. WorkManager
По окончании занятия участники смогут различать основные типы сервисов, понимать, что такое WorkManager, управлять критериями запуска задачи, уметь выставлять последовательность выполнения, управлять передачей и получением данных.
1 февраля, 20:00 — 21:30
Домашние задания: 1
1 Services. WorkManager
Создать задачу уведомления пользователя о низком заряде батареи.
*Создать задачу уведомления пользователя о его геолокации раз в минуту с возможностью отмены задачи из уведомления.
Работа с потоками. RxJava 2, RxAndroid — часть 1, ViewModel + LiveData
По окончании занятия участники смогут различать инструменты работы с потоками (Runnable, Handler, Looper), ознакомиться с основными принципами RxJava, различать виды операторов. Ознакомиться с RxAndroid. Знать и отличать виды LiveData, пользоваться в комбинации с ViewModel.
6 февраля, 20:00 — 21:30
RxJava 2, RxAndroid — часть 2, RxLifecycle + RxPermission
По окончании занятия участники смогут понимать и уметь обрабатывать работу в потоках, подписку, знать разницу между Hot and Сold Observable, уметь пользоваться RxLifecycle + RxPermission.
8 февраля, 20:00 — 21:30
Depenency Injection: Dagger 2 — часть 1
По окончании занятия участники смогут понимать основной принцип работы Dependency Injection, Dagger, уметь настраивать компонент приложения.
13 февраля, 20:00 — 21:30
Depenency Injection: Dagger 2 — часть 2
По окончании занятия участники смогут создавать наследование компонентов, будут знать, что такое BindsInstance, смогут организовывать работу с модулями приложения.
15 февраля, 20:00 — 21:30
Домашние задания: 1
1 Depenency Injection — Dagger 2
На основании экранов о сборе данных пользователя из ДЗ к Модулю 1 создать вьюмодель с лайвдатой, отражающей состоянии кнопки ОК, observable, который следит за эдит-текстом емейла и при валидном значении публикует во вьюмодель состояние кнопки ""доступна"".
Кнопка подписана на лайвдату и меняет состояние "доступно-недоступно", а также дизайн в зависимости от значения.
У экрана есть DI-компонент, который провайдит вьюмодель.
Работа с данными
В данном модуле рассматриваются проблемы и вопросы, возникающие при разработке современных клиент-серверных приложений, а также способы их решения.
SharedPreferences. Hawk
По окончании занятия участники смогут пользоваться SharedPreferences для записи и получения объектов, будут ознакомлены со сторонними библиотеками.
20 февраля, 20:00 — 21:30
Broadcast Receiver, работа с уведомлениями
По окончании занятия участники смогут создавать и подписывать на активити глобальные и кастомные Broadcast Receiver, научатся отправлять и обрабатывать уведомления.
22 февраля, 20:00 — 21:30
REST, Postman, Модели, использование Parcelable
По окончании занятия участники смогут понимать принципы REST, уметь работать с Postman, уметь создавать модели данных, знать, когда использовать Parcelable.
27 февраля, 20:00 — 21:30
Retrofit, API-интерфейс
По окончании занятия участники смогут подключать библиотеку Retrofit, создавать и описывать API-интерфейс (Field, Query, QueryMap...).
1 марта, 20:00 — 21:30
Репозитории и интеракторы
По окончании занятия участники смогут понимать принцип паттерна Repository, уметь создавать репозитории и интеракторы, разделять бизнес-логику приложения.
6 марта, 20:00 — 21:30
Paging library
По окончании занятия участники научатся применять Paging library для постраничной загрузки данных и отображений их в RecyclerView.
8 марта, 20:00 — 21:30
Домашние задания: 1
1 Paging library
Создать загружаемый постранично (offset) список с использованием какого-либо API из источника: https://github.com/toddmotto/public-apis, используя материалы предыдущих уроков.
*Использовать компоненты Material Design при отображении данных (Material Card и т. д.).
SQLite, Realm
По окончании занятия участники смогут понимать, как создаются таблицы SQL, знать и отличать методы, типы данных. Уметь работать c SQLite в Андроид, ознакомиться с Realm.
13 марта, 20:00 — 21:30
Room
По окончании занятия участники смогут пользоваться Room, знать, как осуществить переход с SQLite на Room.
15 марта, 20:00 — 21:30
Тестирование, облачные сервисы, публикация приложения
В данном модуле вы узнаете о способах организации тестирования мобильных приложений, познакомитесь с облачными сервисами и процессом публикации приложения в Маркете.
Firebase Cloud Messaging
По окончании занятия участники смогут настраивать уведомления в Android с помощью Firebase Cloud Messaging.
20 марта, 20:00 — 21:30
Fabric Crashalytics, KPI
По окончании занятия участники научатся настраивать крашалитику, KPI с помощью Fabric.
22 марта, 20:00 — 21:30
Firebase Realtime Database
По окончании занятия участники смогут подключать и пользоваться Firebase Realtime Database.
27 марта, 20:00 — 21:30
Домашние задания: 1
1 Firebase Realtime Database
Подключить Firebase Realtime Database к экранам сбора данных о пользователе.
*Подключить Firebase Cloud Messaging к экранам сбора данных о пользователе.
Тестирование
По окончании занятия участники смогут знать и различать локальные, инструментальные и UI тесты, понимать сам принцип тестирования приложения.
29 марта, 20:00 — 21:30
Домашние задания: 1
1 Тестирование. JUnit, Mockito, Espresso, Robolectric
Используя экран из ДЗ к теме Paging Library, написать тесты к вьюмодели.
*Используя экран из ДЗ к теме Paging Library, написать API-тесты.
JUnit, Mockito, Espresso, Robolectric
По окончании занятия участники смогут знать и различать инструменты тестирования — JUnit, Mockito, Espresso, Robolectric.
3 апреля, 20:00 — 21:30
Утечка памяти в приложении
По окончании занятия участники смогут знать и различать инструменты отслеживания утечки памяти, основные причины утечки памяти.
17 апреля, 20:00 — 21:30
Добавление accessibility
По окончании занятия участники смогут добавлять accessibility к своему приложению, писать accessibility сервисы.
1 мая, 20:00 — 21:30
Домашние задания: 1
1 Добавление accessibility
Используя экраны сбора данных о пользователе, добавить accesibility к экрану о сборе данных и к экрану отображнения данных
Публикация приложения
По окончании занятия участники смогут научиться подписывать апк, публиковать приложение в Google Play в альфа, бета, и релиз версии.
15 мая, 20:00 — 21:30
Проектная работа
Данный модуль полностью посвящен проектной работе.
Вводное занятие. Определение темы проекта
По окончании занятия участники смогут определиться с темой проекта, получить понимание, какие ресурсы им необходимо использовать для работы.
29 мая, 20:00 — 21:30
Консультация. Промежуточные итоги
По окончании занятия участники получат комментарии относительно прогресса проектной работы, ответы на какие-то вопросы, рекомендации по реализации.
12 июня, 20:00 — 21:30
Финальное занятие. Сдача проекта
По окончании занятия участники получат разбор проектов, комментарии и оценку своей работы.
26 июня, 20:00 — 21:30
Выпускной проект

В рамках курса предусмотрена защита проекта. Это отдельная работа, на выполнение которой отводится месяц. В ней отражаются все стандарты, инструменты и технологии, изложенные в процессе обучения. Таким проектом может быть любое приложение, работающее с API.



Примерные темы проектов:



  • отображение курса ценных бумаг или акций, график за день, месяц, отправка уведомлений

  • дневник питания и/или счетчик калорий

  • игра с дополненной реальностью

  • все социальные сети в одной ленте

  • клиент для Хабра

  • приложение с шаблонами экранов для подбора палеток согласно Material Design

Подглядеть
Android: Android Studio и Android Virtual Device: Get Started
Android Material Design: обзор обновлений
Варвара Соловьёва
Видеоматериалы по теме
День открытых дверей
6 декабря в 20:00
После обучения вы

  • получите материалы по всем пройденным занятиям (видеозаписи курса, тестовые приложения, над которыми работали во время обучения, финальный проект)

  • научитесь писать качественный код и пользоваться всеми основными технологиями, которые требуют работодатели

  • получите сертификат об окончании курса

  • повысите свои знания в сфере Android-разработки

  • сможете создавать самостоятельные проекты и работать в команде

  • получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения)

Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Разработчик Android»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Разработчик Android»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
Общая стоимость
60 000 ₽ 42 000 ₽
В месяц: 15 000 ₽ 12 150 ₽
В кредит: ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
12 декабря