Миграция с LiveData на Kotlin’s Flow

LiveData была нужна нам еще в 2017 году. Паттерн наблюдателя облегчил нам жизнь, но такие опции, как RxJava, в то время были слишком сложными для новичков. Команда Architecture Components создала LiveData: очень авторитетный класс наблюдаемых хранилищ данных, разработанный для Android. Он был простым, чтобы облегчить начало работы, а для более сложных случаев реактивных потоков рекомендовалось использовать RxJava, используя преимущества интеграции между ними.


Всё о PendingIntents

PendingIntent являются важной частью фреймворка Android, но большинство доступных ресурсов для разработчиков сосредоточены на деталях их имплементации — «ссылка на токен, поддерживаемый системой» — а не на их использовании.

Поскольку Android 12 содержит важные нововведения в отношении отложенных намерений, включая определение того, является ли PendingIntent изменяемым или неизменяемым, я подумал, что будет полезно рассказать о том, что делают отложенные намерения, как система использует их, и почему вам иногда может понадобиться изменяемый PendingIntent.


Android Vitals — Почему запустился мой процесс?

Эта серия статей посвящена мониторингу производительности и стабильности работающих Android-приложений. В прошлой статье я писал о том, как определить, является ли запуск приложения холодным.


Погружаемся в Compose-Verse — руководство по Jetpack Compose для начинающих: управление состоянием

Какое бы Android-приложение мы ни собирались создать, нам в любом случае нужно будет управлять состоянием, поэтому понимание того, как лучше всего это делать, является очень важным. К счастью, существует Jetpack Compose, который предлагает нам простые и интуитивно понятные способы управления состоянием наших приложений.

Jetpack Compose является декларативным, вследствие чего единственный способ обновить composable — это вызвать или пересоздать тот же composable с новыми аргументами. Аргументы, которые мы передаем composable, зачастую представляют собой состояние, которое мы хотим показать пользователю. Поэтому всякий раз, когда состояние изменяется, мы просто перерисовываем наш composable с новыми аргументами.


Полное руководство по тестовым дублерам в Android — Часть 1: Теория

Независимо от технологий и продуктов, с которыми вы работаете, знание того, как использовать тестовые дублеры (test doubles), имеет основополагающее значение для любой стратегии автоматизированного тестирования. В частности, при работе с неинструментальными тестами в Android использование такого рода ресурсов становится еще более важным. По сути, концепция тестовых дублеров довольно проста, но большое количество доступных именований, определений и инструментов неминуемо вызывает путаницу в сообществе разработчиков. Вы наверняка уже слышали что-то вроде этого:

  • «Нам просто нужно мокнуть эту зависимость, и все будет работать нормально»
  • «Избегайте моков!»
  • «Моки или стабы?»
  • «Предпочитаю мокам фейки»

Можете мне не верить, но приведенные выше высказывания могут быть истолкованы совершенно по-разному, если мы не знаем точных определений. Если вы никогда не слышали о тестовых дублерах или хотите углубиться в эту тему, то эта статья для вас!


Линтинг в Kotlin: полное руководство по настройке и эксплуатации

Среди множества редакторов для разработки приложений под Android особенно выделяется Android Studio — это очевидный выбор большинства разработчиков не только потому, что это основной нативный редактор для разработки приложений, но и потому, что он предоставляет обширную оффлайн поддержку.

Этот набор фич гарантирует, что код, который мы пишем для нашего Android-приложения, будет эффективным и полнофункциональным. Одним из инструментов, цель которого заключается в оказании такого рода поддержки, является Lint.

Lint нужен для того, чтобы искать нетривиальные ошибки и плохо написанные фрагменты в вашем коде. В этой статье я расскажу вам о линтинге в Kotlin и о том, как его настроить и начать использовать.


Записи открытых уроков курса OTUS «Android Developer. Professional»: