We Love Android
623 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
Базовая статья, рассказывающая о том, как использовать OkHttp Interceptors в своем Android приложении. Автор отмечает разницу между Application и Network интерсепторами и приводит характерные примеры.

https://blog.mindorks.com/okhttp-interceptor-making-the-most-of-it
Unearthed - небольшая библиотека, которая позволяет фиксировать ситуации, при которых ваше Android приложение было восстановлено после смерти процесса (уничтожения системой).

https://github.com/hannesstruss/unearthed
В данной статье автор рассказывает о том, какими способами можно поддержать отмену запущенной корутины в Kotlin. Фактически рассматриваются 3 способа:
- добавление отдельной suspend функции,
- проверка флага isActive,
- вызов функции yield.

https://zsmb.co/coroutine-cancellation-101/
Автор делится своим составленным списком из 30 лучших приложений и библиотек из мира Android разработки за 2019 год.

https://medium.com/better-programming/30-best-android-libraries-and-projects-of-2019-a1e35124f110
Автор рассказывает о том, как можно использовать контракты в Kotlin, для того, чтобы сообщить дополнительную информацию компилятору о гарантируемых свойствах объекта.

https://medium.com/@akperkins1/smart-casts-via-assertions-kotlin-contracts-fd737a92013b
Автор пытается разобраться в плюсах и минусах Enum'ов и Sealed классов, а также дает советы по использованию того или иного подхода в различных ситуациях.

https://blog.kotlin-academy.com/enum-vs-sealed-class-which-one-to-choose-dc92ce7a4df5
В статье автор рассматривает изменения в Activity Result API, а именно замену startActivityForResult на новый механизм, построенный на базе ActivityResultContract. Для основных действий по типу получения фотографии или запроса рантайм разрешений разработчики уже добавили базовые контракты.

https://medium.com/@miloszlewandowski/a-first-look-at-androidx-activity-result-apis-3dc0f887de09
В статье рассказывается о том, что вообще такое desugaring, какие изменения принес D8 dex compiler и как с помощью опции coreLibraryDesugaring добиться использования современного Java API на старых версиях Android.

https://blog.stylingandroid.com/d8-desugaring/
Авторы рассказывают о том, как перешли от использования WebView к Chrome Custom Tabs, описывают плюсы и минусы данного подхода.

https://blog.plaid.com/securing-webviews-with-chrome-custom-tabs/
Автор рассказывает о том, что решение многопоточных задач с использованием подходов, построенных на RxJava и корутинах, может быть излишним и зачастую можно получить более простой результат, используя стандартные Java средства для многопоточного программирования.

https://www.techyourchance.com/concurrency-frameworks-overrated-android/
В статье рассказывается о том, как можно кастомизировать Bottom Sheet в своем приложении.

https://bryanherbst.com/2020/05/04/bottom-sheet-corners/
Подборка инструментов и подходов, используемых в современной Android разработке, начиная от прототипирования, заканчивая отладкой готового продукта.

https://whimsical.com/Ldt6gUncijq3FAmLS4TVYx
Автор рассказывает о том, что такое StateFlow и каким образом можно избавиться от LiveData в своем проекте, взяв StateFlow за основу.

https://medium.com/scalereal/stateflow-end-of-livedata-a473094229b3
Автор рассматривает новый инструмент для внедрения зависимостей на основе Dagger - Dagger Hilt. В данной статье проводится сравнение с неудавшимся Dagger Android, приводится пример подключения и использования нового инструмента, рассматриваются субъективные по мнению автора плюсы и минусы (нужно писать намного меньше кода для запуска, но количество магии только возросло).

https://joebirch.co/android/exploring-dagger-hilt-an-introduction/
В статье автор рассказывает о том, как можно выстрелить себе в ногу, используя правило -assumenosideeffects в связке с обфускатором R8.

https://medium.com/@woitaschek/how-to-break-your-android-app-with-proguard-r8-6566bc387b63
Автор рассказывает о новом подходе инициализации компонентов приложения при его запуске: используя новую Jetpack библиотеку App Startup.

https://proandroiddev.com/making-application-class-much-cleaner-dagger-vs-app-startup-7dd2e3d05066