Этот курс по Android-разработке подходит новичкам, предпринимателям и практикующим разработчикам. Вы изучите два языка, на которых создают большую часть приложений под Android, — Java и Kotlin. Также вы сможете самостоятельно проектировать логику работы мобильного приложения, верстать графические интерфейсы и адаптировать мобильные приложения под любые Android-устройства. В конце у вас будет более 100 решённых задач и приложение типа LinkedIn для портфолио.
Плотно поработаете с Java. Создадите консольный планировщик личных дел или менеджер задач, который сможет добавлять новую задачу в календарь, оповещать, сколько до неё осталось дней, показывать список дел, сортировать дела по важности, искать самое длительное задание.
Изучите принципы объектно-ориентированного программирования на Java. Разберёте принципы принятия решений в проектировании, научитесь использовать массивы и применять вспомогательные функции массивов, научитесь применять механизмы коллекций в Java и пакет java.util.Collection.
В этом модуле вас ждут десять видеолекций, которые помогут вам начать разговаривать на английском языке как настоящий разработчик.
Научитесь работать с системой Git и с GitHub, сможете публиковать свои домашние работы и уже в процессе обучения сформируете первое портфолио — работодатели часто просят показать примеры вашего кода именно на сервисе GitHub.
Познакомитесь с Kotlin — современным языком разработки Android-приложений. Он создан на основе Java, но более прост в работе. Узнаете, как перейти в разработке с Java на Kotlin в одном проекте, о совместимости языков, а также начнёте программировать на Kotlin.
На практике начнёте работу над итоговым проектом «Социальная сеть».
Получите опыт написания Unit-тестов, использования системы Continuous Integration. Перейдёте к особенности объектно-ориентированного программирования (ООП) в Kotlin.
Освоите навыки разработки Android-приложений. Познакомитесь с Android Studio, создадите первое мобильное приложение и изучите работу со списками, обработку событий, работу с дизайном, навигацией, Push-уведомлениями.
На практике сверстаете макеты постов, страниц профиля, чата и других элементов к вашему проекту.
Разберётесь в обработке событий в Android. На практике вам предстоит решить задачу дебаггинга и автотестирования чужого готового приложения, написать автотесты на своё приложение, создать CRUD — набор функций для работы с базой данных: создание постов, редактирование, просмотр списка, удаление.
Разберётесь в интеграции с серверной части и как работать с Push-уведомлениями. На практике научитесь подключать СУБД SQLite, использовать СУБД в качестве хранилища постов; отображать уведомления и Push-уведомления.
Перейдёте к более сложным задачам Android-разработки. Изучите интеграцию с backend, работу с протоколами передачи данных и продвинутые вопросы интеграции с сервером, а также работу с многопоточностью и Coroutines (корутины) — работу с облегченными потоками. Многопоточность — это принцип, при котором несколько блоков программы выполняются параллельно.
Поработаете с многопоточностью и интеграцией с серверной частью на продвинутом уровне. На практике освоите Coroutines — современные подходы для работы с многопоточностью. Научитесь загружать и отображать изображения к постам, аватарки с использованием библиотеки Glide и загрузкой изображений на backend. Добавите в приложение регистрацию, аутентификацию и восстановление пароля. Научитесь принимать Push-уведомления. Изучите фоновые сервисы: как подгружать данные даже при неактивном приложении.
Поработаете с анимациями в приложении. На практике создадите в проекте собственные View: статистику по социальным активностям «кто самый крутой автор» в формате прогрессов, диаграмм. Создадите также движущиеся прогрессы, круговые диаграммы с помощью добавления анимации, в том числе в собственные View.
Изучите интеграцию с геосервисами, работу с мультимедиа и возможности бесплатных сервисов Firebase от Google для реализации искусственного интеллекта.
На практике освоите новые фишки: посты «я тут был» с геолокацией и отметкой на картах Yandex Maps & Google maps, а также загрузку аудио/видео с камеры и их воспроизведение. Опубликуете приложение в Google Play: вручную и через Continuous Integration.
Приложение будет разработано на Kotlin.