Проходил 9 февраля 2018 года в 20:00

Открытый вебинар
Android: Android Studio и Android Virtual Device: Get Started

Открытый вебинар онлайн

«Android Studio и Android Virtual Device: Get Started» в рамках курса «Разработчик Android на Java», старт которого уже совсем скоро!
Занятие проведет преподаватель курса Семен Пилунц, который ознакомит слушателей со средой разработки Android Studio и Android Virtual Device (AVD) Manager и ее возможностями:
– создание и запуск первого приложения "Hello World";
– правильное отлаживание системы при помощи логов.
Также на занятии обсудим ряд подходов к проектированию приложений и реализации модулей.

Запись

О курсе

Разработчик Android
  • Знание элементов пользовательского интерфейса (UI) Android-приложений, новинок Material Design
  • Освоение функциональных подходов к построению архитектуры Android
  • Умение создавать легко поддерживаемые мобильные приложения
  • Владение современными способами организации тестирования
  • Освоение актуальных технологий: Dagger 2, Android Jetpack, RxJava 2, Retrofit, Firebase
  • Знание основных проблем Android-разработки и способов их решения
{{ employers_count }} {% pluralize employers_count 'работодатель' 'работодателя' 'работодателей' ...
Программа курса
Модуль 1
UI
Модуль 2
Архитектура
Модуль 3
Работа с данными
Модуль 4
Тестирование, облачные сервисы, публикация приложения
Модуль 5
Проектная работа
UI
В данном модуле рассматриваются элементы пользовательского интерфейса (UI) Android-приложений. Вы получите навыки формирования макетов Android-приложения, применения и кастомизации элементов UI.
Custom Views
По окончании занятия ученики начнут понимать, зачем нужны кастомные вью, научатся перегружать методы базовых виджетов для своих целей, использовать Canvas.
Домашние задания: 1
ДЗ
Custom Views. Написать SquareImageView.
*Написать CircleImageView.
Material Design Guidelines
По окончании занятия участники смогут понимать принципы Material Design, следовать Material Design Guidelines, пользоваться элементами support библиотеки.
ButterKnife, Android Data Binding
По окончании занятия участники смогут подключать библиотеку ButterKnife, работать с ней в модулях. Пользоваться плагином Exynap. Подключать Android Data Binding, работать с ViewModel. Работать с Android Data Binding со списками, листенерами.
Домашние задания: 1
ДЗ
ButterKnife, Android Data Binding. Написать два экрана с учетом Material Design Guidelines:
Экран 1 с ButterKnife запрашивает информацию о пользователе — имя, емейл, телефон. Когда все данные заполнены, активируется кнопка ""ОК"", которая ранее была заблокирована (отобразить это в дизайне). По нажатию на кнопку ""ОК"" открывается экран на Android Data Binding с моделью заполненного пользователя.
*Использовать в дизайне компоненты последней версии библиотеки support design.
Работа со стилями и атрибутами
По окончании занятия участники смогут писать иерархию стилей, создавать собственные атрибуты стилей, например, для шрифтов, уметь пользоваться Downloadable Fonts. Уметь выбирать правильные ресурсы для разных устройств.
Анимация
По окончании занятия участники будут знать и различать виды анимаций как изображений, так и лейаутов, в том числе и рисованные на Canvas, понимать значения атрибутов преобразований.
Домашние задания: 1
ДЗ
Анимация. Создать экран, выезжающий снизу, содержащий обычную пошаговую анимацию .
*Создать экран, выезжающий снизу, содержащий VectorDrawable c set из objectAnimator.
Navigation Drawer
По окончании занятия участники смогут создавать и кастомизировать Navigation Drawer.
CoordinatorLayout
По окончании занятия участники смогут использовать и понимать, как работает CoordinatorLayout, основные типы поведения при скролле.
Домашние задания: 1
ДЗ
CoordinatorLayout. Создать экран с текстом и плашкой заголовка, который при скролле скрывает плашку заголовка под тулбар.
*Создать экран с плашкой изображения с заголовком, который при скролле трансформирует плашку в тулбар.
ConstraintLayout
По окончании занятия участники смогут понимать проблему overdraw и ее основные причины, знать инструменты отладки рендеринга, уметь пользоваться ConstraintLayout.
Архитектура
В данном модуле вы познакомитесь с наиболее актуальными и функциональными подходами к построению архитектуры приложений, научитесь применять рассмотренные подходы на практике и реализовывать качественные, стабильные и протестированные приложения.
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
ДЗ
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
ДЗ
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
ДЗ
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
ДЗ
Firebase Realtime Database. Подключить Firebase Realtime Database к экранам сбора данных о пользователе.
*Подключить Firebase Cloud Messaging к экранам сбора данных о пользователе.
Тестирование
По окончании занятия участники смогут знать и различать локальные, инструментальные и UI тесты, понимать сам принцип тестирования приложения.
29 марта, 20:00 — 21:30
Домашние задания: 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
ДЗ
Добавление accessibility. Используя экраны сбора данных о пользователе, добавить accesibility к экрану о сборе данных и к экрану отображнения данных
Публикация приложения
По окончании занятия участники смогут научиться подписывать апк, публиковать приложение в Google Play в альфа, бета, и релиз версии.
15 мая, 20:00 — 21:30
Проектная работа
Данный модуль полностью посвящен проектной работе.
Вводное занятие. Определение темы проекта
По окончании занятия участники смогут определиться с темой проекта, получить понимание, какие ресурсы им необходимо использовать для работы.
29 мая, 20:00 — 21:30
Консультация. Промежуточные итоги
По окончании занятия участники получат комментарии относительно прогресса проектной работы, ответы на какие-то вопросы, рекомендации по реализации.
12 июня, 20:00 — 21:30
Финальное занятие. Сдача проекта
По окончании занятия участники получат разбор проектов, комментарии и оценку своей работы.
26 июня, 20:00 — 21:30