Android-разработчик. Базовый курс | OTUS
Неделя кибер-студента!
Только на этой неделе — дополнительные скидки на обучение в честь Дня студента! Подробности в чате.
Подробнее

Курсы

Курсы в разработке Подготовительные курсы
+7 499 110-61-65

Android-разработчик. Базовый курс

Обучение на Android-разработчика на Kotlin, подготовка качественного портфолио. Курс для программистов с опытом на любом ООП языке.
Подойдет ли мне этот курс?

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

5 месяцев

Начало

27 марта

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

50 000 ₽

В месяц

12 500 ₽

В кредит:

12500 ₽ в месяц

Хочу дешевле
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
В кредит: 50000 ₽
в месяц
Продолжительность
5 месяцев, 4 академ. часа в неделю
Начало занятий
В марте
Что даст вам этот курс

Если у вас уже есть опыт в программировании и вы хотите стать Android-разработчиком, — мы вам в этом поможем.

За время обучения вы:

  • научитесь профессионально создавать приложения под Android;

  • подготовитесь к собеседованию;

  • разработаете портфолио с использованием современных библиотек и фреймворков.


На курсе много продвинутых тем. Например: android architecture component, тестирование мобильных приложений, RxJava, Dagger 2, многопоточность в Android, Koin, Material Design и т.д.


Весь необходимый набор знаний и навыков для работы на позиции Android-разработчика

Большое преимущество на собеседованиях за счет освоения продвинутых тем

Много практики и живого общения с преподавателями

Подготовка проекта для портфолио в течение всего курса

Преподаватели
Денис Журавлев
Android Team Lead в Mediapark
Дмитрий Кожевин
Android-разработчик в МИА «Россия сегодня»
Михаил Борисов
Android developer (infoware GmbH)
Михаил Кулага
Android Developer в Peg b Technology
Артем Первушов
Senior Software Developer (Luxoft)
Увлекается Android-разработкой с 2011 года. Профессионально находится в этой сфере более 6 лет.

Долгое время работал над созданием приложения «Ultimate Guitar: Аккорды & Табы» — одного из лучших приложений для саморазвития 2018 года по мнению Google Play, а также сохранявшего позицию №1 в рейтинге платных приложений в США. На текущий момент занимает должность Android Team Lead в Mediapark.

Имеет опыт работы с приложениями не только со стороны разработки, но и со стороны маркетинга и продаж. Также участвовал в разработке приложений для компаний «Мегафон» и Burger King, пробовал себя в стартапах и фрилансе.

Начинал карьеру с профессиональной веб-разработки, создавал приложения на iOS, был частью Tortuga Team в качестве разработчика игр.

Любимым приложением, разработанным за карьеру, считает Tonebridge Guitar Effects.

Программирует с 1995 года, начинал с BASIC. В процессе своей деятельности занимался разработкой систем учёта для страховых компаний. Владеет Go, Java, Kotlin.

В 2013 году переключился на профессиональную Android-разработку. Работал в компаниях «Поисковая система «Спутник» и Snaappy. В настоящее время — Android-разработчик в МИА «Россия сегодня».

Имеет два высших образования: экономическое (СЗАГС) и техническое (МГТУ им. Баумана). Является активным участником Stack Overflow.

Получил степень бакалавра на факультете компьютерных наук НИУ ВШЭ по направлению "Программная инженерия".

Работает Android-разработчиком в немецкой компании Infoware GmbH. Ведет разработку на Kotlin, не забывая о принципах SOLID и Clean Architecture.

Кроме Android интересуется Data Science, в частности NLP(Natural Language Processing).

Android-разработчик с 7-летним стажем. Занимался разработкой как на аутсорсинге, так и в продуктовых компаниях. Имеет опыт запуска собственного проекта (более 500.000 скачиваний).

Увлёкся Android-разработкой, ещё будучи студентом 3-го курса. Работал в EPAM, ForteGroup, Aviasales, Peg-B. Сейчас разрабатывает приложения в финтех-стартапе.

Технологии: Android, Java, Kotlin.

Образование: БГУИР, «Вычислительные машины, системы и сети».

Окончил Брянский государственный технологический университет (факультет информационных технологий).

Профессионально занимается программированием с 2010 года. Возглавлял IT-отдел в «Уралсибе», работал системным архитектором в «ЛАНИТ», «Ай-Теко», Uventex Inc. Разрабатывал zakupki.gov, kupivip, личный кабинет продавца в «Почте России».

Преподавал в «Иннополис», МГТУ и «Люксофт». Сертифицированный специалист Android ATC. На текущий момент занимает должность Senior Software Developer в Luxoft.

Денис
Журавлев
Дмитрий
Кожевин
Михаил
Борисов
Михаил
Кулага
Артем
Первушов
Преподаватели
Денис Журавлев
Android Team Lead в Mediapark
Увлекается Android-разработкой с 2011 года. Профессионально находится в этой сфере более 6 лет.

Долгое время работал над созданием приложения «Ultimate Guitar: Аккорды & Табы» — одного из лучших приложений для саморазвития 2018 года по мнению Google Play, а также сохранявшего позицию №1 в рейтинге платных приложений в США. На текущий момент занимает должность Android Team Lead в Mediapark.

Имеет опыт работы с приложениями не только со стороны разработки, но и со стороны маркетинга и продаж. Также участвовал в разработке приложений для компаний «Мегафон» и Burger King, пробовал себя в стартапах и фрилансе.

Начинал карьеру с профессиональной веб-разработки, создавал приложения на iOS, был частью Tortuga Team в качестве разработчика игр.

Любимым приложением, разработанным за карьеру, считает Tonebridge Guitar Effects.

Дмитрий Кожевин
Android-разработчик в МИА «Россия сегодня»
Программирует с 1995 года, начинал с BASIC. В процессе своей деятельности занимался разработкой систем учёта для страховых компаний. Владеет Go, Java, Kotlin.

В 2013 году переключился на профессиональную Android-разработку. Работал в компаниях «Поисковая система «Спутник» и Snaappy. В настоящее время — Android-разработчик в МИА «Россия сегодня».

Имеет два высших образования: экономическое (СЗАГС) и техническое (МГТУ им. Баумана). Является активным участником Stack Overflow.

Михаил Борисов
Android developer (infoware GmbH)
Получил степень бакалавра на факультете компьютерных наук НИУ ВШЭ по направлению "Программная инженерия".

Работает Android-разработчиком в немецкой компании Infoware GmbH. Ведет разработку на Kotlin, не забывая о принципах SOLID и Clean Architecture.

Кроме Android интересуется Data Science, в частности NLP(Natural Language Processing).

Михаил Кулага
Android Developer в Peg b Technology
Android-разработчик с 7-летним стажем. Занимался разработкой как на аутсорсинге, так и в продуктовых компаниях. Имеет опыт запуска собственного проекта (более 500.000 скачиваний).

Увлёкся Android-разработкой, ещё будучи студентом 3-го курса. Работал в EPAM, ForteGroup, Aviasales, Peg-B. Сейчас разрабатывает приложения в финтех-стартапе.

Технологии: Android, Java, Kotlin.

Образование: БГУИР, «Вычислительные машины, системы и сети».

Артем Первушов
Senior Software Developer (Luxoft)
Окончил Брянский государственный технологический университет (факультет информационных технологий).

Профессионально занимается программированием с 2010 года. Возглавлял IT-отдел в «Уралсибе», работал системным архитектором в «ЛАНИТ», «Ай-Теко», Uventex Inc. Разрабатывал zakupki.gov, kupivip, личный кабинет продавца в «Почте России».

Преподавал в «Иннополис», МГТУ и «Люксофт». Сертифицированный специалист Android ATC. На текущий момент занимает должность Senior Software Developer в Luxoft.

Необходимые знания
Обязательно:
  • понимание принципов ООП;
  • опыт программирования на любом объектно-ориентированном языке программирования.
Будет плюсом:
  • знакомство с языком Java;
  • знание шаблонов проектирования;
  • умение писать чистый код;
  • навыки использования git.
Подготовительный курс

  • Курс по Java-разработке для начинающих программистов

  • Занятия в формате видео и проверочные тесты

  • Все необходимые знания и навыки для поступления на курсы "Разработчик Java" и "Android-разработчик.Базовый курс"

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

Вебинары идут дважды в неделю по 1,5 часа. Все вебинары сохраняются и в записи в вашем личном кабинете.

Домашнее задание выдается в среднем одно в неделю, а его выполнение занимает 3-5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.

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

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

Выполнение проектной работы помогает усвоению практических навыков, а тема проекта отдельно выносится в сертификат. Во время работы над проектом студенты получают консультации и обратную связь от преподавателей в слаке группы и на проектных занятиях.
Программа обучения
Модуль 1
Kotlin
Модуль 2
Основы Android-разработки
Модуль 3
Архитектура, работа с сетью и хранение данных
Модуль 4
Компоненты Android
Модуль 5
Реактивный подход, внедрение зависимостей
Модуль 6
Тестирование и публикация
Модуль 7
Проектная работа
Kotlin
После этого занятия вы сможете оперировать основными конструкциями языка Kotlin JVM, сможете писать код в kotlin-стиле, использовать kotlin extensions.
Тема 1: Основы Kotlin. Стандартная библиотека. Часть 1
Тема 2: Основы Kotlin. Стандартная библиотека. Часть 2
Основы Android-разработки
Тема 1: Главный компонент Android — Activity
после занятия вы сможете создавать новые экраны и передавать между ними данные, запускать другие приложения из своего, сохранять данные экрана при его пересоздании.

Темы:
— жизненный цикл Activity;
— способ сохранения состояния Activity onSaveInstanceState;
— явные и неявные intent и AndroidManiest.xml;
— передача данных между activity, kotlin parcelize;
— activity stack и flags;
— startActivityForResult;
— несколько слов о Context.
Домашние задания: 1
1 Начало работы над приложением по поиску фильмов. Создание проекта и страницы с фильмами.
1. Создайте проект
2. Залейте проект на GitHub
3. Добавьте описание проекта в заголовке и Read.me
4. На первом экране своего приложения создайте несколько картинок с фильмами. К каждой картинке добавьте название фильма и кнопку “Детали”. Изображения любые, название и описание произвольные
5. По нажатию на Детали - выделяйте другим цветом название выбранного фильма, открывайте новое окно, где показывайте картинку и описание фильма
6. Сохраняйте выделение фильма при повороте и при возвращении со второго экрана
7. Добавьте кнопку “Пригласить друга” и отправляйте приглашение по вашему выбору (почта, смс, социальные сети)
8. * Добавьте на втором экране checkbox “Нравится” и текстовое поле для комментария. Возвращайте значение чекбокса и текст комментария при переходе обратно на первый экран. Возвращенные значения чекбокса и текстового комментария выводим в лог

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 2: Интерфейс экрана. Основные элементы
после занятия вы сможете создавать экраны с интерактивными элементами, используя современные подходы к верстке.

Темы:
— основные виджеты: EditText, TextView, Button, ImageView, ScrollView, HorizontalScrollView, Switch, ProgressBar;
— основные контейнеры: FrameLayout, LinearLayout, RelativeLayout;
— продвинутый контейнер: ConstraintLayout.
Тема 3: Интерфейс экрана. Стили, ресурсы, диалоги
после занятия вы сможете создавать свои стили для приложения, конкретных экранов или элементов. Научитесь пользоваться диалогами и создавать свои собственные. А также узнаете, какие ресурсы в каких случаях использовать в своем приложении.

Что рассмотрим:
— стили и темы приложения;
— ресурсы, типы ресурсов;
— квалификаторы ресурсов;
— векторную графику;
— диалоги, виды диалогов;
— кастомные диалоги.
Домашние задания: 1
1 Использование тем и квалификаторов.
1. Создайте различные стили для текста заголовка и описания
2. Используйте стили на экране со списком и детальном экране
3. Добавьте поддержку английского и русского языков для элементов интерфейса, например, для кнопки "детали" и "пригласить друга"
4. Используйте векторное изображение из стандартного набора для кнопки пригласить друга
5. Добавьте поддержку альбомной ориентации. Интерфейс должен отличаться. Например, в портретной 2 фильма в строке списка, а в альбомной 4
6. Создайте кастомный диалог подтверждения при выходе из приложения при нажатии кнопки back (использовать метод onBackPressed)
7. * Добавьте кнопку переключения темы в приложении, например дневной\ночной

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 4: Интерфейс экрана. Списки
после занятия вы сможете создавать списки и управлять ими, удалять и добавлять элементы, кастомизировать списки под свои нужды.

Темы:
— RecyclerView: LayoutManager, Adapter и ViewHolder;
— добавление и удаление элементов списка;
— ItemDecorator.
23 января, 20:00 — 21:30
Лектор: Денис Журавлев
Домашние задания: 1
1 Работа со списками.
1. Переведите ваше приложение на отображение списков с помощью RecyclerView
2. Дополните функционал вашего приложения сохранением фильмов в список избранного (избранное пока храните в обычном List на уровне Activity). Используйте для этого или долгое нажатие на элемент списка, или тап на ImageView в виде сердечка рядом с названием фильма
3. Создайте экран, где будет отображаться список Избранного
4. Сделайте так, чтобы в список можно было добавлять элементы и удалять их
5. * Самостоятельно изучите ReciclerView.ItemAnimator, создайте свои собственные анимации

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 5: Интерфейс экрана. Навигация и продвинутая верстка
после занятия вы сможете использовать элементы для навигации в своем приложении, создавать уведомления, а также огранизовывать взаимодействие элементов экрана с помощью наиболее мощных и продвинутых контейнеров.

Темы:
— AppBar, ActionBar, Toolbar, CollapsingToolbar;
— Navigation Drawer;
— CoordinatorLayout;
— Snackbar, Toast.
27 января, 20:00 — 21:30
Лектор: Дмитрий Кожевин
Тема 6: Fragments
изучим жизненный цикл, FragmentManager, передачу данных между Activity и Fragment’ом. После занятия вы сможете создавать экран в экране, несколько экранов рядом, передавать данные между несколькими экранами.

Темы:
— подробный разбор Fragment’ов: жизненный цикл, добавление и удаление фрагментов с помощью FragmentManager;
— Back Stack для фрагментов;
— взаимодействие Activity и Fragment;
— retained fragment.
30 января, 20:00 — 21:30
Лектор: Денис Журавлев
Домашние задания: 1
1 Фрагменты и навигация.
1. Переведите свое приложение на единственную Activity и несколько фрагментов
2. Для навигации между фрагментами используйте NavigationDrawer или BottomNavigation
3. Добавьте CoordinatorLayout + CollapsingToolbar на детальный экран фильма
4. Добавьте Snackbar или Toast, сообщающий об успехе добавления\удаления из избранного
5. * Добавьте возможность отмены действия в snackbar

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 7: Анимация
после занятия вы сможете анимировать векторные изображения, элементы интерфейса и их свойства, выполнять анимированные переходы между состояниями экрана.

Темы:
— Property Animation;
— View Animations;
— Drawable Animations;
— Transtions.
3 февраля, 20:00 — 21:30
Лектор: Денис Журавлев
Архитектура, работа с сетью и хранение данных
Тема 1: Выходим в интернет
после занятия вы сможете загружать данные из интернета и передавать данные на удалённый сервер, загружать изображения.

Темы:
— OkHttp;
— Retrofit: синхронная и асинхронная загрузка;
— Gson;
— Glide.
6 февраля, 20:00 — 21:30
Лектор: Денис Журавлев
Домашние задания: 1
1 Подключение приложения к интернету.
1. Подключите API сервера с фильмами и загружайте данные о фильмах с сервера при запуске приложения. Во время загрузки должен отображаться индикатор на ваш выбор
2. Используйте Glide для загрузки изображений
3. Добавьте пагинацию (подгрузку новых фильмов при скролле)
4. * Добавьте pull to refresh

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 2: Архитектурные компонеты
после занятия вы сможете писать приложения в архитектурном паттерне MVVM и познакомитесь с архитектурными компонентами от разработчиков OS Android. Также вы будете понимать принципы построения архитектуры мобильных приложений.

Темы:
— краткий обзор: понятие архитектуры, чистая архитектура, MVP, MVVM;
— LifeCycleOwner: что это такое, где он применяется;
— ViewModel: как создавать модель, чем она должна заниматься;
— LiveData: как создавать и обновлять данные, как подписываться на обновления;
— обмен данными между фрагментами через ViewModel.
10 февраля, 20:00 — 21:30
Лектор: Денис Журавлев
Домашние задания: 1
1 Архитектурные компоненты.
1. Переведите свое приложение на архитектурные компоненты и MVVM
2. Обменивайтесь данными между фрагментами используя ViewModel
3. Добавьте отображение ошибок, в случае ошибки сервера или отсутствия интернета
4. Добавьте возможность повторить запрос в случае ошибки
5. * Создайте ViewModel с помощью фабрики

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 3: Хранение данных. Permisisons
после занятия вы узнаете, как и когда запрашивать разрешения у пользователя, научитесь хранить данные пользователя в preferences и в файлах.

Темы:
— SharedPreferences;
— Runtime Permisisons;
— запись и чтение файлов;
— публичные и приватные директории.
13 февраля, 20:00 — 21:30
Лектор: Дмитрий Кожевин
Тема 4: Хранение данных. Room
после занятия вы научитесь создавать и использовать базу данных Room. Сможете менять её без потери данных, а также отслеживать изменения.

Темы:
— создание собственной БД;
— работа с Room БД;
— Room + LiveData;
— миграции и обновление версии БД.
17 февраля, 20:00 — 21:30
Лектор: Дмитрий Кожевин
Домашние задания: 1
1 Хранение данных.
1. Сохраняйте полученные данные фильмов в кэш (базу данных Room)
2. Сохраняйте список избранного в базе данных
3. Во время загрузки фильмов отображайте данные из кэша
4. Храните время последнего запроса данных и, если прошло меньше 20 минут, отображайте кэш, запрос в сеть идти не должен. Для хранения времени используйте SharedPreferences
5*. В случае ошибки сервера \ отсутствия интернета отобразите snackbar с ошибкой и кнопкой "попытаться снова\обновить"
Тема 5: Binding данных
после занятия вы сможете создавать интерфейс, который реагирует на изменения в данных, а также узнаете о различных способах связи кода с вашими xml-файлами разметки.

Темы:
— DataBinding;
— DataBinding + LiveData;
— ButterKnife;
— Kotlin Android Extensions.
20 февраля, 20:00 — 21:30
Лектор: Денис Журавлев
Тема 6: Многопоточность в Android
после занятия вы сможете выполнять задачи приложения асинхронно и в фоновом режиме.

Темы:
— Thread;
— AsyncTask;
— Handler;
— Coroutines.
27 февраля, 20:00 — 21:30
Лектор: Денис Журавлев
Домашние задания: 1
1 Работа с файлами и многопоточность.
1. Добавьте в приложение возможность скачивать постер к фильму
2. Изображение должно скачиваться в публичную директорию
3. * Добавьте отображение прогресса скачивания

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Компоненты Android
Тема 1: Службы (Services)
после занятия вы сможете запускать длительные задачи (такие, как загрузка изображений) в фоновом режиме и продолжать выполнение длительных задач, даже если пользователь свернул приложение.

Темы:
— принцип работы Service;
— Background и foreground service, запрет на сервисы в новых API;
— IntentService;
— Push-уведомления: создание, взаимодействие и управление пушами, использование пушей для Foreground Service;
— PendingIntent.
2 марта, 20:00 — 21:30
Лектор: Дмитрий Кожевин
Тема 2: Отложенные задачи
после этого занятия вы узнаете, когда и какие средства лучше применять для создания отложенных задач.

Темы:
— WorkManager;
— AlarmManager;
— JobScheduler.
5 марта, 20:00 — 21:30
Лектор: Дмитрий Кожевин
Домашние задания: 1
1 Отложенные задачи и уведомления.
1. Добавьте в приложение функицонал добавление фильма в список "Посмотреть позже"
2. При добавлении необходимо указывать дату напоминания
3. При наступлении необходимой даты должно появляться пуш уведомление
4. Переход по пуш уведомлению должен открывать детальную страницу фильма
5.* Добавьте в приложение отображение списка "Посмотреть позже", в котором можно будет изменять дату напоминания

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 3: Широковещательные сообщения (Broadcasts)
после занятия вы сможете принимать сообщения от операционной системы (например, о подключении к wi-fi или к розетке), а также передавать сообщения внутри своего приложения.

Темы:
— BroadcastReceiver;
— LocalBroadcastReceiver.
12 марта, 20:00 — 21:30
Лектор: Михаил Борисов
Тема 4: Обмен данными с другими приложениями
после занятия вы сможете обмениваться данными между приложениями.

Темы:
— принцип работы Content Provider;
— получение списка смс или контактов;
— обмен данными между двумя приложениями: создаём приложение, которое хранит и отдает данные, создаём приложение, которое запрашивает и получает данные у первого приложения.
16 марта, 20:00 — 21:30
Лектор: Дмитрий Кожевин
Тема 5: Firebase
после занятия вы сможете пользоваться платформой Firebase для отслеживания ошибок приложения, получения уведомлений и создания удалённого конфига приложения.

Темы:
— регистрация приложения;
— Crashlytics;
— RemoteConfig;
— CloudMessaging;
— коротко о других сервисах.
19 марта, 20:00 — 21:30
Домашние задания: 1
1 Сервисы Firebase.
Цель: +1 балл за попытку +1 балл за выполнение основного задания +1 балл за выполнения задания со звездочкой *
Тема 6: Сенсоры и геолокация
после занятия вы научитесь пользоваться различными сенсорами вашего устройства, получать координаты пользователя и работать с Google Maps.

Темы:
— Motion Sensors;
— Position Sensors;
— Environment Sensors;
— геолокация;
— Google Maps.
23 марта, 20:00 — 21:30
Лектор: Михаил Борисов
Реактивный подход, внедрение зависимостей
Тема 1: RxJava. Часть 1
концепция функционального программирования, Observable, Subscriber, основные операторы. После занятия вы сможете пользоваться самой мощной и популярной библиотекой для асинхронной работы приложения.

Темы:
— основные классы;
— операторы, Cold и Hot Observable;
— операторы создания;
— операторы смены и отмены потоков.
26 марта, 20:00 — 21:30
Лектор: Михаил Борисов
Тема 2: RxJava. Часть 2
после занятия вы сможете использовать библиотеку RxJava на полную мощность, обрабатывать ошибки и подписываться на изменение объектов и данных.

Темы:
— обработка ошибок;
— Backpressure;
— Subject;
— продвинутые операторы.
30 марта, 20:00 — 21:30
Домашние задания: 1
1 Добавление RxJava в проект.
1. Все запросы к сети переделайте на RxJava
2. Все запросы к БД переделайте на RxJava
3. * Добавьте в приложение поиск по фильмам в БД, используя RxJava

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 3: Dagger 2
после занятия вы сможете упростить и автоматизировать внедрение зависимостей в своём приложении, сделать своё приложение более тестируемым.

Темы:
— введение во внедрение зависимостей: Service Locator, Singleton;
— модули;
— компоненты;
— внедрение зависимостей в приложение: инжектим БД и Retrofit.
2 апреля, 20:00 — 21:30
Лектор: Михаил Борисов
Домашние задания: 1
1 Добавление Dagger2.
1. Все внедрение зависимостей в приложении сделайте с помощью Dagger2
2. Сделайте внедрение зависимостей во ViewModel через Dagger2 и фабрику
Тема 4: Koin
после занятия вы сможете использовать альтернативный DI-фреймоворк для Kotlin — Koin.
6 апреля, 20:00 — 21:30
Лектор: Дмитрий Кожевин
Тестирование и публикация
Тема 1: Тестирование в Android. Unit-тесты
принципы разработки тестируемых приложений, test driven development, Unit-тесты. После занятия вы сможете писать Unit-тесты для своего приложения и понимать основы тестируемых приложений.
16 апреля, 20:00 — 21:30
Лектор: Михаил Борисов
Тема 2: Интеграционное тестирование в Android
после занятия вы узнаете, что такое интеграционное тестирование, и сможете использовать фреймворки Mockito и Robolectric, создавать mock-объекты для тестирования.
20 апреля, 20:00 — 21:30
Тема 3: UI-тестирование в Android
после занятия вы сможете писать тесты для вашего интерфейса, используя фреймворк Espresso.
23 апреля, 20:00 — 21:30
Домашние задания: 1
1 Покрытие приложения тестами.
1. Добавьте как минимум 5 Unit тестов
2. Добавьте как минимум 3 Интеграционных теста
3. Добавьте UI тест для добавления фильма в избранное
4. Тесты должны использовать JUnit, Mockito, Robolectric, Espresso
5. * Добавьте UI тест для отображения списка фильмов и отображения ошибки в случае отсутствия интернета

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 4: Публикация приложения
builds, Flavors, Flavor dimensions, Play Store. После занятия вы сможете создавать различные версии своего приложения (например, платную и бесплатную версии), а также понимать, что требуется для публикации приложения в Play Store.

Темы:
— Builds and Flavors, flavor dimensions;
— публикация приложения в Play Store: как распространять приложения, как загружать приложения в маркет. Версии приложения, локализация и другие атрибуты приложения.
27 апреля, 20:00 — 21:30
Лектор: Дмитрий Кожевин
Домашние задания: 1
1 Gradle и публикация.
1. Создайте dev и production типы сборок для вашего приложения. В dev не должны отсылаться данные о крешах, аналитике и т.д., не должны выводиться логи. В production приложение должно подписываться ключом.
2. Добавьте flavors на свое усмотрение. Как вариант, это может быть платное \ бесплатное приложение (например, в бесплатном недоступны фавориты)
3 * Опубликуйте приложение в play store, поделитесь ссылкой с преподавателем
Проектная работа
Тема 1: Консультация по проекту
30 апреля, 20:00 — 21:30
Домашние задания: 1
1 Выбор проекта
Тема 2: Консультация по проекту
14 мая, 20:00 — 21:30
Тема 3: Защита проекта
25 мая, 20:00 — 21:30
Выпускной проект
На протяжении всего курса вы будете работать над приложением по поиску фильмов. Приложение будет включать в себя возможность поиска фильма или сериала, сортировки по контенту или ключевому слову. Будет содержать экраны с детальным описанием фильма, историей и любимыми фильмами. Также в приложении будет возможность поделиться с друзьями фильмом и мнением о нем, а также настройка уведомлений о выходе нового фильма или эпизода любимого сериала.

Последние 2 недели курса посвящены доработке проекта под руководством преподавателя, что позволит вам получить качественное портфолио.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Unit-тестирование в Android
Денис Журавлев
День открытых дверей
17 декабря 2019 года в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

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

  • сохраните пример разработанного приложения;

  • получите сертификат о прохождении курса;

  • получите приглашение пройти собеседование в компаниях-партнерах (эту возможность получают самые успешные студенты).

Дата выдачи сертификата: 1 октября 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Android-разработчик. Базовый курс»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Android-разработчик. Базовый курс»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
В кредит: ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
27 марта