Немного ретроспективы. 8 главных событий в Android разработке в ушедшем 2020 году, про Compose не забыли.
https://vladsonkin.com/8-best-things-for-android-development-in-2020/
https://vladsonkin.com/8-best-things-for-android-development-in-2020/
В Kotlin 1.3 появились inline классы, позволяющие уменьшить оверхед для классов оберток. Теперь для таких классов можно будет использовать init блок и приватные конструкторы.
https://msfjarvis.dev/posts/improvements-to-inline-classes-in-kotlin-1-4-30/
https://msfjarvis.dev/posts/improvements-to-inline-classes-in-kotlin-1-4-30/
msfjarvis.dev
Improvements to inline classes in Kotlin 1.4.30 · Harsh Shandilya
Kotlin 1.4.30 is poised to improve on multiple pain points with inline classes, making them more generally useful. Let's look at these changes!
Реализуем обновляемые с сервера строковые ресурсы. Подробно разбираются механизмы получения ресурсов у вьюшек и использование кастомных ContextWrapper, LayoutInflater и т.д.
https://proandroiddev.com/auto-fetching-string-resources-31788ceecf04
https://proandroiddev.com/auto-fetching-string-resources-31788ceecf04
Medium
Auto fetching string resources
How to make PM’s dream come true
Шпаргалка по отрисовке текста в кастомных View через drawText.
https://medium.com/mobile-app-development-publication/expounding-android-canvas-drawtext-bae3d4fabc5a
https://medium.com/mobile-app-development-publication/expounding-android-canvas-drawtext-bae3d4fabc5a
Medium
Expounding Android Canvas’ DrawText
In Android, when we want to have some Text, we would just use TextView. However, in case we want to have a custom view and have better…
Почему использование корутин при инициализации приложения может стоить до 100 дополнительных миллисекунд.
https://medium.com/specto/android-startup-tip-dont-use-kotlin-coroutines-a7b3f7176fe5
https://medium.com/specto/android-startup-tip-dont-use-kotlin-coroutines-a7b3f7176fe5
Medium
Android App Startup Tip: Don’t Use Kotlin Coroutines (Retracted)
Did you know that there is a significant initialization cost to Kotlin coroutines?
Разбираем реализацию флоу с вводом кода подтверждения из смс: как сделать вьюху с вводом кода и как вытащить код из смс с помощью Consent API.
https://medium.com/swlh/implementing-the-complete-sms-verification-flow-using-consent-api-in-android-ae0327f74658
https://medium.com/swlh/implementing-the-complete-sms-verification-flow-using-consent-api-in-android-ae0327f74658
Medium
Implementing the Complete “SMS Verification” Flow Using Consent API in Android
In one of my recent projects I needed to implement a quite popular UI for entering confirmation codes (which are usually received via SMS…
Мы уже привыкли использовать Compat классы для работы с новым API на старых платформах, но иногда это может усыпить нашу бдительность и привести к проблемам.
https://proandroiddev.com/when-compat-libraries-do-not-save-you-dc55f16b4160
https://proandroiddev.com/when-compat-libraries-do-not-save-you-dc55f16b4160
Medium
When “Compat” libraries won’t save you
Using AndroidX artefacts might give the feeling of false security when it comes to newer API calls. Let’s talk about this!
При взаимодействии с JVM миром так или иначе приходится сталкиваться с термином classpath. Что он обозначает и как организованы загрузчики классов в статье.
https://dev.to/autonomousapps/build-compile-run-a-crash-course-in-classpaths-f4g
https://dev.to/autonomousapps/build-compile-run-a-crash-course-in-classpaths-f4g
DEV Community
Build, compile, run: A crash course in classpaths
Wherein we learn about the various classpaths important in building and running your Java/Kotlin/Android projects
Забавная статья про неочевидные моменты в Kotlin: в каких кейсах расширения имеют приоритет над обычными методами, когда inline классы превращаются в тыкву и как сделаны стандартные реализации в интерфейсах.
https://proandroiddev.com/tonnes-of-fun-with-kotlin-d1b9ed6f5907
https://proandroiddev.com/tonnes-of-fun-with-kotlin-d1b9ed6f5907
Medium
Tonnes of fun with Kotlin
Or lessons I learn every year
Иногда приложение может работать медленно из-за совершенно неочевидных для нас вещей. В такие моменты на помощь приходит systrace, позволяя узнать время выполнения каждого метода.
https://abbas-oveissi.medium.com/how-systrace-helped-me-to-improve-my-codes-performance-afd9af16b745
https://abbas-oveissi.medium.com/how-systrace-helped-me-to-improve-my-codes-performance-afd9af16b745
Medium
How Systrace helped me to improve my code performance
I developed a complex feature for a project last month. You can imagine this feature as two separated modules, the first module does some…
Уменьшаем количество рутины при работе со списками с помощью Epoxy от Airbnb. Бонусом идет удобное Kotlin DSL апи.
https://proandroiddev.com/building-complex-screens-in-a-recyclerview-with-epoxy-97845e51f4da
https://proandroiddev.com/building-complex-screens-in-a-recyclerview-with-epoxy-97845e51f4da
Medium
Building complex screens in a RecyclerView with Epoxy
Epoxy is an Android library for building complex screens in a RecyclerView developed by AirbnbEng
Серия статей о том, как писать более чистый и понятный код на Kotlin. Хороший повод проверить себя.
https://medium.com/scalereal/cooking-tasty-code-in-kotlin-part-2-354b7635bf09
https://medium.com/scalereal/cooking-tasty-code-in-kotlin-part-2-354b7635bf09
Medium
👨🍳 Cooking Tasty code in Kotlin 🍴 — Part 2
In this article, we’ll see some more or advanced recipes to cook your code tasty 😋 in Kotlin.
Разделяем release и debug сборки для одновременного использования на устройстве, чтобы больше не терять данные при установке другой версии.
https://medium.com/snapp-mobile/android-keeping-release-and-debug-installed-all-the-time-43f5812d6637
https://medium.com/snapp-mobile/android-keeping-release-and-debug-installed-all-the-time-43f5812d6637
Medium
Android — Keeping Release and Debug Installed All the Time
I think a lot of Android developers use their daily-driver phone as a developer device. I know I do. This leads into a side effect: you…
Гайд по тестированию Kotlin адаптеров для Room. Также разбирается их внутреннее устройство.
https://medium.com/androiddevelopers/using-and-testing-room-kotlin-apis-4d69438f9334
https://medium.com/androiddevelopers/using-and-testing-room-kotlin-apis-4d69438f9334
Medium
Using and testing Room Kotlin APIs
Room is a wrapper over SQLite and it makes working with databases on Android so much easier and is by far my favorite Jetpack library. In…
Ускоряем создание новых ViewHolder в RecyclerView. Идея основывается на использовании AsyncLayoutInflater, про который недавно была статья.
https://proandroiddev.com/improve-ui-performance-async-recyclerview-layout-loading-7eb525ab19d0
https://proandroiddev.com/improve-ui-performance-async-recyclerview-layout-loading-7eb525ab19d0
Medium
Improve UI Performance with Async RecyclerView Layout Loading
RecyclerView is one of the most commonly used Android UI components. It can be very powerful but unfortunately it sometimes becomes very…
Гайд по добавлению поддержки in-app обновлений через Google Play. Кроме основной темы также разбираются: настройка Google Cloud Platform, публикация приложения через Gradle и тестирование обновлений.
https://johncodeos.com/how-to-implement-in-app-updates-in-android-using-kotlin
https://johncodeos.com/how-to-implement-in-app-updates-in-android-using-kotlin
John Codeos
How to implement In-App Updates in Android using Kotlin | John Codeos - Blog with Free iOS & Android Development Tutorials
Implement in-app updates in your app with a combination of Flexible and Immediate update flows and set priority for the updates using the Gradle Play Publisher
Прилетело обновление роадмапа Kotlin – прогресс по переписыванию компилятора, новые улучшения качества работы IDE, новости по языковым фичам.
Роадмап на полгода
Что изменилось с октября
Твиттер-тред с разбором ключевых вещей в роадмапе
Роадмап на полгода
Что изменилось с октября
Твиттер-тред с разбором ключевых вещей в роадмапе
Автор статьи устал от повторяющегося кода с backing полями, которые часто применяются для сокрытия типа LiveData или StateFlow, и предложил использовать для этого интерфейсы. Мнения в комментариях разделились, а как поступаете вы в своих проектах?
https://medium.com/google-developer-experts/avoid-backing-properties-for-livedata-and-stateflow-706006c9867e
https://medium.com/google-developer-experts/avoid-backing-properties-for-livedata-and-stateflow-706006c9867e
Medium
Avoid backing properties for LiveData and StateFlow
Separating the public API and implementation detail of android ViewModels. Looking at you underscore prefix!
Dagger обновился до версии 2.31. Главное нововведение — assisted injection, позволяющее передавать параметры во время создания объекта. Также немного обновили поведение аннотаций в Hilt.
https://proandroiddev.com/whats-new-in-hilt-and-dagger-2-31-c46b7abbc64a
https://proandroiddev.com/whats-new-in-hilt-and-dagger-2-31-c46b7abbc64a
Medium
What’s new in Hilt and Dagger 2.31
Hilt is a dependency injection tool that has been introduced by Google in the last year. Hilt makes our projects cleaner and reduces setup…
Друзья, мы соскучились по вам, и нам уже не терпится увидеться в этом году, поэтому мы невероятно рады наконец официально анонсировать Podlodka Android Crew!
Темы сезона вам понравятся 😏
🎨 Первую неделю будем говорить о UI. Разберемся с нюансами верстки, хитростями анимаций, подходами к дизайн-системам, и многим другим. Всё это мы обсудим, попробуем на практике и рассмотрим глазами экспертов из различных компаний.
👩🎓Тема второй недели – алгоритмы и алгоритмические собеседования. Мы проведем публичное собеседование (все как вы любите!), разберем типичные задачи и составим план подготовки к секциям в FAANG. Поможем почувствовать себя уверенно возле whiteboard'а 😉
Традиционно, топовые эксперты на борту, нескучные сессии в расписании и неожиданные кулуарные дискуссии после сессий 🤓
Сезон стартует 1 февраля. Билеты уже можно купить по ссылке с early-bird скидкой. Ждем вас на борту!
Темы сезона вам понравятся 😏
🎨 Первую неделю будем говорить о UI. Разберемся с нюансами верстки, хитростями анимаций, подходами к дизайн-системам, и многим другим. Всё это мы обсудим, попробуем на практике и рассмотрим глазами экспертов из различных компаний.
👩🎓Тема второй недели – алгоритмы и алгоритмические собеседования. Мы проведем публичное собеседование (все как вы любите!), разберем типичные задачи и составим план подготовки к секциям в FAANG. Поможем почувствовать себя уверенно возле whiteboard'а 😉
Традиционно, топовые эксперты на борту, нескучные сессии в расписании и неожиданные кулуарные дискуссии после сессий 🤓
Сезон стартует 1 февраля. Билеты уже можно купить по ссылке с early-bird скидкой. Ждем вас на борту!
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #13
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.