Подробная инструкция по использованию Kotlin Flow во ViewModel: внутренние особенности, правильная подписка на данные в UI и сравнение с LiveData, есть кейсы, в которых старый подход работает лучше.
https://bladecoder.medium.com/kotlins-flow-in-viewmodels-it-s-complicated-556b472e281a
https://bladecoder.medium.com/kotlins-flow-in-viewmodels-it-s-complicated-556b472e281a
Medium
Kotlin’s Flow in ViewModels: it’s complicated
LiveData is still your friend
При использовании Jetpack Compose пользовательский интерфейс строится по иным принципам, поэтому и привычные способы UI тестирования работать не будут. Разбираемся как писать UI тесты для Compose.
https://dmytroshuba.com/blog/jetpack-compose-ui-testing/
https://dmytroshuba.com/blog/jetpack-compose-ui-testing/
Dmytro Shuba
How to test Jetpack Compose UI
Android development has close ties with old good XML for UI development, but is it good enough to beat recently released Jetpack Compose?
Продолжая тему Drag & Drop, вспоминаем как реализовать подобную функциональность на классических View.
https://www.raywenderlich.com/24508555-android-drag-and-drop-tutorial-moving-views-and-data
https://www.raywenderlich.com/24508555-android-drag-and-drop-tutorial-moving-views-and-data
kodeco.com
Android Drag and Drop Tutorial: Moving Views and Data
Learn how to use Android’s drag-and-drop framework to enable an advanced gesture-based user experience.
Шпаргалка по KDoc, которая поможет покрыть документацией ваш код на Kotlin.
https://medium.com/@drflakelorenzgerman/documentation-with-kdoc-for-kotlin-android-a93c99dfe74
https://medium.com/@drflakelorenzgerman/documentation-with-kdoc-for-kotlin-android-a93c99dfe74
Medium
Documentation with KDoc for Kotlin/Android
Think about you’re creating a library and you want to publish it on Git, or even you’re writing your casual code on some project, you need…
Писали когда-нибудь библиотеки на Kotlin, публичные или для внутреннего использования? Помогите команде Kotlin разобраться с тем, как можно улучшить опыт авторов библиотек, пройдя небольшой опрос.
https://surveys.jetbrains.com/s3/an-kotlin-libraries-authors-survey
https://surveys.jetbrains.com/s3/an-kotlin-libraries-authors-survey
Jetbrains
Kotlin libraries authors research
Kotlin libraries authors research.
Погружаемся в детали работы процесса рекомпозиции в Jetpack Compose на реальном примере.
https://proandroiddev.com/understanding-re-composition-in-jetpack-compose-with-a-case-study-9e7d96d98095
https://proandroiddev.com/understanding-re-composition-in-jetpack-compose-with-a-case-study-9e7d96d98095
Medium
Understanding re-composition in Jetpack Compose with a case study
Tells the story how piece of code was examined to understand re-composition better.
После релиза, Hilt стал все чаще и чаще встречаться в проектах. Смотрим как мы можем тестировать код с его помощью.
https://medium.com/androiddevelopers/hilt-testing-best-practices-in-the-mad-skills-series-8186a57eee2c
https://medium.com/androiddevelopers/hilt-testing-best-practices-in-the-mad-skills-series-8186a57eee2c
Medium
Hilt Testing Best Practices in the MAD Skills series
Second episode of the Hilt MAD Skills series
Многие приложения используют OAuth протокол с двумя токенами, которые необходимо переодически обновлять. Решаем эту задачу с помощью OkHttp.
https://medium.com/@sumon.v0.0/okhttp-how-to-refresh-access-token-efficiently-6dece4d271c0
https://medium.com/@sumon.v0.0/okhttp-how-to-refresh-access-token-efficiently-6dece4d271c0
Medium
OkHttp: How to Refresh Access Token Efficiently
In token-based authentication, including OAuth, there are two tokens: an access token and a refresh token. Whenever you want to access a…
Charles позволяет в реальном времени смотреть и модифицировать сетевые запросы, которые использует ваше приложение, что очень удобно для дебага или тестирования. Полная инструкция по использованию инструмента в статье.
https://www.chaddha.me/streamlining-development-with-charles/
https://www.chaddha.me/streamlining-development-with-charles/
Большое исследование производительности Jetpack Compose по части скорости рендеринга контента.
https://engineering.premise.com/measuring-render-performance-with-jetpack-compose-c0bf5814933
https://engineering.premise.com/measuring-render-performance-with-jetpack-compose-c0bf5814933
Medium
Measuring Render Performance with Jetpack Compose
Measuring the render performance impact of Jetpack Compose across several common integration scenarios.
ADB мощный инструмент, который позволяет управлять подключенными устройствами и эмуляторами. Подборка полезных ADB команд: подключение к устройству, управление файлами, ввод данных, тестирование диплинков, запись видео и скриншоты.
https://proandroiddev.com/utilizing-adb-for-daily-tasks-b52a27715ee5
https://proandroiddev.com/utilizing-adb-for-daily-tasks-b52a27715ee5
Medium
Utilizing ADB for daily tasks
If you’re developing Android apps, you might often wonder how does our PC communicate with the Android devices when we debug. Well, the…
Пробовали писать скрипты на Kotlin, или, может, использовали Kotlin REPL? Поделитесь своим опытом, проблемами и юзкейсами – это поможет составить планы по их дальнейшей стабилизации!
https://surveys.jetbrains.com/s3/Kotlin-Scripting-Survey-gr
https://surveys.jetbrains.com/s3/Kotlin-Scripting-Survey-gr
Jetbrains
Kotlin Scripting Survey
Kotlin Scripting Survey.
Многие приложения при вставке ссылки умеют подтягивать красивое превью с изображением. Инструкция как сделать такое же в статье.
https://proandroiddev.com/how-to-create-a-preview-for-a-link-in-android-6906d0aa9e12
https://proandroiddev.com/how-to-create-a-preview-for-a-link-in-android-6906d0aa9e12
Medium
How to create a preview for a link in Android
With the development of messaging applications, starting from WhatsApp for Chat Groups, to Slack for workspaces, link sharing is a crucial…
LaunchedEffect
позволяет нам запускать корутины в Jetpack Compose, однако у этого подхода есть ограничения, такие как невозможность использования вне composable и управления жизненным циклом корутины. Исправить это призван rememberCoroutineScope
.https://proandroiddev.com/jetpack-compose-side-effects-ii-remembercoroutinescope-76104d7ff09
Medium
Jetpack Compose Side-Effects II — rememberCoroutineScope
Part I. Jetpack Compose Side-Effects — LaunchedEffect
История противостояния мобильных платформ и разработчиков приложений в задаче присваивания уникального ID пользователю, а также какие варианты есть у разработчиков на данный момент.
https://ehsanet.medium.com/android-unique-device-id-history-and-updates-7667b38e4ee2
https://ehsanet.medium.com/android-unique-device-id-history-and-updates-7667b38e4ee2
Medium
Android Unique Device ID: History and Updates
Getting a fixed ID is not straightforward anymore since Google wants to protect its users from unwanted tracking and privacy issues. The…
Новая серия MAD Skills, посвященная Hilt. В этой части разбираются внутренности библиотеки: что означают аннотации, какой код генерируется и как компоненты связываются между собой.
https://medium.com/androiddevelopers/mad-skills-series-hilt-under-the-hood-9d89ee227059
https://medium.com/androiddevelopers/mad-skills-series-hilt-under-the-hood-9d89ee227059
Medium
MAD Skills series: Hilt under the hood
Third episode of the Hilt MAD Skills series
21 сентября в 18 часов пройдет митап от Google и Android Broadcast. В программе – разбор обновлений в Android 12 и Jetpack Compose. Подключайтесь!
https://telp.cc/rCz
https://telp.cc/rCz
YouTube
Android 12 Митап от Google Россия и Android Broadcast - YouTube
Разработчики Clubhouse рассказывают, как они разрабатывали Android приложение за десять недель.
https://blog.clubhouse.com/shipping-clubhouse-on-android-in-10-weeks/
https://blog.clubhouse.com/shipping-clubhouse-on-android-in-10-weeks/
Clubhouse Blog
Shipping Clubhouse on Android in 10 Weeks
On my first day at Clubhouse, I set out to build our Android app from scratch. Casual. Building an Android app from scratch isn’t something you typically have the chance to do as an engineer — and doing it from zero to 100 in ten weeks with a tiny team
Учимся работать с модификаторами Swipeable и NestedScroll в Jetpack Compose на примере bottom sheet с вложенным скроллом.
https://proandroiddev.com/how-to-master-swipeable-and-nestedscroll-modifiers-in-compose-bb0635d6a760
https://proandroiddev.com/how-to-master-swipeable-and-nestedscroll-modifiers-in-compose-bb0635d6a760
Medium
How to master Swipeable and NestedScroll modifiers in Jetpack Compose
Material components are helpful, but sometimes the UI you want to build slightly varies from the platform’s default look, style or…
Google решила расширить функцию автоматического сброса runtime разрешений до устройств с Android 6 и выше. Обновление вступит в силу с декабря 2021 года.
https://android-developers.googleblog.com/2021/09/making-permissions-auto-reset-available.html
https://android-developers.googleblog.com/2021/09/making-permissions-auto-reset-available.html
Android Developers Blog
Making permissions auto-reset available to billions more devices
Posted by Peter Visontay, Software Engineer; Bessie Jiang, Software Engineer Contributors: Inara Ramji, Software Engineer; Rodrigo Farel...