Открытый вебинар «Android: Android Studio и Android Virtual Device: Get Started» 09.02.2018 в 20:00 | OTUS >
🔥 Учись выгодно в Отус!
-10% на все курсы июня до 6.07 ! →
Выбрать курс
+7 499 938-92-02
Проходил 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-разработки и способов их решения




Подробное изучение UI …
Программа курса
Модуль 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. Сохранение состояния
По окончании занятия участники смогут понимать разницу в жизненном цикле активити и фрагмента, их нагрузки на память, уметь связывать вью с жизненным циклом фрагмента или активити. Знать основные способы сохранения состояния.
Философия Clean, MVP, MVVM
По окончании занятия участники смогут знать и отличать основные паттерны программирования, понимать суть философии Clean.
Android Jetpack, обзор Navigation
По окончании занятия участники смогут понимать принцип Android Jetpack, знать основные составляющие каждого из 4-х компонентов, иметь представление о работе Navigation.
Services. WorkManager
По окончании занятия участники смогут различать основные типы сервисов, понимать, что такое WorkManager, управлять критериями запуска задачи, уметь выставлять последовательность выполнения, управлять передачей и получением данных.
Домашние задания: 1
ДЗ
Services. WorkManager. Создать задачу уведомления пользователя о низком заряде батареи.
*Создать задачу уведомления пользователя о его геолокации раз в минуту с возможностью отмены задачи из уведомления.
Работа с потоками. RxJava 2, RxAndroid — часть 1, ViewModel + LiveData
По окончании занятия участники смогут различать инструменты работы с потоками (Runnable, Handler, Looper), ознакомиться с основными принципами RxJava, различать виды операторов. Ознакомиться с RxAndroid. Знать и отличать виды LiveData, пользоваться в комбинации с ViewModel.
RxJava 2, RxAndroid — часть 2, RxLifecycle + RxPermission
По окончании занятия участники смогут понимать и уметь обрабатывать работу в потоках, подписку, знать разницу между Hot and Сold Observable, уметь пользоваться RxLifecycle + RxPermission.
Depenency Injection: Dagger 2 — часть 1
По окончании занятия участники смогут понимать основной принцип работы Dependency Injection, Dagger, уметь настраивать компонент приложения.
Depenency Injection: Dagger 2 — часть 2
По окончании занятия участники смогут создавать наследование компонентов, будут знать, что такое BindsInstance, смогут организовывать работу с модулями приложения.
Домашние задания: 1
ДЗ
Depenency Injection — Dagger 2. На основании экранов о сборе данных пользователя из ДЗ к Модулю 1 создать вьюмодель с лайвдатой, отражающей состоянии кнопки ОК, observable, который следит за эдит-текстом емейла и при валидном значении публикует во вьюмодель состояние кнопки ""доступна"".
Кнопка подписана на лайвдату и меняет состояние "доступно-недоступно", а также дизайн в зависимости от значения.
У экрана есть DI-компонент, который провайдит вьюмодель.
Live Data
ознакомиться с LifecycleObserver, понять принцип работы LiveData, ознакомиться с типами LiveData
Работа с данными
В данном модуле рассматриваются проблемы и вопросы, возникающие при разработке современных клиент-серверных приложений, а также способы их решения.
SharedPreferences. Hawk
По окончании занятия участники смогут пользоваться SharedPreferences для записи и получения объектов, будут ознакомлены со сторонними библиотеками.
Broadcast Receiver, работа с уведомлениями
По окончании занятия участники смогут создавать и подписывать на активити глобальные и кастомные Broadcast Receiver, научатся отправлять и обрабатывать уведомления.
REST, Postman, Модели, использование Parcelable
По окончании занятия участники смогут понимать принципы REST, уметь работать с Postman, уметь создавать модели данных, знать, когда использовать Parcelable.
Retrofit, API-интерфейс
По окончании занятия участники смогут подключать библиотеку Retrofit, создавать и описывать API-интерфейс (Field, Query, QueryMap...).
Репозитории и интеракторы
По окончании занятия участники смогут понимать принцип паттерна Repository, уметь создавать репозитории и интеракторы, разделять бизнес-логику приложения.
Paging library
По окончании занятия участники научатся применять Paging library для постраничной загрузки данных и отображений их в RecyclerView.
Домашние задания: 1
ДЗ
Paging library. Создать загружаемый постранично (offset) список с использованием какого-либо API из источника: https://github.com/toddmotto/public-apis, используя материалы предыдущих уроков.
*Использовать компоненты Material Design при отображении данных (Material Card и т. д.).
SQLite, Realm
Цель занятия: По окончании занятия участники смогут понимать, как создаются таблицы SQL, знать и отличать методы, типы данных. Cмогут работать c SQLite в Андроид, ознакомятся с Realm, его отличием от SQLite и способу перехода
Room
По окончании занятия участники смогут пользоваться Room, знать, как осуществить переход с SQLite на Room.
Тестирование, облачные сервисы, публикация приложения
В данном модуле вы узнаете о способах организации тестирования мобильных приложений, познакомитесь с облачными сервисами и процессом публикации приложения в Маркете.
Firebase Cloud Messaging
По окончании занятия участники смогут настраивать уведомления в Android с помощью Firebase Cloud Messaging.
Fabric Crashalytics, KPI
По окончании занятия участники научатся настраивать крашалитику, KPI с помощью Fabric.
Firebase Realtime Database
По окончании занятия участники смогут подключать и пользоваться Firebase Realtime Database.
Домашние задания: 1
ДЗ
Firebase Realtime Database. Подключить Firebase Realtime Database к экранам сбора данных о пользователе.
*Подключить Firebase Cloud Messaging к экранам сбора данных о пользователе.
Утечка памяти в приложении
По окончании занятия участники смогут знать и различать инструменты отслеживания утечки памяти, основные причины утечки памяти.
Тестирование
По окончании занятия участники смогут знать и различать локальные, инструментальные и UI тесты, понимать сам принцип тестирования приложения.
Домашние задания: 1
ДЗ
Тестирование. JUnit, Mockito, Espresso, Robolectric. Используя экран из ДЗ к теме Paging Library, написать тесты к вьюмодели.
*Используя экран из ДЗ к теме Paging Library, написать API-тесты.
JUnit, Mockito, Espresso, Robolectric
По окончании занятия участники смогут знать и различать инструменты тестирования — JUnit, Mockito, Espresso, Robolectric.
Добавление accessibility
По окончании занятия участники смогут добавлять accessibility к своему приложению, писать accessibility сервисы.
Домашние задания: 1
ДЗ
Добавление accessibility. Используя экраны сбора данных о пользователе, добавить accesibility к экрану о сборе данных и к экрану отображнения данных
Проектная работа
Данный модуль полностью посвящен проектной работе.
Вводное занятие. Определение темы проекта
По окончании занятия участники смогут определиться с темой проекта, получить понимание, какие ресурсы им необходимо использовать для работы.
Домашние задания: 1
ДЗ
Проектная работа. Пожалуйста, опишите требования к проекту, над которым вы будете работать. Какие фичи вы планируете внедрить? Что является MVP в вашем проекте?
Публикация приложения
По окончании занятия участники смогут научиться подписывать апк, публиковать приложение в Google Play в альфа, бета, и релиз версии.
Консультация. Промежуточные итоги
По окончании занятия участники получат комментарии относительно прогресса проектной работы, ответы на какие-то вопросы, рекомендации по реализации.
Финальное занятие. Сдача проекта
По окончании занятия участники получат разбор проектов, комментарии и оценку своей работы.
Домашние задания: 1
ДЗ
Сдача проекта. Вам нужно сдать полностью готовый проект. Пожалуйста, помимо исходников, укажите:
- требования к проекту
- какой объем работ был выполнен
- что начали делать, но не успели закончить.