В этом уроке создаем проект для работы с Compose; обсуждаем, что такое Composable функция и создаем свою простую функцию.
Jetpack Compose - новый, декларативный способ формирования UI. И это не ...
В этом уроке подключаем Hilt к проекту и используем его для инджекта объектов
На прошлом уроке мы на простом примере рассмотрели, как Hilt работает изнутри. Теперь давайте разберемся, как использовать ...
В этом уроке разбираемся, что именно делает Hilt под капотом.
Hilt помогает нам в использовании даггера. От нас требуется только помечать специальными Hilt-аннотациями наши Android сущности (Application, ...
В этом уроке узнаем, что такое граф компонентов и научим даггер создавать объекты с не пустым конструктором.
Совокупность всех объектов, которые умеет создавать компонент - это граф объектов компонента ...
В этом уроке я подробно расскажу о Dagger и его возможностях. Мы разберем, что такое Component и Module, подключим Dagger к проекту, и сделаем несколько простых примеров
Если вас интересует тема ...
В этом уроке подробно разберем как создать suspend функции. Также рассмотрим, можно ли блокировать поток, как корутина может потеряться и зачем нужно слово suspend.
В прошлом уроке мы подробно ...
В этом уроке разберем, что такое Continuation и как suspend функция приостанавливает код, не блокируя поток.
В прошлом уроке мы выяснили что Continuation помогает suspend функциям приостанавливать ...
В этом уроке начнем разбираться, что такое корутина и suspend функция.
Сложная тема
Не раз я слышал мнение, что официальная документация по корутинам сложна и представляет собой примерно ...
В этом уроке рассмотрим несколько общих и универсальных советов по производительности.
Чтобы меньше времени тратить на поиск источников проблем производительности, можно сразу писать оптимальный ...
В этом уроке поговорим о том, почему для приложения очень важна производительность, и обсудим общую схему поиска и устранения проблем. Я опишу пару случаев из моей практики и расскажу, о чем будет этот ...
В этом уроке разбираем экран TaskDetail (просмотр задачи) приложения TodoApp
Экран
Рассмотрим экран просмотра задачи. На этот экран мы можем попасть, нажав на задачу на экране ...
В этом уроке разбираем экран Tasks (список задач) приложения TodoApp
Экран
Рассмотрим экран со списком задач.
Функции экрана, которые мы будем разбирать:
1) Получение ...
В этом уроке я распишу, что будет в практических уроках.
Начинаем разборы практических примеров. Для начала распишу свое видение подачи материала.
Я буду брать интересные примеры на гитхабе и ...
В этом уроке рассмотрим как передать данные в задачу и как получить результат
Когда мы запускаем задачу, нам может понадобиться передать в нее данные и получить обратно результат. Давайте посмотрим, ...
В этом уроке рассматриваем, как запускать задачи в определенном порядке
Бывает необходимость запускать задачи в определенном порядке. Например, есть задача - скачать архив с файлами, распаковать ...
В этом уроке задаем критери для запуска задачи.
WorkManager позволяет нам задать критерии запуска задачи, например - включенный интернет на девайсе. Когда вы передадите такую задачу в WorkManager.enqueue, ...
В этом уроке рассмотрим вложенный граф, global action и deep link.
Вложенный граф - это граф, который может быть создан внутри другого графа.
Для этого надо выделить все destination, который ...
В этом уроке рассмотрим интеграцию Navigation Component c Overflow Menu, Navigation Drawer и BottomNavigationView.
Сначала сделаю небольшое дополнение к прошлым урокам. В них вся работа с NavController ...
В этом уроке разбираемся, как задавать параметры при навигации.
В графе у нас есть три основных объекта, у которых мы можем задавать параметры: это destination Fragment, destination Activity ...