- Регистрация
- 31 Дек 2017
- Сообщения
- 72,131
- Симпатии
- 1,701
Что даст вам этот курс
IT-компаниям сейчас очень не хватает опытных Android-разработчиков. На хороших специалистов ведется настоящая охота, и им готовы платить за работу до 300 тыс. рублей.
Если у вас уже есть опыт в программировании и вы хотите стать Android-разработчиком, — мы вам в этом поможем.
За время обучения вы:
- освоите язык программирования Java;
- научитесь профессионально создавать приложения под Android;
- подготовитесь к собеседованию на должность Android-разработчика;
- разработаете портфолио с использованием современных библиотек и фреймворков.
Вы освоите дополнительные главы в Android-разработке, которые дадут вам большое преимущество при устройстве на работу, и повысите уровень вашей зарплаты:
- Android Architecture Component;
- тестирование: TDD, UI-тестирование, Mockito, тестирование Rx-кода;
- современные фреймворки: RxJava, Dagger 2;
- Gradle;
- Material design.
Большое преимущество на собеседованиях за счет освоения продвинутых тем
Много практики и живого общения с преподавателями
Подготовка проекта для портфолио в течение всего курса
Минимальные знания
Обязательно:
- понимание принципов ООП;
- опыт программирования на любом объектно-ориентированном языке программирования.
- знакомство с языком Java;
- знание шаблонов проектирования;
- умение писать чистый код;
- навыки использования git.
Всё обучение проходит онлайн. Первый модуль по языку Java будет проходить в формате видео + онлайн-консультации с преподавателем. Весь остальной курс — в формате онлайн-вебинаров: общение с преподавателями и вашей группой в слаке курса, сдача домашних работ и получение обратной связи от преподавателя.
Вебинары идут дважды в неделю по 1,5 часа. Все вебинары сохраняются и в записи в вашем личном кабинете.
Домашнее задание выдается в среднем одно в неделю, а его выполнение занимает 3-5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.
Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту вы сможете задавать преподавателю в слаке или во время вебинаров.
Курс длится 5 месяцев, финальный месяц отводится для выполнения проектной работы до сдачи домашних заданий и вопросов преподавателям.
Выполнение проектной работы помогает усвоению практических навыков, а тема проекта отдельно выносится в сертификат. Во время работы над проектом студенты получают консультации и обратную связь от преподавателей в слаке группы и на проектных занятиях.
Увлекается 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-разработке с 2013 года. Разрабатывал приложения в небольших стартапах и огромных компаниях, работал в «СберТехе», руководил Android-разработкой в компании «Технократия».
На текущий момент руководит Android-разработкой в «Альфа-Банке». Оптимизирует процессы разработки и поставки фич, работает над тулингом, чтобы облегчить жизнь разработчикам.
Помимо Android-разработки, интересуется бэкенд-разработкой и DevOps-практиками. Любит решать алгоритмические задачи.
1. Подготовительный курс по Java
- Консультация по Java. Часть 1
- Консультация по Java. Часть 2
- Знакомство с Android Studio
- Главный компонент Android — Activity
- Интерфейс экрана. Базовые элементы
- Интерфейс экрана. Material design
- Интерфейс экрана. Использование стилей иресурсов
- Интерфейс экрана. Продвинутая верстка
- Интерфейс экрана. Виджеты
- Fragments
- Списки
- Выходим в интернет
- Полезные инструменты
- Компоненты Android. Часть 1
- Компоненты Android. Часть 2
- Компоненты Android. Часть 3
- Многопоточность в Android
- Тестирование в Android
- Тестирование для Android:Mockito
- Публикация приложения
- Архитектурные компоненты.Часть 1
- Архитектурные компоненты.Часть 2
- Архитектурные компоненты.Часть 3
- RxJava. Часть1
- RxJava. Часть2
- Dagger 2. Часть1
- Dagger 2. Часть2
- Тестирование
- Консультация по проекту
- Защита проектов
Первым делом вам нужно вам нужно будет самостоятельно пройти подготовительный курс по языку Java.
Вам предстоит посмотреть 12 видео-лекций общей длительностью 26 академических часов. Помимо видео-лекций у вас будет 2 онлайн-консультации с преподавателем.
Вы изучите следующие темы:
На этом занятии вы разберете все вопросы, которые возникли в процессе изучения подготовительного видео-курса по Java.
Тема 2: Консультация по Java. Часть 2:
На этом занятии вы разберете все вопросы, которые возникли в процессе изучения подготовительного видео-курса по Java.
2 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев
Вам предстоит посмотреть 12 видео-лекций общей длительностью 26 академических часов. Помимо видео-лекций у вас будет 2 онлайн-консультации с преподавателем.
Вы изучите следующие темы:
- Базовые синтаксические конструкции и операторы в Java
- Ссылочные типы данных и обработка ошибок
- Работа с массивами и строками
- Объектно-ориентированное программирование в Java
- Unit-тестирование
- Устройство платформы Java
- Сборка и упаковка Java-приложения
- Классы-контейнеры
- Исключения
- Работа с файлами.
На этом занятии вы разберете все вопросы, которые возникли в процессе изучения подготовительного видео-курса по Java.
Тема 2: Консультация по Java. Часть 2:
На этом занятии вы разберете все вопросы, которые возникли в процессе изучения подготовительного видео-курса по Java.
2 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев
В этом модуле вы познакомитесь с основами разработки под Android и освоите управление экраном, элементами экрана, научитесь создавать самые разнообразные экраны и интерфейсы в соответствии с рекомендациями Material Design от разработчиков платформы Android. Сможете создавать виджеты своего приложения на главном экране смартфона. В конце модуля у вас будет уже работающее приложение с базовым функционалом.
Тема 1: Знакомство с Android Studio
Новый проект, структура проекта, Gradle, отладка кода, Git.
После занятия вы сможете: создать и отладить новый проект в Android Studio, будете понимать структуру проекта, а также работать с системой контроля версий Git.
5 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев
Тема 2: Главный компонент Android — Activity
Жизненный цикл, сохранение состояния, переходы между Activity, Intent, Context.
После занятия вы сможете: создавать новые экраны и передавать между ними данные, запускать другие приложения из своего, сохранять данные экрана при его пересоздании, а также делиться данными из приложения с друзьями.
12 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
1 Начало работы над приложением по поиску фильмов. Создание проекта и страницы с фильмами.
Тема 3: Интерфейс экрана. Базовые элементы
View, View group, элементы интерфейса, меню экрана, панель навигации.
После занятия вы сможете: заполнять экраны графическими элементами (кнопки, выкидное меню, поля ввода, изображения и т.д.), создавать меню экрана и панель навигации.
16 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев
Тема 4: Интерфейс экрана. Material design
Material Design, элементы Material Design, анимация.
После занятия вы сможете: создавать элементы в стиле Material Design, управлять ими, а также выполнять простые анимации (изменение положения, прозрачности и ориентации).
1 Кнопка "пригласить друга". Добавление анимации. Добавление новых фильмов в приложение.
6. * Самостоятельно изучите такие элементы как chips, bottom sheet, floating action button
PS. Задание co звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 5: Интерфейс экрана. Использование стилей и ресурсов
Стили и темы, элементы управления, классификация ресурсов, векторы.
После занятия вы сможете: применять отдельные стили для всего приложения, конкретных экранов или элементов, создавать свои уведомления, создавать свою панель управления вверху экрана, а также узнаете, какие ресурсы в каких случаях использовать в своем приложении.
23 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 6: Интерфейс экрана. Продвинутая верстка
CoordinatorLayout, ConstraintLayout, DIalog.
После занятия вы сможете: использовать наиболее мощные и продвинутые контейнеры для верстки экранов, а также создавать кастомные диалоговые окна.
26 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
1 Улучшение UI приложения по поиску фильмов.
Тема 7: Интерфейс экрана. Виджеты
виджеты
После занятия вы сможете создавать разнообразные виджеты своего приложения на главном экране смартфона
30 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 8: Fragments
Жизненный цикл, FragmentManager, передача данных между Activity и Fragment’ом.
После занятия вы сможете: создавать экран в экране, несколько экранов рядом, передавать данные между несколькими экранами.
3 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
Переход на единственную Activity и несколько Fragments. Создание виджета.
Тема 9: Списки
RecyclerView, LayoutManager, Adapter, ViewHolder, ItemDecorator.
После занятия вы сможете: создавать списки и управлять ими, удалять и добавлять элементы, кастомизировать списки под свои нужды.
7 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
Создание механизма "избранных" фильмов.
Тема 1: Знакомство с Android Studio
Новый проект, структура проекта, Gradle, отладка кода, Git.
После занятия вы сможете: создать и отладить новый проект в Android Studio, будете понимать структуру проекта, а также работать с системой контроля версий Git.
5 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев
Тема 2: Главный компонент Android — Activity
Жизненный цикл, сохранение состояния, переходы между Activity, Intent, Context.
После занятия вы сможете: создавать новые экраны и передавать между ними данные, запускать другие приложения из своего, сохранять данные экрана при его пересоздании, а также делиться данными из приложения с друзьями.
12 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
1 Начало работы над приложением по поиску фильмов. Создание проекта и страницы с фильмами.
- Создайте проект
- Залейте проект на GitHub
- Добавьте описание проекта в заголовке и Read.те
- На первом экране своего приложения создайте несколько картинок с фильмами, к каждой картинке подпишите название фильма и добавьте кнопку "Детали”
- По нажатию на Детали - выделяйте другим цветом название выбранного фильма, открывайте новое окно, где показывайте картинку и описание фильма
- Сохраняйте выделение фильма при возвращении со второго экрана и при повороте экрана
- Добавьте кнопку "Пригласить друга" и отправляйте приглашение по вашему выбору (почта, смс, социальные сети)
- * Добавьте на втором экране checkbox "Нравится” и текстовое поле для комментария. Возвращайте значение чекбокса и текст комментария при переходе обратно на первый экран
Тема 3: Интерфейс экрана. Базовые элементы
View, View group, элементы интерфейса, меню экрана, панель навигации.
После занятия вы сможете: заполнять экраны графическими элементами (кнопки, выкидное меню, поля ввода, изображения и т.д.), создавать меню экрана и панель навигации.
16 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев
Тема 4: Интерфейс экрана. Material design
Material Design, элементы Material Design, анимация.
После занятия вы сможете: создавать элементы в стиле Material Design, управлять ими, а также выполнять простые анимации (изменение положения, прозрачности и ориентации).
1 Кнопка "пригласить друга". Добавление анимации. Добавление новых фильмов в приложение.
- Нарисуйте интерфейс первого и второго экранов в соответствии с вашими навыками
- Добавьте кнопку меню и перенесите туда функционал "Пригласить друга”
- Добавьте Navigation Drawer. Разместите там два пункта: О приложении и Главный экран
- Добавьте анимацию при нажатии на картинку фильма, после которой будет открываться описание фильма
- * Создайте новый экран "Добавить фильм" и добавьте в Меню кнопку добавления фильма, по нажатию на которую открывается новый экран.
6. * Самостоятельно изучите такие элементы как chips, bottom sheet, floating action button
PS. Задание co звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 5: Интерфейс экрана. Использование стилей и ресурсов
Стили и темы, элементы управления, классификация ресурсов, векторы.
После занятия вы сможете: применять отдельные стили для всего приложения, конкретных экранов или элементов, создавать свои уведомления, создавать свою панель управления вверху экрана, а также узнаете, какие ресурсы в каких случаях использовать в своем приложении.
23 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 6: Интерфейс экрана. Продвинутая верстка
CoordinatorLayout, ConstraintLayout, DIalog.
После занятия вы сможете: использовать наиболее мощные и продвинутые контейнеры для верстки экранов, а также создавать кастомные диалоговые окна.
26 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
1 Улучшение UI приложения по поиску фильмов.
- Добавьте snackbar или toast в свое приложение
- Используйте CoordinatorLayout или ConstraintLayout вместо текущих контейнеров
- Добавьте на главный экран CollapsingToolbar, и когда он в развернутом состоянии - отображайте в нем какой-то задний фон
- Перенесите весь хардкод в ресурсы приложения
- Примените собственные стили и темы в приложении
- Добавьте макет для приложения в ландшафтной ориентации
- Добавьте какое-нибудь изображение в векторе в ваше приложение
- Добавьте в NavigationDrawer пункт Выход и отображайте диалоговое окно выхода из приложения
- * Самостоятельно изучите такие элементы UI как BottomBar и BottomSheetDialogFragment
Тема 7: Интерфейс экрана. Виджеты
виджеты
После занятия вы сможете создавать разнообразные виджеты своего приложения на главном экране смартфона
30 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 8: Fragments
Жизненный цикл, FragmentManager, передача данных между Activity и Fragment’ом.
После занятия вы сможете: создавать экран в экране, несколько экранов рядом, передавать данные между несколькими экранами.
3 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
Переход на единственную Activity и несколько Fragments. Создание виджета.
- Переведите свое приложение на единственную Активити и несколько Фрагментов
- * Используйте для навигации между фрагментами NavigationDrawer, BottomNavigation или BottomAppBar
- * Используйте retain fragment без UI для сохранения состояния вашей Активити во время пересоздания
- * Создайте виджет для своего приложения
Тема 9: Списки
RecyclerView, LayoutManager, Adapter, ViewHolder, ItemDecorator.
После занятия вы сможете: создавать списки и управлять ими, удалять и добавлять элементы, кастомизировать списки под свои нужды.
7 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
Создание механизма "избранных" фильмов.
- Переведите ваше приложение на отображение списков
- Дополните функционал вашего приложения сохранением фильмов в список избранного (избранное пока храните в обычном Array List на уровне Активити).
- Создайте экран, где будет отображаться список Избранного. Сделайте так, чтобы в список можно было добавлять элементы и удалять их
- * Самостоятельно изучите ReciclerView.ltemAnimator, создайте свои собственные анимации
В этом модуле вы углубитесь в платформу Android, научитесь определять местоположение, хранить данные, выполнять задачи асинхронно и в фоновом режиме, принимать сообщения от операционной системы и писать тесты. Вы сможете загружать информацию и изображения из интернета, не отвлекая пользователя, управлять загрузкой в зависимости от состояния смартфона, хранить настройки приложения, пользовательские списки (например, история поиска и любимые фильмы). Покроете свое приложение тестами. А также сможете публиковать разные версии своего приложения в магазине приложений.
Тема 1: Выходим в интернет
OkHttp, Retrofit, Gson, Glide.
После занятия вы сможете: загружать данные из интернета и передавать данные на удаленный сервер, загружать изображения.
10 октября, 20:00 — 21:30 / Лектор: Денис Журавлев
Тема 2: Полезные инструменты
GPS и Location, Permissions, SharedPreferences.
После занятия вы сможете: определять местоположение телефона, использовать карты и навигацию, работать с пользовательскими разрешениями и сохранять данные на длительное время.
14 октября, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1
1 Получение информации о фильмах из публичного API. Добавление функционала по навигации до ближайшего кинотеатра.
Тема 3: Компоненты Android. Часть 1
Content Provider, SQLite.
После занятия вы сможете: обмениваться данными между приложениями и использовать базу данных для хранения больших объемов информации.
17 октября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 4: Компоненты Android. Часть 2
Service, работа в фоне и на переднем плане, Push.
После занятия вы сможете: запускать длительные задачи, такие как загрузка изображений, в фоновом режиме и продолжать выполнение длительных задач, даже если пользователь свернул приложение.
21 октября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
Добавление базы данных с фильмами в приложение.
Тема 5: Компоненты Android. Часть 3
BroadcastReceiver, LocalBroadcastReceiver.
После занятия вы сможете: принимать сообщения от операционной системы (например о подключении к wi-fi или к розетке), а также передавать сообщения внутри своего приложения.
24 октября, 20:00 — 21:30 / Лектор: Михаил Борисов
Тема 1: Выходим в интернет
OkHttp, Retrofit, Gson, Glide.
После занятия вы сможете: загружать данные из интернета и передавать данные на удаленный сервер, загружать изображения.
10 октября, 20:00 — 21:30 / Лектор: Денис Журавлев
Тема 2: Полезные инструменты
GPS и Location, Permissions, SharedPreferences.
После занятия вы сможете: определять местоположение телефона, использовать карты и навигацию, работать с пользовательскими разрешениями и сохранять данные на длительное время.
14 октября, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1
1 Получение информации о фильмах из публичного API. Добавление функционала по навигации до ближайшего кинотеатра.
- Подключите апи сервера с фильмами и скачивайте фильмы с сервера
- Используйте Glide для загрузки изображений
- Добавьте функционал позиционирования для вашего приложения: на отдельном экране отображайте наличие кинотеатров в городе, в котором находится пользователь
- Сохраняйте список избранного в SharedPreferences
- * Добавьте функционал навигации до ближайшего кинотеатра, используя API карт на ваш выбор
- * Продумайте, как будут загружаться фильмы, когда пользователь дойдет до конца списка, реализуйте свое решение
Тема 3: Компоненты Android. Часть 1
Content Provider, SQLite.
После занятия вы сможете: обмениваться данными между приложениями и использовать базу данных для хранения больших объемов информации.
17 октября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 4: Компоненты Android. Часть 2
Service, работа в фоне и на переднем плане, Push.
После занятия вы сможете: запускать длительные задачи, такие как загрузка изображений, в фоновом режиме и продолжать выполнение длительных задач, даже если пользователь свернул приложение.
21 октября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
Добавление базы данных с фильмами в приложение.
- Настройте базу данных в своем приложении и храните в ней все фильмы, ссылки на изображения
- При заходе пользователя в приложение - обновляйте данные по фильмам в вашей БД (удаляйте все данные, заменяя их на новые, но не чаще раза в день), а если БД обновлена - загружайте данные из нее, а не из интернета
- Загружайте данные в БД используя сервис
- Отображайте пуш-уведомление для пользователя, что данные в БД обновлены. При тапе на уведомление - открывайте главный экран приложения
- * Самостоятельно добавьте Swipe to refresh на главный экран, чтобы пользователь мог в любое время обновить данные (даже если в БД свежие данные)
- * Самостоятельно настройте отправку и получение пуш-уведомлений через Firebase Cloud Messaging
Тема 5: Компоненты Android. Часть 3
BroadcastReceiver, LocalBroadcastReceiver.
После занятия вы сможете: принимать сообщения от операционной системы (например о подключении к wi-fi или к розетке), а также передавать сообщения внутри своего приложения.
24 октября, 20:00 — 21:30 / Лектор: Михаил Борисов
Тема 1: Многопоточность в Android
Thread и AsyncTask, Handler и HandlerThread, Timer, AlarmManager, JobScheduler.
После занятия вы сможете: выполнять задачи приложения асинхронно и в фоновом режиме, выполнять задачи к определенному времени, а также подбирать способ асинхронного выполнения в соответствии с потребностями и контекстом.
28 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
1 Отслеживание событий "есть интернет/нет", "Есть wifi/нет". Добавление функционала напоминания о выходе нового фильма.
AlarmManager для напоминания о выходе новой серии или фильма
4. * Используйте JobScheduler для регулярной синхронизации данных с сервером
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 2: Тестирование в Android
Принципы разработки тестируемых приложений, test driven development, Unit-тесты.
После занятия вы сможете: писать Unit-тесты для своего приложения и понимать основы тестируемых приложений.
7 ноября, 20:00 — 21:30 / Лектор: Михаил Борисов
Тема 3: Тестирование для Android: Mockito
После занятия вы сможете: углубиться в тестирование и писать более обширные и сложные тесты для функционала приложения, создавать “моковые” объекты для тестирования.
11 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
Написание Unit-тестов для приложения.
Тема 4: Публикация приложения
Builds, Flavors, Flavor dimensions, Play Store.
После занятия вы сможете: создавать различные версии своего приложения (например, платная и бесплатная версии), а также понимать, что требуется для публикации приложения в Play Store.
14 ноября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
Публикация в Google Play.
Thread и AsyncTask, Handler и HandlerThread, Timer, AlarmManager, JobScheduler.
После занятия вы сможете: выполнять задачи приложения асинхронно и в фоновом режиме, выполнять задачи к определенному времени, а также подбирать способ асинхронного выполнения в соответствии с потребностями и контекстом.
28 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
1 Отслеживание событий "есть интернет/нет", "Есть wifi/нет". Добавление функционала напоминания о выходе нового фильма.
- Настройте BroadcastReceiver для получения событий: есть/нет интернета, есть/нет wi-fi
- Используйте JobScheduler для обновления БД
- Добавьте в ваше приложение функционал напоминания о выходе фильма или новой серии: пользователь должен ввести название фильма и дату, когда ему отобразится пуш-уведомление.
AlarmManager для напоминания о выходе новой серии или фильма
4. * Используйте JobScheduler для регулярной синхронизации данных с сервером
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 2: Тестирование в Android
Принципы разработки тестируемых приложений, test driven development, Unit-тесты.
После занятия вы сможете: писать Unit-тесты для своего приложения и понимать основы тестируемых приложений.
7 ноября, 20:00 — 21:30 / Лектор: Михаил Борисов
Тема 3: Тестирование для Android: Mockito
После занятия вы сможете: углубиться в тестирование и писать более обширные и сложные тесты для функционала приложения, создавать “моковые” объекты для тестирования.
11 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
Написание Unit-тестов для приложения.
- Напишите unit-тесты для своих классов, в том числе такие, которые используют Mockito
- * Покройте тестами все значимые части приложения
Тема 4: Публикация приложения
Builds, Flavors, Flavor dimensions, Play Store.
После занятия вы сможете: создавать различные версии своего приложения (например, платная и бесплатная версии), а также понимать, что требуется для публикации приложения в Play Store.
14 ноября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
Публикация в Google Play.
- Выложите приложение в Google Play и обновляйте его уже там
- * Подумайте, какой платный функционал может быть у вашего приложения и создайте для этого отдельный flavor
В этом модуле вы познакомитесь с актуальными подходами в проектировании приложения и со стеком библиотек, которые стали индустриальным стандартом в мобильной разработке. После завершения модуля вы сможете создавать приложения на профессиональном уровне, учитывая требования рынка и работодателей.
Тема 1: Архитектурные компоненты. Часть 1
Понятие и примеры архитектуры приложения, ViewModel, LiveData, LifeCycleOwner.
После занятия вы сможете: писать приложения в архитектурном паттерне MVVM и познакомитесь с архитектурными компонентами от разработчиков OS Android. Также вы будете понимать принципы построения архитектуры мобильных приложений
18 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев
Тема 2: Архитектурные компоненты. Часть 2
Room, DataBinding.
После занятия вы сможете: использовать библиотеки от разработчиков OS Android для хранения данных (база данных Room) и для обновления данных непосредственно в макете XML (библиотека DataBinding)
21 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
1 Переход на архитектурные компоненты. Обмен данными между фрагментами. Использвание DataBinding.
Тема 3: Архитектурные компоненты. Часть 3
WorkManager
После занятия вы сможете: выполнять любую фоновую или отложенную работу приложения в соответствии с видением разработчиков OS Android.
25 ноября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 4: RxJava. Часть 1
Концепция функционального программирования, Observable, Subscriber, основные операторы.
После занятия вы сможете: пользоваться самой мощной и популярной библиотекой для асинхронной работы приложения.
28 ноября, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1
WorkManager, Rx.
Тема 5: RxJava. Часть 2
onError, backpressure, Subject, продвинутые операторы.
После занятия вы сможете: использовать библиотеку RxJava на полную мощность, обрабатывать ошибки и подписываться на изменение объектов и данных.
2 декабря, 20:00 — 21:30 / Лектор: Михаил Борисов
Тема 6: Dagger 2. Часть 1
Основы: Module, Component.
После занятия вы сможете: упростить и автоматизировать внедрение зависимостей в своем приложении, сделать свое приложение более тестируемым.
5 декабря, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
Использование Rx и Dagger.
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 7: Dagger 2. Часть 2
Практическое занятие: ответы на вопросы и разбор домашнего задания
9 декабря, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 8: Тестирование
Тестируем Rx
Тестируем Dagger
12 декабря, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1
1 Покрытие приложения тестами.
1. Доработайте свои тесты, чтобы они учитывали все нововведения вашего приложения, включая Dagger и Rx
Тема 1: Архитектурные компоненты. Часть 1
Понятие и примеры архитектуры приложения, ViewModel, LiveData, LifeCycleOwner.
После занятия вы сможете: писать приложения в архитектурном паттерне MVVM и познакомитесь с архитектурными компонентами от разработчиков OS Android. Также вы будете понимать принципы построения архитектуры мобильных приложений
18 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев
Тема 2: Архитектурные компоненты. Часть 2
Room, DataBinding.
После занятия вы сможете: использовать библиотеки от разработчиков OS Android для хранения данных (база данных Room) и для обновления данных непосредственно в макете XML (библиотека DataBinding)
21 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
1 Переход на архитектурные компоненты. Обмен данными между фрагментами. Использвание DataBinding.
- Переведите свое приложение на архитектурные компоненты
- * Обменивайтесь данными между фрагментами или фрагментом и активити используя ViewModel
- * Используйте DataBinding в своем приложении
Тема 3: Архитектурные компоненты. Часть 3
WorkManager
После занятия вы сможете: выполнять любую фоновую или отложенную работу приложения в соответствии с видением разработчиков OS Android.
25 ноября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 4: RxJava. Часть 1
Концепция функционального программирования, Observable, Subscriber, основные операторы.
После занятия вы сможете: пользоваться самой мощной и популярной библиотекой для асинхронной работы приложения.
28 ноября, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1
WorkManager, Rx.
- Обновляйте БД с помощью WorkManager
- Выполняйте запросы в интернет используя Rx
- * Переведите все запросы в БД на Rx
- * Внедрите поиск по названию фильма в своем приложении и осуществляйте поиск на сервере или в БД через Rx
Тема 5: RxJava. Часть 2
onError, backpressure, Subject, продвинутые операторы.
После занятия вы сможете: использовать библиотеку RxJava на полную мощность, обрабатывать ошибки и подписываться на изменение объектов и данных.
2 декабря, 20:00 — 21:30 / Лектор: Михаил Борисов
Тема 6: Dagger 2. Часть 1
Основы: Module, Component.
После занятия вы сможете: упростить и автоматизировать внедрение зависимостей в своем приложении, сделать свое приложение более тестируемым.
5 декабря, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1
Использование Rx и Dagger.
- В запросах на сервер через Rx - учитывайте и обрабатывайте ошибки запросов корректно, учитывайте backpressure
- Используйте Даггер для инжекта SharedPreferences
- * Доработайте поиск по названию используя debounce
- * Самостоятельно изучите тему Scopes в Даггере, внедряйте ViewModel с помощью Даггера и разделите ваши
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.
Тема 7: Dagger 2. Часть 2
Практическое занятие: ответы на вопросы и разбор домашнего задания
9 декабря, 20:00 — 21:30 / Лектор: Дмитрий Кожевин
Тема 8: Тестирование
Тестируем Rx
Тестируем Dagger
12 декабря, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1
1 Покрытие приложения тестами.
1. Доработайте свои тесты, чтобы они учитывали все нововведения вашего приложения, включая Dagger и Rx
На протяжении всего курса вы будете работать над приложением по поиску фильмов. В конце курса у вас будет две недели на то, чтобы доработать ваше приложение в соответствии с запланированным функционалом, добавить новые фичи и отрефакторить код. В процессе доработки вы будете регулярно консультироваться с преподавателем и разбирать код своего приложения. В конце модуля у вас будет полноценное приложение, сделанное на профессиональном уровне и готовое к публикации.
Тема 1: Консультация по проекту
Тема 2: Защита проектов
13 января, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
1 Сдача проекта
Пожалуйста, сдайте:
Тема 1: Консультация по проекту
Тема 2: Защита проектов
13 января, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1
1 Сдача проекта
Пожалуйста, сдайте:
- ссылку на github-репозиторий с вашим проектом
- описание проекта
Скачать:
Для просмотра содержимого вам необходимо авторизоваться или зарегистрироваться.
Для просмотра содержимого вам необходимо авторизоваться или зарегистрироваться.
Вложения
-
199.3 KB Просмотры: 106
Последнее редактирование: