Вы научитесь писать приложения на Java и Kotlin, работать с графикой и анимацией, проводить тестирования. Вы также освоите командную разработку и подготовитесь к собеседованию на должность Android-разработчика.
Основы Android- разработки на Java
В первой четверти вы погрузитесь в язык программирования Java до уровня, необходимого для быстрого старта в разработке под Android. Познакомитесь с объектно-ориентированным программированием, исключениями, коллекциями и работой с сетью. Изучите механизмы работы с системой Android, разберете жизненный цикл приложения, получите навыки в верстке приложений. Узнаете, каким образом можно отображать информацию на экране устройства. Ознакомитесь с основными возможностями приложений на Android.
Видеокурс «Как учиться эффективно»
Расскажем, как спланировать обучение, чтобы сохранить интерес, получить максимум пользы и всё успеть. Вы узнаете, сколько времени уделять обучению, как эффективно выполнять практические задания, отслеживать прогресс и добиваться целей.
• Особенности обучения в Geek University
• Почему тяжело учиться?
• Инструменты для самообразования
• Учимся от компетенций
• Особенности обучения взрослых
• Постановка целей по SMART
• Как формулировать образовательный запрос
Java Core для Android
• Введение в Java
• Основные конструкции
• Практика: разбор примеров, как использовать базовые элементы Java
• Крестики-нолики в процедурном стиле
• Введение в ООП — объектно-ориентированное программирование
• Продвинутое ООП
• Практика ООП и работа со строками
• ООП Java
• Исключения
• Коллекции
• Обобщения
• Многопоточность в Java, часть 1. Разделяемая память, управление потоками, синхронизация. Взаимодействие потоков исполнения, взаимная блокировка.
• Многопоточность в Java, часть 2. Классы для работы с многопоточностью. Concurrent collections. Разбор примеров.
• Обзор средств разработки
Android 1. Знакомство с платформой
• Знакомство с Android
• Макеты приложений
• Активити. Жизненный цикл
• Ресурсы
• Интенты, активити
• Фрагменты
• Навигация через фрагменты. Основное меню. Боковое навигационное меню
• Списки. Списковые элементы
• Расширенные возможности списка. Контекстное меню. DatePicker
• Firestore и аутентификация через Google
• Диалоговые окна
Проект
Создание приложения для ведения заметок
Углубленное изучение Android на языке Kotlin
Во второй четверти вы получите продвинутые навыки разработки приложений под Android. Научитесь работать с основными компонентами приложения, создавать интерфейсы с элементами различной сложности и применять основы материального дизайна. Освоите выход в интернет и отправку запросов на удаленный сервер. Познакомитесь с push-уведомлениями, многопоточностью, получением данных через API и сохранением их в базу данных с помощью Room. Научитесь использовать возможности GPS-навигации и Google-карт.
Android на Kotlin
• Введение в Kotlin
• Архитектура приложения
• Типы данных, коллекции, null safety, дженерики и интерфейсы
• Функции высшего порядка, лямбды и extension-функции
• Выход в интернет
• Многопоточность и компоненты Android
• Получение данных и загрузка изображений
• Хранение данных в приложении
• Разрешения и Content Provider
• Геолокация и карты
• Push-нотификации
• Build types и принципы здорового разработчика
Android. Material design
• Шаблон проекта и обзор компонентов
• Темы приложения
• Навигация
• Макеты
• Анимации
• RecyclerView
• Работа с текстом
• Экран загрузки и UX-дизайн
Профессиональная разработка приложений
В третьей четверти рассказываем о профессиональных подходах в коммерческой Android-разработке. Вы изучите внедрение зависимостей, многопоточность на основе функционального программирования. Изучите наиболее востребованные библиотеки в разработке под Android: RxJava, Dagger 2, Moxy, Cicerone и другие. В завершении четверти вы освоите профессиональные подходы в разработке под Андроид, архитектуры приложения, используете библиотеку внедрения зависимостей Koin, освоите многопоточность с применением Coroutines. Получите понимание многомодульности проекта и научитесь применять темную тему в приложении.
Популярные библиотеки: RxJava 2, Dagger 2, Moxy
• Архитектура приложения. MVP
• MVP: реализация через Moxy, Cicerone
• Реактивное программирование, RxJava 2: введение
• RxJava 2: операторы
• Взаимодействие с сервером
• ORM и хранение данных
• Dependency Injection. Введение в Dagger 2
• Dagger 2: продолжение
• Две консультации, на которых будет разбор кода в ваших проектах и ответы на вопросы
Профессиональная разработка Android-приложений
• Архитектура приложения
• Архитектура MVVM
• Koin и корутины
• Picasso/Glide, Room
• Kotlin DSL и Многомодульность
• App bundle + Dynamic feature и In-app update, Консоль разработчика
• Scopes, Delegates, refactoring
• Android 10
Проект
Создание переводчика с английского на русский
Командная разработка и тестирование приложений, подготовка к собеседованию
Четверть начнется с погружения в тестирование приложений на стороне разработчика. Вы освоетесь со всеми основными видами тестов: Unit, инструментальные и UI-тесты с использованием соответствующих библиотек. Примените в работе Гибкие методологии в командной разработке приложения, систему контроля версий Git, ознакомитесь с принципами Continious Integration и Continious Delivery. Пройдете все этапы разработки приложения от идеи до релиза. В конце четверти вас ждет подготовка к техническому собеседованию на позицию Middle-разработчика. Вы получите знания и навыки, необходимые для старта карьеры в IT-компании.
Тестирование
В течение этого курса студенты:
- Ознакомятся со всеми видами тестирования на платформе Андроид
Освоятся на практике с:
- Принципами TDD (Test Driven Development)
- Unit-тестами
- Инструментальными тестами
- Интеграционными тестами и тестами UI
- Тестированием компонентов Андроид и отдельных библиотек
- Основными инструментами и библиотеками, необходимыми для эффективного тестирования своего приложения
К концу курса студенты также приобретут все необходимые навыки для написания тестов для всех элементов приложения и покрытия тестами всех компонентов своего проекта.
- Введение в тестирование
- Unit-тесты и Mockito
- Robolectric
- Espresso
- UI Automator
- Вспомогательные инструменты тестирования
- Тестирование Фрагментов и списков
- Многопоточность и архитектурные компоненты
Командная разработка Android-приложения
- Основные цели командной разработки. Постановка цели проекта
- Технология SCRUM
- Планирование
- Ревью кода. Парное программирование. Ежедневный митинг. Ретроспектива
- Ревью кода. Принципы работы в Git
- Тестирование продукта. Ревью кода
- Непрерывная интеграция. Ревью кода
- Защита проекта. Тестирование
Подготовка к собеседованию Android-разработчика
- Основы: ООП, SOLID, паттерны, принципы разработки
- Вопросы по Java
- Вопросы по Kotlin
- Андроид-разработка
- Библиотеки
- Архитектура приложений
- Два собеседования студентов