Android-разработчик с нуля

на Отзовике, IRecommend и TutorTop
Познакомитесь с базой программирования на Java, научитесь создавать свои типы и проектировать программы. При выполнении домашних заданиях напишете несколько консольных приложений, включая приложение наполнения корзины товаров в магазине.
9 часов теории
21 час практики
Введение в программирование на Java
Структура программы
Условные операторы и циклы
Типы данных в Java: примитивы
Типы данных в Java: примитивы
Типы данных в Java: объекты
Массивы одномерные
Массивы многомерные
Разбор вопросов по занятиям
Углубитесь в системы типов и объектно-ориентированное программирование, расширите инструментарий для работы с наборами данных. В домашних заданиях попрактикуетесь писать консольные программы и разрабатывать сложные типы данных, включая программу хранения телефонных контактов.
6 часов теории
51 час практики
Модификаторы доступа, наследование
Полиморфизм
Абстракции и интерфейсы
Исключения, Stacktrace
Разбор вопросов по занятиям
Generics в коллекциях и методах
Коллекции List
Коллекции HashSet и HashMap
Коллекции TreeMap и TreeSet
Коллекции Queue
Разбор вопросов по занятиям
Разработаете приложение для скачивания картинки по URL и конвертирования изображения в текстовую графику — текст из разных символов, которые в масштабе выглядят как изображение.
Научитесь работать с системой Git и с GitHub, сможете публиковать свои домашние работы и уже в процессе обучения сформируете первое портфолио — работодатели часто просят показать примеры вашего кода именно на сервисе GitHub.
4 часа теории
3 часа практики
Знакомство с системой контроля версий Git
Работа с локальным репозиторием в Git
Работа с удаленным репозиторием через GitHub
Командная работа в Git и GitHub. Часть 1
Командная работа в Git и GitHub. Часть 2
Вебинар с ответами на вопросы
Познакомитесь с Kotlin — современным языком разработки Android-приложений. Он создан на основе Java, но более прост в работе. Узнаете, как перейти в разработке с Java на Kotlin в одном проекте, о совместимости языков, а также начнёте программировать на Kotlin. На практике начнёте работу над итоговым проектом «Социальная сеть».
3 часа теории
9 часов практики
Рабочее окружение: Gradle, Plugins, IntelliJ IDEA
Отличия от Java: immutability, переменные, типы данных, операторы и приведение типов
Управляющие конструкции: if, switch, циклы. Работа с отладчиком
Получите опыт написания Unit-тестов, использования системы Continuous Integration. Перейдёте к особенности объектно-ориентированного программирования (ООП) в Kotlin.
3 часа теории
9 часов практики
Функции, автотесты и Continuous Integration
ООП: объекты и классы
ООП: композиция, наследование и интерфейсы
Разберёте продвинутые концепции программирования на Kotlin. На практике перейдёте к обработке нестандартных и исключительных ситуаций в вашем проекте.
5 часов теории
12 часов практики
Исключения
Generics и коллекции
Лямбды, extension-функции, операторы
Sequences
Разбор задач
Освоите навыки разработки Android-приложений. Познакомитесь с Android Studio, создадите первое мобильное приложение и изучите работу со списками, обработку событий, работу с дизайном, навигацией, Push-уведомлениями. На практике сверстаете макеты постов, страниц профиля, чата и других элементов к вашему проекту.
3 часа теории
12 часов практики
Android Studio, SDK, эмулятор и первое приложение
Ресурсы, View и ViewGroup
ConstraintLayout
Разберётесь в обработке событий в Android. На практике вам предстоит решить задачу дебаггинга и автотестирования чужого готового приложения, написать автотесты на своё приложение, создать CRUD — набор функций для работы с базой данных: создание постов, редактирование, просмотр списка, удаление.
5 часов теории
16 часов практики
Обработка событий в Android
Архитектура: MVVM
Отображение списков: RecyclerView
CRUD: списки, добавление, удаление, изменение
Разбор задач
Поработаете над дизайном приложения. Задачи на практике: • интеграция компонентов Material Design — перевёрстка приложения, работа с готовыми анимации из MD; • создание навигации: экран со списком — просмотр деталей.
4 часа теории
16 часов практики
Material Design
Intents и организация навигации (перемещение между Activity)
Хранение данных
Fragments, FragmentManager
JetPack Compose
Разберётесь в интеграции с серверной части и как работать с Push-уведомлениями. На практике научитесь подключать СУБД SQLite, использовать СУБД в качестве хранилища постов; отображать уведомления и Push-уведомления.
4 часа теории
12 часов практики
SQL и SQLite
Библиотека Room
Notifications & Pushes
Разбор задач
Перейдёте к более сложным задачам Android-разработки. Изучите интеграцию с backend, работу с протоколами передачи данных и продвинутые вопросы интеграции с сервером, а также работу с многопоточностью и Coroutines (корутины) - работу с облегченными потоками. Многопоточность - это принцип, при котором несколько блоков программы выполняются параллельно.
8 часов теории
28 часов практики
Интеграция с Backend: API, типичные формы интеграции
Сетевые запросы: Main Thread & Background
Многопоточность: потоки, проблемы общих данных
Примитивы синхронизации и специализированные структуры данных
Современные подходы работы с многопоточностью
Многопоточность в Android
Retrofit (CRUD)
Разбор задач
Поработаете с многопоточностью и интеграцией с серверной частью на продвинутом уровне. На практике освоите Coroutines — современные подходы для работы с многопоточностью. Научитесь загружать и отображать изображения к постам, аватарки с использованием библиотеки Glide и загрузкой изображений на backend. Добавите в приложение регистрацию, аутентификацию и восстановление пароля. Научитесь принимать Push-уведомления. Изучите фоновые сервисы: как подгружать данные даже при неактивном приложении.
8 часов теории
28 часов практики
Coroutines: легковесные потоки, Thread Pools & Dispatchers
Coroutines: Scop, Cancellation, Supervision
Coroutines в Android
Flow
Загрузка и отображение изображений
Регистрация, аутентификация и авторизация
Рассылка и приём Push-уведомлений
Разбор задач
На практике выстроите архитектуру приложения: выделите слои, разобьёте приложение по слоям. Используете Dagger: добавите в проект Dependency Injection.
4 часа теории
12 часов практики
Dependency Injection
Architecture Components. Часть 1
Architecture Components. Часть 2
RecyclerView — продвинутое использование
Поработаете с анимациями в приложении. На практике создадите в проекте собственные View: статистику по социальным активностям "кто самый крутой автор" в формате прогрессов, диаграмм. Создадите также движущиеся прогрессы, круговые диаграммы с помощью добавления анимации, в том числе в собственные View.
4 часа теории
16 часов практики
Custom Views - разработка собственных элементов интерфейса
Animations — создание анимаций. Часть 1
Animations — создание анимаций. Часть 2