[Udemy] Android профессиональный уровень. Kotlin (Андрей Сумин)
?
Подготовка к собеседованию на должность Junior Android Developer
Описание
Этот курс предназначен для тех, кто уже изучил основы Андроид разработки и умеет писать код на Котлине.
Здесь мы изучим все, что нужно, чтобы пройти собеседование по части Андроид на должность Junior разработчика в большинстве компаний.
Перед тем, как приступить непосредственно к изучению андроид разработки, мы пройдем процесс подготовки, где научимся работать как на реальной работе, во-первых узнаем, что такое Git Flow, во-вторых научимся пользоваться дебаггером, чтобы вы могли без проблем находить проблемы в своем или чужом коде, и в третьих научимся работать с незнакомым проектом, который писали другие разработчики.
Это нужно, чтобы вы представляли, что вас ждет после устройства на работу, могли самостоятельно решать возникающие проблемы и не боялись браться за проекты, в которых уже написано много кода.
Дальше вас ждет много разделов, в которых мы будем изучать что-то новое, либо более глубоко разбираться в уже знакомых темах.
В отличие от курсов для начинающих, здесь мы будем писать код не просто, чтобы приложение работало, но чтобы код был легко читаемый и расширяемый, так как это принято делать в крупных проектах с использованием принципов чистой архитектуры.
Мы подробно разберем работу RecyclerView, научимся оптимизировать его работу, добавлять анимации, научимся работать с фрагментами, поработаем с библиотекой Android Jetpack – ViewBinding, DataBinding, Navigation и WorkManager, изучим корутины, инъекцию зависимостей через даггер, рассмотрим основные компоненты Андроид – сервисы, бродкаст ресиверы и контент провайдеры. И многое другое
Как и в предыдущих моих курсах теории здесь будет мало, в основном практика, поэтому обязательно выполняйте все задания, чтобы материал был усвоен хорошо и вы без проблем смогли пройти собеседование на должность джуниор разработчика.
Программа:
1. Введение
Введение
2. Подготовка к работе
Введение в GIT
Установка GIT и работа по GIT Flow
Работа над незнакомым проектом
Работа с debugger-ом
3. Введение в Clean Architecture
Обзор разрабатываемого приложения ShoppingList
Краткий обзор Clean Architecture
Domain-слой. Часть 1
Domain-слой. Часть 2
Data-слой
Presentation-слой. Часть 1. ViewModel
Presentation-слой. Часть 2. Автообновление списка.
4. RecyclerView
Макеты для ShoppingList
Реализация списков через LinearLayout
Зачем нужен ViewHolder
Баги при использовании RecyclerView
ViewType и RecycledViewPool
Добавление слушателей
Проблемы при использовании notifyDataSetChanged
Реализация через DiffUtil и простой адаптер
Реализация через ListAdapter
Собеседование по RecyclerView
5. Работа над вторым экраном приложения
Макеты для ShopItemAcitivity
Создание ShopItemViewModel
Завершение работы над ShopItemViewModel
Фабричные методы newIntent
Завершение работы над ShopItemActivity
6. Фрагменты
Зачем нужны фрагменты
Установка фрагмента на экране ShopItemActivity
Параметры во фрагменте и LifecycleOwner
Методы require и get, работа с FragmentManager
Правильная передача параметров во фрагмент
Работа с бэкстэком, методы add и replace
Взаимодействие Activity с фрагментом
Жизненный цикл фрагментов
Собеседование по теме Фрагменты
7. Android Jetpack
Обзор приложения Состав числа
Проектирование Domain-слоя
Реализация Domain-слоя
Реализация Data-слоя
Ресурсы для приложения
View Binding
Навигация через FragmentManager
Parcelable vs Serializable
Реализация GameViewModel
Реализация GameFragment
ViewModelFactory
Jetpack Navigation. Часть 1. Создание графа
Jetpack Navigation. Часть 2. Реализация навигации
Jetpack Navigation. Часть 3. SafeArgs