Раннее мы уже публиковали несколько статей про стандартные делегаты в Kotlin. Настало время копнуть немножко глубже и рассмотреть более интересные кейсы их использования.
https://proandroiddev.com/kotlin-delegation-by-inception-61f8beaae0db
https://proandroiddev.com/kotlin-delegation-by-inception-61f8beaae0db
Medium
Kotlin Delegation by Inception
Delegating to delegates with a functional twist
Jetpack библиотека CameraX должна избавить всех от боли при использовании камеры в приложениях. В новых версиях библиотеки разработчики отказались от единого CameraView и заменили его на связку PreviewView + CameraController. О том, как работать с последним в статье.
https://medium.com/androiddevelopers/camerax-learn-how-to-use-cameracontroller-e3ed10fffecf
https://medium.com/androiddevelopers/camerax-learn-how-to-use-cameracontroller-e3ed10fffecf
Medium
CameraX: Learn how to use CameraController
Introducing CameraController + Migrating from CameraView
Классическая шпаргалка по созданию кастомного View: жизненный цикл, конструкторы, собственные атрибуты и анимации.
https://vladsonkin.com/ultimate-guide-to-android-custom-view/
https://vladsonkin.com/ultimate-guide-to-android-custom-view/
Чеклист для миграции приложений на Android 11: Foreground Service Type, новые Permissions, Scoped Storage и прощание с AsyncTask.
https://proandroiddev.com/the-quick-developers-guide-to-migrate-their-apps-to-android-11-e4ca2b011176
https://proandroiddev.com/the-quick-developers-guide-to-migrate-their-apps-to-android-11-e4ca2b011176
Medium
The Quick Developers Guide to Migrate Their Apps to Android 11
Getting your app ready for Scoped Storage, Package Visibility, Permission changes, etc
Ребята из Airbnb выпустили библиотеку Showkase для визуализации и ораганизации UI компонентов на Jetpack Compose. Теперь поддерживать систему компонентов будет намного проще.
https://medium.com/airbnb-engineering/introducing-showkase-a-library-to-organize-discover-and-visualize-your-jetpack-compose-elements-d5c34ef01095
https://medium.com/airbnb-engineering/introducing-showkase-a-library-to-organize-discover-and-visualize-your-jetpack-compose-elements-d5c34ef01095
Medium
Introducing Showkase: A Library to Organize, Discover, and Visualize Your Jetpack Compose Elements
Showkase is an annotation-processor based Android library that helps you organize, discover search and visualize Jetpack Compose UI…
Возможно вы слышали, что кроме привычного LayoutInflater существует его асинхронная версия — AsyncLayoutInflater. В статье рассказывается, что это такое и в каких кейсах бывает полезным.
https://blog.stylingandroid.com/asynclayoutinflater/
https://blog.stylingandroid.com/asynclayoutinflater/
Styling Android
AsyncLayoutInflater
You never get a second chance to make a good first impression. This old adage is particularly true for apps. A bad first impression can often drive users to abandon an app before they have properly t
Интересный подход с использованием CoroutineContext для реализации retry логики.
https://proandroiddev.com/using-coroutinecontext-to-repeat-failed-http-request-9d7092d8cec1
https://proandroiddev.com/using-coroutinecontext-to-repeat-failed-http-request-9d7092d8cec1
Medium
Using CoroutineContext to repeat failed HTTP request
A common scenario in Android applications is the need to repeat a request when something goes wrong, for example when there are problems…
Многомодульность все больше набирает популярность, однако при реализации подобного подхода нужно быть аккуратным, чтобы не нарваться на один из анти-паттернов в структуре или навигации.
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