Небольшая статья о том, как операторы merge и zip в RxJava могут стать причиной UndeliverableException.
https://proandroiddev.com/merging-rxjava-observables-considered-harmful-part-i-fdaaaa3364c5
https://proandroiddev.com/merging-rxjava-observables-considered-harmful-part-i-fdaaaa3364c5
Medium
Merging RxJava Observables considered harmful — Part I
The hidden cause of UndeliverableExceptions
Иногда бывает необходимо ограничить область применения расширений для конкретных классов. В статье автор предлагает решать эту задачу с помощью маркерных интерфейсов.
https://proandroiddev.com/limit-the-availability-of-kotlin-extension-functions-by-using-generics-and-an-empty-interface-d390d7addbbe
https://proandroiddev.com/limit-the-availability-of-kotlin-extension-functions-by-using-generics-and-an-empty-interface-d390d7addbbe
Medium
Limit the Availability of Kotlin Extension Functions by using Generics and an Empty Interface
Extension functions are awesome!
Тема безопасности приложений становится все более актуальной. В рамках этого Google запустила курс Security by design, который призван познакомить разработчиков с лучшими практиками защиты приложений.
https://android-developers.googleblog.com/2021/04/introducing-security-by-design.html
https://android-developers.googleblog.com/2021/04/introducing-security-by-design.html
Android Developers Blog
Introducing Security By Design
Posted by Jon Markoff, Staff Developer Advocate & Sean Smith, Technical Program Manager As a developer, are you struggling to fi...
Набор советов, которые могут помочь улучшить процесс code review: не придираться к мелочам, автоматизировать всё что можно, указывать всю необходимую информацию в PR.
https://medium.com/lazada-tech-vn/a-comprehensive-guide-to-perform-effective-code-reviews-for-android-developers-b5998653699b
https://medium.com/lazada-tech-vn/a-comprehensive-guide-to-perform-effective-code-reviews-for-android-developers-b5998653699b
Medium
A comprehensive guide to perform effective code reviews for Android developers
Code reviews are a part of most devs’ day-to-day work. Despite being a standard industry practice for many years, there are still lots of…
В Android 12 добавили встроенное решение для Splash экранов приложений. Разбираемся как использовать новое API.
https://joebirch.co/android/exploring-android-12-splash-screen/
https://joebirch.co/android/exploring-android-12-splash-screen/
Привет! 🙂
В Туту.ру есть 3 новые команды, которые готовы взять на борт мобильных разработчиков.
Что предлагают?
👉 Продукт, который помогает путешествовать 8 миллионам человек
👉 Мечта разработчика – где-то свежайший код (еще не вышло из под A/B), где-то надо писать с нуля
👉 Сильная команда, iOS/Android гильдии и много общения
И на этом плюсы не закончились:
С 15 по 25 июня ребята проводят традиционный ивент «Оффер за один день», только в этот раз лучше – все собеседования можно будет пройти за 3 часа удаленно из любой точки мира, а вечером в случае успеха получить оффер.
Чтобы включиться в эту историю заходи на страницу https://cutt.ly/5nEXL8s, заполняй анкету и отправляй ребятам до 15 июня.
В Туту.ру есть 3 новые команды, которые готовы взять на борт мобильных разработчиков.
Что предлагают?
👉 Продукт, который помогает путешествовать 8 миллионам человек
👉 Мечта разработчика – где-то свежайший код (еще не вышло из под A/B), где-то надо писать с нуля
👉 Сильная команда, iOS/Android гильдии и много общения
И на этом плюсы не закончились:
С 15 по 25 июня ребята проводят традиционный ивент «Оффер за один день», только в этот раз лучше – все собеседования можно будет пройти за 3 часа удаленно из любой точки мира, а вечером в случае успеха получить оффер.
Чтобы включиться в эту историю заходи на страницу https://cutt.ly/5nEXL8s, заполняй анкету и отправляй ребятам до 15 июня.
Начиная с Kotlin Coroutines версии 1.5.0, вместо BroadcastChannel, помеченного теперь аннотацией ObsoleteCoroutinesApi, рекомендуется использовать MutableSharedFlow. В статье описаны подводные камни, которые могут встретиться при миграции.
https://itnext.io/mutablesharedflow-is-kind-of-complicated-61af68011eae
https://itnext.io/mutablesharedflow-is-kind-of-complicated-61af68011eae
Medium
MutableSharedFlow is kind of complicated
About dropped events, replay and extraBufferCapacity and other pitfalls when using MutableSharedFlow.
Продолжение серии статей про управление состояниями в Jetpack Compose. В этой части погружаемся в принципы работы системы "снимков" состояний.
https://dev.to/zachklipp/introduction-to-the-compose-snapshot-system-19cn
https://dev.to/zachklipp/introduction-to-the-compose-snapshot-system-19cn
DEV Community
Introduction to the Compose Snapshot system
This post has moved to blog.zachklipp.com. Jetpack Compose introduces a novel way to handle...
С появлением Fragment Result API в полку способов передачи данных между экранами прибыло. Разбираемся в деталях работы нового подхода: какой FragmentManager выбрать и как происходит работа с жизненным циклом.
https://medium.com/e-legion/getting-the-result-right-part-2-fragment-result-api-1a17f99490dc
https://medium.com/e-legion/getting-the-result-right-part-2-fragment-result-api-1a17f99490dc
Medium
The right way to get a result. Part 2. Fragment Result API
We continue the story about the Jetpack library’s latest updates that are designed to simplify data exchange between different parts of…
Гайд по монетизации мобильных приложений: планирование монетизации, обзор популярных стратегий и советы по их внедрению.
https://dev.to/krowser/mobile-app-monetization-an-essential-guide-31f5
https://dev.to/krowser/mobile-app-monetization-an-essential-guide-31f5
DEV Community
Mobile App Monetization: An Essential Guide
Mobile app monetization is a must for most of today’s mobile apps. Given the sheer size of the mobile...
Разбираемся, в каких случаях нам может понадобиться написать final val.
https://proandroiddev.com/the-modifier-that-shouldnt-be-there-77ff941f0529
https://proandroiddev.com/the-modifier-that-shouldnt-be-there-77ff941f0529
Medium
The Kotlin modifier that shouldn't be there
Most Kotlin developers would agree that a val property is equivalent to a final property in Java. What if I tell you that this “depends”?
Большая шпаргалка про сервисы в Android: для чего и как использовать, foreground и background сервисы, bound сервисы на примере сервиса для воспроизведения медиафайлов.
https://www.raywenderlich.com/20123726-android-services-getting-started
https://www.raywenderlich.com/20123726-android-services-getting-started
kodeco.com
Android Services: Getting Started
Learn about Android Services and the differences between foreground, background and bound services.
Использовуем Jetpack Navigation для реализации навигации в Dynamic Feature модулях.
https://medium.com/androiddevelopers/navigation-in-feature-modules-322ac3d79334
https://medium.com/androiddevelopers/navigation-in-feature-modules-322ac3d79334
Medium
Navigation in Feature Modules
Welcome to the another article in the second MAD Skills series on Navigation! If you prefer this content in video form, here is something…
Инструкция по созданию Gradle плагинов: кастомные задачи от Hello World до взаимодействия с файлами проекта и различные способы упаковки и публикации плагинов.
https://www.raywenderlich.com/22198417-gradle-plugin-tutorial-for-android-getting-started
https://www.raywenderlich.com/22198417-gradle-plugin-tutorial-for-android-getting-started
kodeco.com
Gradle Plugin Tutorial for Android: Getting Started
Learn how to create a Gradle plugin within your existing Android app, or as a standalone project that you can publish and use in any Android project.
API фрагментов продолжает улучшаться. В новых версиях библиотек AndroidX Fragment и Navigation добавят поддержку множественных back stack.
https://medium.com/androiddevelopers/multiple-back-stacks-b714d974f134
https://medium.com/androiddevelopers/multiple-back-stacks-b714d974f134
Medium
Multiple back stacks
A deep dive into what actually went into bring this feature to Fragments and Jetpack Navigation
Список с бесконечным скроллом или пагинацией - один из наиболее частых компонентов приложений. Смотрим, как реализовать подобный на Jetpack Compose.
https://dev.to/luismierez/infinite-lazycolumn-in-jetpack-compose-44a4
https://dev.to/luismierez/infinite-lazycolumn-in-jetpack-compose-44a4
DEV Community
Infinite LazyColumn in Jetpack Compose
Displaying a list of content is one of the most common things that we are required to add to our apps...
Изменения в модуле buildSrc приводят к пересборке всего проекта, из-за чего его неудобно использовать для хранения списка версий зависимостей. В статье предлагается решать эту задачу через кастомный Gradle плагин и композитные сборки.
https://proandroiddev.com/dependencies-in-gradle-composite-build-7dca835a46a8
https://proandroiddev.com/dependencies-in-gradle-composite-build-7dca835a46a8
Medium
NOTE: As mentioned in a comment to this article, Gradle 7 offers version catalogs as incubating…
Dependencies in Gradle composite build
Избавляемся от однообразного кода и реализуем адаптеры для списков эффективно с DiffUtil и ListAdapter.
https://bignerdranch.com/blog/efficient-lists-with-diffutil-and-listadapter/
https://bignerdranch.com/blog/efficient-lists-with-diffutil-and-listadapter/
Big Nerd Ranch
Big Nerd Ranch | Digital Product Development Agency
Big Nerd Ranch is a web & mobile app development agency that offers expert training and services. Learn how we can help with your next digital product!
Решение задачи по отслеживанию геопозиции в приложении через Foreground Service, Room и Kotlin Flow.
https://barbeau.medium.com/room-kotlin-flow-the-modern-android-architecture-for-location-aware-apps-9c110e12e31a
https://barbeau.medium.com/room-kotlin-flow-the-modern-android-architecture-for-location-aware-apps-9c110e12e31a
Medium
Room + Kotlin Flow — The modern Android architecture for location-aware apps
The best approach for single source-of-truth location in your app in 2021
Автор статьи решил подойти к вопросу изучения Flow со стороны юнит тестов, подняв следующие темы: настройка тестов, холодные и горячие источники, стратегии трансформации одного вида к другому, настройки SharedFlow и StateFlow.
https://codingwithmohit.com/coroutines/learning-shared-and-state-flows-with-tests/
https://codingwithmohit.com/coroutines/learning-shared-and-state-flows-with-tests/
Coding with Mohit
Learning State & Shared Flows with Unit Tests
Learn about all of the features of State & Shared Flows.