Курс: Разработка мобильных приложений под Android. Уровень 3
Продолжительность курса: 40 ак. ч.
Описание курса:
На занятиях вы расширите свои знания о платформе Android и современных библиотеках. Вы будете создавать мобильные приложения с использованием принципов реактивного программирования, научитесь тестировать и отлаживать конечный продукт
После изучения курса слушатель будет уметь:
• проводить рефакторинг «старого» кода с использованием современных архитектурных принципов
• подключать и вызывать из Android-приложения библиотеки, написанные на языках программирования C/C++
• владеть современным инструментарием тестирования мобильных приложений
• создавать современные мобильные приложения с использованием принципов реактивного программирования
• эффективно применять инструменты отладки мобильных приложений
Программа курса:
Модуль 1. Java refresher - lambdas, annotation, concurrency
• Новые возможности Java 8 и Java 7, необходимые для эффективного освоения материалов курса - лямбда выражения, аннотации, многопоточность
• Лабораторная работа. применение лямбда выражений
• Лабораторная работа. методы организации многопоточности в Java
Модуль 2. Организация многопоточности в Android
• Важные способы организации многопоточности, предоставляемые платформой Android
• Лабораторная работа. методы организации многопоточности в Android
Модуль 3. Лямбды в Android - Retrolambda
• По-умолчанию android не дает возможности использования лямбда-выражений. В занятии объясняется, как практически можно использовать лямбда-выражения в разработке под Android
Модуль 4. RxJava: избавление от "callback hell"
• В модуле объясняется, как подключить RxJava, как преобразовать имеющееся приложение под использование RxJava, какие типовые сценарии использования этой библиотеки применяются в Android
• Лабораторная работа. комплексирование обратных вызовов с помощью RxJava
• Лабораторная работа. обработка и фильтрация данных с помощью RxJava
• Лабораторная работа. организация многопоточности в Android с использованием RxJava
Модуль 5. REST A/B/C, Retrofit2 и OkHTTP
• В модуле рассказывается о типовых сценариях загрузки работы с удаленными источниками данных с применением шаблона REST
• Лабораторная работа. использование библиотек Retrofit2 и OkHTTP для реализации шаблона REST
Модуль 6. Архитектура Android приложений: MVP
• В модуле объясняется, что такое шаблон MVP и каким образом можно внедрить его в практику Android разработки
• Лабораторная работа. применение шаблона MVP для структурирования Android приложений
• Лабораторная работа. внедрение шаблона MVP
Модуль 7. Архитектура Android приложений: MVVM
• В модуле объясняется, что такое шаблон MVVM и как можно использовать его в разработке
• Лабораторная работа. применение шаблона MVVM
Модуль 8. Архитектура Android приложений: внедрение зависимостей через Dagger 2
• В модуле объясняется для чего используется Dagger 2 и в каких сценариях имеет смысл применять эту библиотеку
• Лабораторная работа. использование Dagger 2 для улучшения архитектуры приложения
Модуль 9. Тестирование - Espresso, Mockito, Roboelectric
• В лекции рассказывается про популярные инструменты для тестирования Android приложений
• Лабораторная работа. создание тестов с помощью Espresso, Mockito, Roboelectric
Модуль 10. Data Binding
• В модуле рассказывается о сравнительно новом инструменте, применяемом для "прозрачного" обновления уровня представления приложения и уровня данных
Модуль 11. Инструменты разработчика
• В модуле рассказывается о популярных инструментах Android разработки, используемых для целей отладки и настройки Android приложений
Модуль 12. Вызов кода на C/C++ с использованием NDK
• В модуле рассказывается о том, как можно подключить к Android приложению библиотеки, написанные на языках программирования C и C++
• Лабораторная работа. подключение разделяемых библиотек к Android приложению с использованием NDK
Модуль 13. Работа с данными через Realm, DBFlow, StorIO
• В модуле рассказывается о популярных библиотеках, используемых для организации объектной работы с хранилищем данных
• Лабораторная работа. использование библиотек Realm, DBFlow, StorIO
Модуль 14. Доставка сообщений с помощью Firebase Cloud Messaging
• В модуле рассказывается о популярном коммерческом средстве для организации обмена мгновенными сообщениями