课程概况
Специализация поможет освоить современную Android-разработку. Вы изучите основные компоненты Android-приложения, средства многопоточности и архитектурные подходы.
Мы разберем следующие темы:
– IDE — Android Studio и система сборки — Gradle- Дебаг и логгирование
– Знакомство с основными сущностями Android-приложения
– Работа с Activity и Fragment
– Знакомство с элементами интерфейса — View, ViewGroup
– Работа со списками: RecyclerView
– Средства для обеспечения многопоточности в Android
– Работа с сетью с помощью Retrofit2/Okhttp3
– Базовое знакомство с реактивным программированием: RxJava2
– Работа с уведомлениями
– Работа с базами данных через Room
– MVP- и MVVM-паттерны
– Android Architecture Components
– Dependency Injection через Dagger2
– Clean Architecture
Для успешного освоения программы специализации необходимо знание C-подобного языка, понимание принципов объектно-ориентированного программирования, а также базовое знание Java.
包含课程
课程1
Быстрый старт в разработке Android-приложений
Мобильная разработка - одна из самых динамично развивающихся отраслей IT индустрии. Тенденция к этому, несомненно, сохранится. В этих реалиях умение писать мобильные приложения это лишь малая часть профессиональной разработки. Нужно уметь писать красивый отказоустойчивый код с понятной чистой архитектурой и полным разделением логики. Код, который будет понятен как книга любому читателю. Так же, необходимо знать все современные подходы разработки Android приложений, разбираться в хороших и плохих "новинках" Android разработки. Обо всем этом вы узнаете при прохождении нашего курса. Если вы хотите быть модным, современным и профессиональным Android-разработчиком, то вы обязаны пройти этот курс!Курс создан для тех, кто хочет начать разрабатывать Android - приложения. Соответственно, задачи курса:
1) Познакомить с платформой Android.
2) Познакомить с интегрированной средой разработки - Android Studio.
3) Разобраться в структуре проекта.
4) В общем изучить компоненты Android приложения.
5) Изучить UI составляющую приложений - Activity, Fragment, их жизненный цикл.
6) Изучить элементы интерфейса, предоставляемые Android SDK.
7) Разобраться с хранением простых строковых данных в файлах Preferences.
课程2
Многопоточность и сетевое взаимодействие в Android
Вы уже умеете работать с такими базовыми и простыми сущностями, как:Context, xml, Activity, Fragment, SharedPreferences, различные View и так далее. Но этого не достаточно, чтобы написать хоть какое-то приложение, которое будет востребовано на рынке. В этом курсе мы:
* Рассмотрим как можно грамотно выстроить взаимодействие с многопоточностью в приложении
* Вспомним про инструменты и классы для работы с многопоточности из Java : Thread, Runnable, Callable, Future, Executors
* Рассмотрим работу инструментов для обеспечения многопоточности в Android AsynсTask, паттерн HaMeR, он же Handler-* * * Message-Runnable, Loader, ContentProvider
* Научимся правильно работать со списками
* Познакомимся с Room, чтобы вы имели представление о том, как должна происходить работа с БД.
* Научимся работать с сетью, расскажем и покажем стандарты в нашей области - okhttp3 и retrofit2
* Познакомим вас с миром реактивного программирования.
课程3
Архитектура Android-приложенийВ этом блоке мы и займемся изучением распространенных архитектурных подходов.Мы изучим MVP и MVVM, сначала свои реализации, а потом с помощью специальных библиотек , Moxy и архитектурных компонентов. Изучим внедрение зависимостей, что это такое и зачем оно нужно.
Разберем библиотеки, помогающие с DI , это Dagger2 и Toothpick.
В конце концов разберем парадигму Clean Architecture, она же Чистая архитектура, которая задает жесткие рамки для разработчика, но в то же время награждает его абсолютным контролем над проектом.
课程项目
В течение специализации мы разберем 2 проекта. Первый проект - простое клиент-серверное приложение, написанное с нуля, в котором будут рассмотрены основные элементы интерфейса. Второй проект - создан авторами, ваша задача будет применить к нему различные архитектурные подходы.
Помимо больших проектов, описанных ранее, в специализации присутсвтуют маленькие проекты, которые показывают тот или иной механизм платформы Android