Многомодульность все больше набирает популярность, однако при реализации подобного подхода нужно быть аккуратным, чтобы не нарваться на один из анти-паттернов в структуре или навигации.
https://medium.com/@Zhuinden/structural-and-navigation-anti-patterns-in-modularized-android-applications-a7d667e35cd6
https://medium.com/@Zhuinden/structural-and-navigation-anti-patterns-in-modularized-android-applications-a7d667e35cd6
Medium
Structural and navigation anti-patterns in modularized Android applications
What is Android Clean Architecture? Where is it from? Is it an anti-pattern? If we modularize our apps, how can we navigate between…
Каждый, кто делал выпадающие списки со Spinner, знает, что это не самый удобный в реализации UI компонент. По ссылке небольшая библиотека, значительно упрощающая работу с подобными элементами.
https://medium.com/swlh/customizing-android-popup-spinner-dropdown-list-with-animations-4fef68110c53
https://medium.com/swlh/customizing-android-popup-spinner-dropdown-list-with-animations-4fef68110c53
Medium
Customizing Android Popup Spinner (Dropdown List) with Animations
Spinner is one of the most frequently used widgets in Android for selecting a specific item in a popup list. The Android SDK provides a…
Реализация кастомного View с расстановкой футбольной команды, на этот раз обошлось без Compose.
https://proandroiddev.com/building-a-team-lineup-view-on-android-daaf27e3901e
https://proandroiddev.com/building-a-team-lineup-view-on-android-daaf27e3901e
Medium
Building a Team Lineup View on Android
A step-by-step tutorial on how to build a custom view for displaying a team lineup on Android.
Короткий гайд по добавлению прямого ответа в уведомления.
https://sadmansarar.medium.com/show-a-message-reply-notification-in-android-bd97631189d7
https://sadmansarar.medium.com/show-a-message-reply-notification-in-android-bd97631189d7
Medium
Show a message reply Notification in android
Creating a notification that can reply to a message is one of the newest addition to the android platform. It can easily be achieved by…
Отличный чеклист для ревью кода в Android проектах.
https://proandroiddev.com/android-code-review-checklist-997725d74015
https://proandroiddev.com/android-code-review-checklist-997725d74015
Medium
Android Code Review Checklist
A checklist of things to watch out for when performing an Android code review.
Немного ретроспективы. 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…