Автор пытается разобраться в плюсах и минусах
https://blog.kotlin-academy.com/enum-vs-sealed-class-which-one-to-choose-dc92ce7a4df5
Enum'ов и Sealed классов, а также дает советы по использованию того или иного подхода в различных ситуациях.https://blog.kotlin-academy.com/enum-vs-sealed-class-which-one-to-choose-dc92ce7a4df5
Medium
Enum vs Sealed class — which one to choose?
TL;DR: Enums have supporting functions like valueOf, values or enumValues what makes them easier to iterate over or serialize. Just like…
В статье автор рассматривает изменения в
https://medium.com/@miloszlewandowski/a-first-look-at-androidx-activity-result-apis-3dc0f887de09
Activity Result API, а именно замену startActivityForResult на новый механизм, построенный на базе ActivityResultContract. Для основных действий по типу получения фотографии или запроса рантайм разрешений разработчики уже добавили базовые контракты.https://medium.com/@miloszlewandowski/a-first-look-at-androidx-activity-result-apis-3dc0f887de09
Medium
A first look at AndroidX Activity Result APIs
A few weeks ago, I published an article on how AndroidX changes the way we work with Activities and Fragments. Now it’s time to have a…
Автор рассказывает о неочевидной утечке адаптера
https://charlesmuchene.hashnode.dev/a-subtle-memory-leak-fragment-recyclerview-and-its-adapter-ck805s7jd03frzns17uapi3vh
RecyclerView, завязанной на жизненном цикле представления фрагмента.https://charlesmuchene.hashnode.dev/a-subtle-memory-leak-fragment-recyclerview-and-its-adapter-ck805s7jd03frzns17uapi3vh
Charles Muchene's Blog
A Subtle Memory Leak - Fragment, RecyclerView and its Adapter
Oh the Fragment
Fragments are amazing: modular, reusable, own view layout, swappable, you name them. However, you need to be extra careful when it comes to dealing with their lifecycle. I mean the lifecycle diagram clearly depicts the number of callb...
Fragments are amazing: modular, reusable, own view layout, swappable, you name them. However, you need to be extra careful when it comes to dealing with their lifecycle. I mean the lifecycle diagram clearly depicts the number of callb...
В статье рассказывается о том, что вообще такое
https://blog.stylingandroid.com/d8-desugaring/
desugaring, какие изменения принес D8 dex compiler и как с помощью опции coreLibraryDesugaring добиться использования современного Java API на старых версиях Android.https://blog.stylingandroid.com/d8-desugaring/
Styling Android
D8 Desugaring
D8 replaced DX as the default dex compiler in Android Studio (and Android Gradle Plugin) 3.1. It runs faster than DX and produces smaller .dex files, but it's also capable of some other nice stuff. I
Авторы рассказывают о том, как перешли от использования
https://blog.plaid.com/securing-webviews-with-chrome-custom-tabs/
WebView к Chrome Custom Tabs, описывают плюсы и минусы данного подхода.https://blog.plaid.com/securing-webviews-with-chrome-custom-tabs/
Plaid
Securing WebViews with Chrome Custom Tabs | Plaid
Plaid empowers innovators in the fintech space by providing them with access to
financial data via a uniform API. In order to help end users connect their
...
financial data via a uniform API. In order to help end users connect their
...
Автор делится лучшими практиками решения типовых задач с помощью корутин.
https://github.com/LukasLechnerDev/Kotlin-Coroutine-Use-Cases-on-Android
https://github.com/LukasLechnerDev/Kotlin-Coroutine-Use-Cases-on-Android
GitHub
GitHub - LukasLechnerDev/Kotlin-Coroutines-and-Flow-UseCases-on-Android: 🎓 Learning Kotlin Coroutines and Flows for Android by…
🎓 Learning Kotlin Coroutines and Flows for Android by example. 🚀 Sample implementations for real-world Android use cases. 🛠 Unit tests included! - LukasLechnerDev/Kotlin-Coroutines-and-Flow-UseCase...
Автор рассказывает о том, что решение многопоточных задач с использованием подходов, построенных на
https://www.techyourchance.com/concurrency-frameworks-overrated-android/
RxJava и корутинах, может быть излишним и зачастую можно получить более простой результат, используя стандартные Java средства для многопоточного программирования.https://www.techyourchance.com/concurrency-frameworks-overrated-android/
TechYourChance
Concurrency Frameworks in Android are Overrated
Clean implementation of complex concurrent algorithm using the most fundamental concurrency techniques
В статье рассказывается о том, как можно кастомизировать
https://bryanherbst.com/2020/05/04/bottom-sheet-corners/
Bottom Sheet в своем приложении.https://bryanherbst.com/2020/05/04/bottom-sheet-corners/
Подборка инструментов и подходов, используемых в современной
https://whimsical.com/Ldt6gUncijq3FAmLS4TVYx
Android разработке, начиная от прототипирования, заканчивая отладкой готового продукта.https://whimsical.com/Ldt6gUncijq3FAmLS4TVYx
Whimsical
🤖Android Ecosystem Cheat Sheet 2020
Whimsical combines whiteboards and docs in an all-in-one collaboration hub.
Статья, в которой достаточно подробно рассматриваются различные юзкейсы использования
https://proandroiddev.com/android-alarmmanager-as-deep-as-possible-909bd5b64792
AlarmManager.https://proandroiddev.com/android-alarmmanager-as-deep-as-possible-909bd5b64792
Medium
Android AlarmManager As Deep As Possible
AlarmManager is a bridge between application and Android system alarm service. There are lots of limitations and tricks. Click to see more!
Библиотека добавляющая
https://github.com/wajahatkarim3/EasyFlipViewPager
ViewPager анимацию переворота страницы.https://github.com/wajahatkarim3/EasyFlipViewPager
GitHub
GitHub - wajahatkarim3/EasyFlipViewPager: 📖 The library for creating book and card flip animations in ViewPager in Android
📖 The library for creating book and card flip animations in ViewPager in Android - wajahatkarim3/EasyFlipViewPager
Автор рассказывает о том, что такое
https://medium.com/scalereal/stateflow-end-of-livedata-a473094229b3
StateFlow и каким образом можно избавиться от LiveData в своем проекте, взяв StateFlow за основу.https://medium.com/scalereal/stateflow-end-of-livedata-a473094229b3
Medium
🌊 StateFlow, End of LiveData?
In this article, we’ll learn how to use Kotlin Coroutine StateFlow in Android instead of LiveData.
Автор рассматривает новый инструмент для внедрения зависимостей на основе
https://joebirch.co/android/exploring-dagger-hilt-an-introduction/
Dagger - Dagger Hilt. В данной статье проводится сравнение с неудавшимся Dagger Android, приводится пример подключения и использования нового инструмента, рассматриваются субъективные по мнению автора плюсы и минусы (нужно писать намного меньше кода для запуска, но количество магии только возросло).https://joebirch.co/android/exploring-dagger-hilt-an-introduction/
В статье автор рассказывает о том, как можно выстрелить себе в ногу, используя правило
https://medium.com/@woitaschek/how-to-break-your-android-app-with-proguard-r8-6566bc387b63
-assumenosideeffects в связке с обфускатором R8.https://medium.com/@woitaschek/how-to-break-your-android-app-with-proguard-r8-6566bc387b63
Medium
How to break your Android App with proguard / R8
I recently updated the android gradle plugin to 4.0.0. While developing, everything went smoothly and at some point I was ready to cut a…
Автор рассказывает о новом подходе инициализации компонентов приложения при его запуске: используя новую
https://proandroiddev.com/making-application-class-much-cleaner-dagger-vs-app-startup-7dd2e3d05066
Jetpack библиотеку App Startup.https://proandroiddev.com/making-application-class-much-cleaner-dagger-vs-app-startup-7dd2e3d05066
Medium
Making Application class much cleaner: Dagger vs App Startup
Application class is the first entry point of the android application process and it’s for maintaining a global application state. It is…
Достаточно гибкая реализация всплывающих окон и подсказок с поддержкой разных типов анимаций.
https://github.com/skydoves/balloon
https://github.com/skydoves/balloon
GitHub
GitHub - skydoves/Balloon: :balloon: Modernized and sophisticated tooltips, fully customizable with an arrow and animations for…
:balloon: Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android. - skydoves/Balloon
Забавный пример проекта - обозреватель покемонов
https://github.com/skydoves/Pokedex
Pokedex, использующий достаточно современный Android стек.https://github.com/skydoves/Pokedex
GitHub
GitHub - skydoves/Pokedex: 🗡️ Pokedex demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack…
🗡️ Pokedex demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture. - skydoves/Pokedex
Роман Елизаров в своей статье рассказывает об исключениях в Java и Kotlin, их разнице, а также об идиоматичном способе их использования.
https://medium.com/@elizarov/kotlin-and-exceptions-8062f589d07
https://medium.com/@elizarov/kotlin-and-exceptions-8062f589d07
Medium
Kotlin and Exceptions
What are Kotlin Exceptions and how should you use them?
Достаточно подробная статья, в которой автор пошагово рассказывает как с помощью
https://medium.com/@rodrigomartind/tinder-motionlayout-1cb6a7233f9f
MotionLayout реализовать эффект свайпа карточек профиля.https://medium.com/@rodrigomartind/tinder-motionlayout-1cb6a7233f9f
Medium
Tinder MotionLayout
How create a similar gestures to Tinder App with Motion Layout version beta6.
Базовая статья, рассказывающая о жизненном цикле фрагмента, а также о механизмах, добавленных в
https://zsmb.co/fragment-lifecycles-in-the-age-of-jetpack/
Jetpack, позволяющих упростить жизнь разработчика при взаимодействии с фрагментами.https://zsmb.co/fragment-lifecycles-in-the-age-of-jetpack/
zsmb.co
Fragment Lifecycles in the Age of Jetpack
Fragments have... Complicated lifecycles, to say the least. Let's take a look at these, and how they all fit into the world of Jetpack today, with LifecycleOwners, LiveData, and coroutines.