0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><ul><li><a>Миграция с LiveData на Kotlin’s Flow</a></li>
1
<ul><ul><li><a>Миграция с LiveData на Kotlin’s Flow</a></li>
2
<li><a>Всё о PendingIntents</a></li>
2
<li><a>Всё о PendingIntents</a></li>
3
</ul><li><a>Android Vitals - Почему запустился мой процесс?</a><ul><li><a>Погружаемся в Compose-Verse - руководство по Jetpack Compose для начинающих: управление состоянием</a></li>
3
</ul><li><a>Android Vitals - Почему запустился мой процесс?</a><ul><li><a>Погружаемся в Compose-Verse - руководство по Jetpack Compose для начинающих: управление состоянием</a></li>
4
<li><a>Полное руководство по тестовым дублерам в Android - Часть 1: Теория</a></li>
4
<li><a>Полное руководство по тестовым дублерам в Android - Часть 1: Теория</a></li>
5
<li><a>Линтинг в Kotlin: полное руководство по настройке и эксплуатации</a></li>
5
<li><a>Линтинг в Kotlin: полное руководство по настройке и эксплуатации</a></li>
6
</ul></li>
6
</ul></li>
7
<li><a>Записи открытых уроков курса OTUS "Android Developer. Professional":</a></li>
7
<li><a>Записи открытых уроков курса OTUS "Android Developer. Professional":</a></li>
8
</ul><h3><a>Миграция с LiveData на Kotlin’s Flow</a></h3>
8
</ul><h3><a>Миграция с LiveData на Kotlin’s Flow</a></h3>
9
<p>LiveData была нужна нам еще в 2017 году. Паттерн наблюдателя облегчил нам жизнь, но такие опции, как RxJava, в то время были слишком сложными для новичков. Команда Architecture Components создала LiveData: очень авторитетный класс наблюдаемых хранилищ данных, разработанный для Android. Он был простым, чтобы облегчить начало работы, а для более сложных случаев реактивных потоков рекомендовалось использовать RxJava, используя преимущества интеграции между ними.</p>
9
<p>LiveData была нужна нам еще в 2017 году. Паттерн наблюдателя облегчил нам жизнь, но такие опции, как RxJava, в то время были слишком сложными для новичков. Команда Architecture Components создала LiveData: очень авторитетный класс наблюдаемых хранилищ данных, разработанный для Android. Он был простым, чтобы облегчить начало работы, а для более сложных случаев реактивных потоков рекомендовалось использовать RxJava, используя преимущества интеграции между ними.</p>
10
<h3><a>Всё о PendingIntents</a></h3>
10
<h3><a>Всё о PendingIntents</a></h3>
11
<p>PendingIntent являются важной частью фреймворка Android, но большинство доступных ресурсов для разработчиков сосредоточены на деталях их имплементации - "ссылка на токен, поддерживаемый системой" - а не на их использовании.</p>
11
<p>PendingIntent являются важной частью фреймворка Android, но большинство доступных ресурсов для разработчиков сосредоточены на деталях их имплементации - "ссылка на токен, поддерживаемый системой" - а не на их использовании.</p>
12
<p>Поскольку Android 12 содержит важные нововведения в отношении отложенных намерений, включая определение того, является ли PendingIntent изменяемым или неизменяемым, я подумал, что будет полезно рассказать о том, что делают отложенные намерения, как система использует их, и почему вам иногда может понадобиться изменяемый PendingIntent.</p>
12
<p>Поскольку Android 12 содержит важные нововведения в отношении отложенных намерений, включая определение того, является ли PendingIntent изменяемым или неизменяемым, я подумал, что будет полезно рассказать о том, что делают отложенные намерения, как система использует их, и почему вам иногда может понадобиться изменяемый PendingIntent.</p>
13
<h2><a>Android Vitals - Почему запустился мой процесс?</a></h2>
13
<h2><a>Android Vitals - Почему запустился мой процесс?</a></h2>
14
<p>Эта серия статей посвящена мониторингу производительности и стабильности работающих Android-приложений. В прошлой статье я писал о том, как <a>определить, является ли запуск приложения холодным</a>.</p>
14
<p>Эта серия статей посвящена мониторингу производительности и стабильности работающих Android-приложений. В прошлой статье я писал о том, как <a>определить, является ли запуск приложения холодным</a>.</p>
15
<h3><a>Погружаемся в Compose-Verse - руководство по Jetpack Compose для начинающих: управление состоянием</a></h3>
15
<h3><a>Погружаемся в Compose-Verse - руководство по Jetpack Compose для начинающих: управление состоянием</a></h3>
16
<p>Какое бы Android-приложение мы ни собирались создать, нам в любом случае нужно будет управлять состоянием, поэтому понимание того, как лучше всего это делать, является очень важным. К счастью, существует Jetpack Compose, который предлагает нам простые и интуитивно понятные способы управления состоянием наших приложений.</p>
16
<p>Какое бы Android-приложение мы ни собирались создать, нам в любом случае нужно будет управлять состоянием, поэтому понимание того, как лучше всего это делать, является очень важным. К счастью, существует Jetpack Compose, который предлагает нам простые и интуитивно понятные способы управления состоянием наших приложений.</p>
17
<p>Jetpack Compose является декларативным, вследствие чего единственный способ обновить composable - это вызвать или пересоздать тот же composable с новыми аргументами. Аргументы, которые мы передаем composable, зачастую представляют собой состояние, которое мы хотим показать пользователю. Поэтому всякий раз, когда состояние изменяется, мы просто перерисовываем наш composable с новыми аргументами.</p>
17
<p>Jetpack Compose является декларативным, вследствие чего единственный способ обновить composable - это вызвать или пересоздать тот же composable с новыми аргументами. Аргументы, которые мы передаем composable, зачастую представляют собой состояние, которое мы хотим показать пользователю. Поэтому всякий раз, когда состояние изменяется, мы просто перерисовываем наш composable с новыми аргументами.</p>
18
<h3><a>Полное руководство по тестовым дублерам в Android - Часть 1: Теория</a></h3>
18
<h3><a>Полное руководство по тестовым дублерам в Android - Часть 1: Теория</a></h3>
19
<p>Независимо от технологий и продуктов, с которыми вы работаете, знание того, как использовать тестовые дублеры (test doubles), имеет основополагающее значение для любой стратегии автоматизированного тестирования. В частности, при работе с неинструментальными тестами в Android использование такого рода ресурсов становится еще более важным. По сути, концепция тестовых дублеров довольно проста, но большое количество доступных именований, определений и инструментов неминуемо вызывает путаницу в сообществе разработчиков. Вы наверняка уже слышали что-то вроде этого:</p>
19
<p>Независимо от технологий и продуктов, с которыми вы работаете, знание того, как использовать тестовые дублеры (test doubles), имеет основополагающее значение для любой стратегии автоматизированного тестирования. В частности, при работе с неинструментальными тестами в Android использование такого рода ресурсов становится еще более важным. По сути, концепция тестовых дублеров довольно проста, но большое количество доступных именований, определений и инструментов неминуемо вызывает путаницу в сообществе разработчиков. Вы наверняка уже слышали что-то вроде этого:</p>
20
<ul><li>"Нам просто нужно мокнуть эту зависимость, и все будет работать нормально"</li>
20
<ul><li>"Нам просто нужно мокнуть эту зависимость, и все будет работать нормально"</li>
21
<li>"Избегайте моков!"</li>
21
<li>"Избегайте моков!"</li>
22
<li>"Моки или стабы?"</li>
22
<li>"Моки или стабы?"</li>
23
<li>"Предпочитаю мокам фейки"</li>
23
<li>"Предпочитаю мокам фейки"</li>
24
</ul><p>Можете мне не верить, но приведенные выше высказывания могут быть истолкованы совершенно по-разному, если мы не знаем точных определений. Если вы никогда не слышали о тестовых дублерах или хотите углубиться в эту тему, то эта статья для вас!</p>
24
</ul><p>Можете мне не верить, но приведенные выше высказывания могут быть истолкованы совершенно по-разному, если мы не знаем точных определений. Если вы никогда не слышали о тестовых дублерах или хотите углубиться в эту тему, то эта статья для вас!</p>
25
<h3><a>Линтинг в Kotlin: полное руководство по настройке и эксплуатации</a></h3>
25
<h3><a>Линтинг в Kotlin: полное руководство по настройке и эксплуатации</a></h3>
26
<p>Среди множества редакторов для разработки приложений под Android особенно выделяется Android Studio - это очевидный выбор большинства разработчиков не только потому, что это основной нативный редактор для разработки приложений, но и потому, что он предоставляет обширную оффлайн поддержку.</p>
26
<p>Среди множества редакторов для разработки приложений под Android особенно выделяется Android Studio - это очевидный выбор большинства разработчиков не только потому, что это основной нативный редактор для разработки приложений, но и потому, что он предоставляет обширную оффлайн поддержку.</p>
27
<p>Этот набор фич гарантирует, что код, который мы пишем для нашего Android-приложения, будет эффективным и полнофункциональным. Одним из инструментов, цель которого заключается в оказании такого рода поддержки, является Lint.</p>
27
<p>Этот набор фич гарантирует, что код, который мы пишем для нашего Android-приложения, будет эффективным и полнофункциональным. Одним из инструментов, цель которого заключается в оказании такого рода поддержки, является Lint.</p>
28
<p>Lint нужен для того, чтобы искать нетривиальные ошибки и плохо написанные фрагменты в вашем коде. В этой статье я расскажу вам о линтинге в Kotlin и о том, как его настроить и начать использовать.</p>
28
<p>Lint нужен для того, чтобы искать нетривиальные ошибки и плохо написанные фрагменты в вашем коде. В этой статье я расскажу вам о линтинге в Kotlin и о том, как его настроить и начать использовать.</p>
29
<h2>Записи открытых уроков курса OTUS<a>"Android Developer. Professional"</a>:</h2>
29
<h2>Записи открытых уроков курса OTUS<a>"Android Developer. Professional"</a>:</h2>
30
30