Базовая статья, рассказывающая о том, как использовать
https://blog.mindorks.com/okhttp-interceptor-making-the-most-of-it
OkHttp Interceptors в своем Android приложении. Автор отмечает разницу между Application и Network интерсепторами и приводит характерные примеры.https://blog.mindorks.com/okhttp-interceptor-making-the-most-of-it
Outcome School | Get High Paying Tech Job
OkHttp Interceptor
In this blog, we will learn how to work with the OkHttp Interceptors.
Unearthed - небольшая библиотека, которая позволяет фиксировать ситуации, при которых ваше Android приложение было восстановлено после смерти процесса (уничтожения системой).https://github.com/hannesstruss/unearthed
GitHub
GitHub - hannesstruss/unearthed: Track process deaths in Android apps
Track process deaths in Android apps. Contribute to hannesstruss/unearthed development by creating an account on GitHub.
В данной статье автор рассказывает о том, какими способами можно поддержать отмену запущенной корутины в
- добавление отдельной
- проверка флага
- вызов функции
https://zsmb.co/coroutine-cancellation-101/
Kotlin. Фактически рассматриваются 3 способа:- добавление отдельной
suspend функции,- проверка флага
isActive,- вызов функции
yield.https://zsmb.co/coroutine-cancellation-101/
zsmb.co
Coroutine Cancellation 101
A brief introduction to the basics of coroutine cancellation.
Автор делится своим составленным списком из 30 лучших приложений и библиотек из мира
https://medium.com/better-programming/30-best-android-libraries-and-projects-of-2019-a1e35124f110
Android разработки за 2019 год.https://medium.com/better-programming/30-best-android-libraries-and-projects-of-2019-a1e35124f110
Medium
The 30 Best Android Libraries and Projects of 2019
Useful libraries and inspiring projects to help you on your mobile journey
Автор рассказывает о том, как можно использовать контракты в
https://medium.com/@akperkins1/smart-casts-via-assertions-kotlin-contracts-fd737a92013b
Kotlin, для того, чтобы сообщить дополнительную информацию компилятору о гарантируемых свойствах объекта.https://medium.com/@akperkins1/smart-casts-via-assertions-kotlin-contracts-fd737a92013b
Medium
Smart Casts via Assertions + Kotlin Contracts
There are three things I do every-time I start a codebase that I know that I will be maintaining for the long haul.
Автор пытается разобраться в плюсах и минусах
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