Новая серия статей из цикла MAD Skills, посвященная навигации.
https://medium.com/androiddevelopers/navigationui-d21fd4f5c318
https://medium.com/androiddevelopers/navigationui-d21fd4f5c318
Medium
NavigationUI
This is the second MAD Skills article series on Navigation. In this article we’ll take a look at another use case where UI components…
Иногда бывает необходимо уметь определять скриншоты приложения. Эта небольшая библиотека поможет решить данную задачу.
https://github.com/akexorcist/ScreenshotDetection
https://github.com/akexorcist/ScreenshotDetection
GitHub
GitHub - akexorcist/ScreenshotDetection: [Android] Screenshot detection while user using your app
[Android] Screenshot detection while user using your app - akexorcist/ScreenshotDetection
Jetpack DataStore призван заменить устаревшие SharedPreferences. Разбираемся как использовать новую библиотеку вместе с Kotlin Serialization.
https://medium.com/androiddevelopers/using-datastore-with-kotlin-serialization-6552502c5345
https://medium.com/androiddevelopers/using-datastore-with-kotlin-serialization-6552502c5345
Medium
Using DataStore With Kotlin Serialization
Up till now we’ve shared how to use DataStore with Protos or Preferences. Under the hood both DataStore versions use Protos to serialize…
Применяем ко View несколько стилей одновременно, как в CSS. Реализация немного костыльная, но интересно посмотреть на создание кастомного LayoutInflater и использования атрибута viewInflaterClass.
https://proandroiddev.com/assign-multiple-styles-to-a-single-view-in-android-just-like-in-css-815040be4c2b
https://proandroiddev.com/assign-multiple-styles-to-a-single-view-in-android-just-like-in-css-815040be4c2b
Medium
Assign multiple styles to a single View in Android just like in CSS
Speed up your Android app development by assigning multiple styles to a view just like in CSS
Android Runtime является основой, которая позволяет работать нашим приложениям. Разбираемся в деталях работы Dalvik и ART, эволюции системы с версиями ОС и как приложения оптимизируются после установки.
https://proandroiddev.com/android-runtime-how-dalvik-and-art-work-6e57cf1c50e5
https://proandroiddev.com/android-runtime-how-dalvik-and-art-work-6e57cf1c50e5
Medium
Android Runtime — How Dalvik and ART work?
In this article you’ll learn how Android Runtime works, what is ART, DALVIK, JIT and AOT and how runtime evolved to make our apps faster 🚀
Альянс ioXt, в которых входят Google, Amazon, Facebook и другие крупные компании, выпустил Mobile Application Profile, содержащий необходимый минимум требований к безопасности мобильных приложений. Разработчикам могут сертифицировать свои приложения для демонстрации безопасности.
https://android-developers.googleblog.com/2021/04/a-new-standard-for-mobile-app-security.html
https://android-developers.googleblog.com/2021/04/a-new-standard-for-mobile-app-security.html
Android Developers Blog
A New Standard for Mobile App Security
News and insights on the Android platform, developer tools, and events.
Продолжаем тему Functional Domain Modeling, на этот раз изучаем разницу между типами Either и Validated для проверки корректности работы бизнес логики.
https://www.47deg.com/blog/functional-domain-modeling-part-2/
https://www.47deg.com/blog/functional-domain-modeling-part-2/
Xebia
Functional Domain Modeling in Kotlin - Validation
Looking at validation as we continue learning to leverage Functional Domain Modeling to fully utilize the Kotlin type system and prevent bugs.
С приходом Jetpack Compose меняются подходы к навигации в многомодульных приложениях. Статья дает ответы на следующие вопросы: как реализовать навигацию между компонентами в разных модулях, как абстрагироваться от Compose Navigation в модулях, как связать компоненты и ViewModel с помощью Hilt и как тестировать логику навигации.
https://hitherejoe.medium.com/modular-navigation-with-jetpack-compose-fda9f6b2bef7
https://hitherejoe.medium.com/modular-navigation-with-jetpack-compose-fda9f6b2bef7
Medium
Modular Navigation with Jetpack Compose
A large amount of mobile apps will need some form of Navigation, allowing users to move between different parts of an application. When…
🌟 Вышло пятое ежегодное исследование популярности команд мобильной разработки! Вы узнаете:
- Насколько другие разработчики хотят работать в вашей компании и почему считают ее крутой
- На какие конференции ходят мобильные разработчики, какие каналы читают, за какими экспертами следят
- Сколько людей хочет релоцироваться и по каким причинам
- Как переход в онлайн сказался на популярности различных компаний
https://etolstoy.com/mobile-reputation-21/
- Насколько другие разработчики хотят работать в вашей компании и почему считают ее крутой
- На какие конференции ходят мобильные разработчики, какие каналы читают, за какими экспертами следят
- Сколько людей хочет релоцироваться и по каким причинам
- Как переход в онлайн сказался на популярности различных компаний
https://etolstoy.com/mobile-reputation-21/
Etolstoy
Известность команд мобильной разработки в 2021
Результаты большого опроса мобильщиков на 2021 год: в каких компаниях хотят работать, как их выбирают, на какие конференции ходят.
В скором времени в Room появятся автоматические миграции, которые избавят нас от написания ручных миграций для большинства кейсов, таких как: добавление / удаление колонки или таблицы, переименовывания и других операций.
https://medium.com/androiddevelopers/room-auto-migrations-d5370b0ca6eb
https://medium.com/androiddevelopers/room-auto-migrations-d5370b0ca6eb
Medium
Room auto-migrations
Easily move your tables between rooms
Вышел Dagger 2.35, главное нововведение — стабильный Hilt.
https://github.com/google/dagger/releases/tag/dagger-2.35
https://github.com/google/dagger/releases/tag/dagger-2.35
GitHub
Release Dagger 2.35 · google/dagger
What’s New in Hilt
Hilt is now stable!
This means that Hilt is ready for use in production. Thanks for all the feedback through our alpha and beta stages! From now on, Hilt will no longer have alph...
Hilt is now stable!
This means that Hilt is ready for use in production. Thanks for all the feedback through our alpha and beta stages! From now on, Hilt will no longer have alph...
Разбираемся как запустить Activity из уведомления, когда приложение убито, а устройство заблокировано, на примере приложения для видеозвонков.
https://medium.com/simform-engineering/how-to-manage-incoming-video-call-for-every-android-os-version-with-fcm-notifications-68b8f2e3c9eb
https://medium.com/simform-engineering/how-to-manage-incoming-video-call-for-every-android-os-version-with-fcm-notifications-68b8f2e3c9eb
Medium
How to manage incoming video call for every android OS version with FCM notifications
Along with video calls the blog also covers the management of firebase push notifications.
Делегерирование — одна из наиболее полезных особенностей языка Kotlin после null безопасности. Вспоминаем в каких случаях это может пригодиться и как это использовать. Спасибо за наводку @rostikjoystick.
https://blog.frankel.ch/kotlin-delegation/
https://blog.frankel.ch/kotlin-delegation/
A Java geek
A look at Kotlin's delegation
Kotlin offers many exciting features. In general, developers tend to cite null safety as their favorite. For me, it’s function extensions. But delegation comes a close second. The delegation pattern The delegation pattern is described in the GoF book:…
Гайд по созданию мобильной фермы для тестирования на основе Selenium Grid и Robot Framework.
https://developers.ascendcorp.com/how-to-build-mobile-farm-with-a-help-of-selenium-grid-and-robot-framework-e55530f795af
https://developers.ascendcorp.com/how-to-build-mobile-farm-with-a-help-of-selenium-grid-and-robot-framework-e55530f795af
Medium
How to build mobile farm with a help of Selenium Grid and Robot Framework
In this article i’m going to share my experience of of setting up mobile farm for running automation tests in simple steps.
Разработчики базы данных Realm выпустили Kotlin Multiplatform версию своей библиотеки с плагином для компилятора вместо рефлексии.
https://blog.jetbrains.com/kotlin/2021/04/realm-kotlin-multiplatform-sdk/
https://blog.jetbrains.com/kotlin/2021/04/realm-kotlin-multiplatform-sdk/
The JetBrains Blog
Realm Kotlin Multiplatform SDK | The Kotlin Blog
Nabil Hachicha, Android Engineer, from MongoDB Realm shares their story of creating a pure Kotlin-first SDK for use by developers. Realm is an open-source, easy-to-use local database that helps mobil
Набор советов, которые будут полезными при разработке Android библиотек, среди рассматриваемых тем: использование Kotlin, тестирование и публикация.
https://blog.statsig.com/three-tips-for-publishing-a-modern-android-sdk-158bed5d05ed
https://blog.statsig.com/three-tips-for-publishing-a-modern-android-sdk-158bed5d05ed
Medium
Three Tips for Publishing a Modern Android SDK
Develop in Kotlin, Test using mockk, and Publish with JitPack
С выходом библиотеки Jetpack Crypto в нашем распоряжении появился класс EncryptedSharedPreferences, который позволяет автоматически шифровать данные пользователей. Автор статьи решил заглянуть под капот этого класса и разобраться в принципах его работы.
https://gauravkh-9648.medium.com/this-blog-will-help-you-understand-the-internals-encryptedsharedpreferences-961992c6e5a
https://gauravkh-9648.medium.com/this-blog-will-help-you-understand-the-internals-encryptedsharedpreferences-961992c6e5a
Medium
This blog will help you understand the internals EncryptedSharedPreferences.
How EncryptedSharedPreferences works internally?
Большая статья про шаблоны кода в Android Studio: что это такое, как они позволяют ускорить разработку и как создать свои шаблоны на примере таковых для Jetpack Compose.
https://dev.to/mattm/learning-live-templates-for-jetpack-compose-5g44
https://dev.to/mattm/learning-live-templates-for-jetpack-compose-5g44
DEV Community
Learning Live Templates for Jetpack Compose
What are Live Templates? How can they speed up your development? And how to create your own for Jetp...
🔥OTUS открывает набор онлайн-курса «Flutter Mobile Developer». Пройдите тест и успейте в группу по спеццене!
👉ПРОЙТИ ТЕСТ НА ЗНАНИЕ FLUTTER: https://otus.pw/XbOi/
📌Хотите протестировать учебный процесс заранее? Регистрируйтесь на бесплатный двухдневный интенсив «Создаем приложение на Flutter для Web, iOS и Android»: https://otus.pw/hdPC/
Регистрируйтесь сейчас — напомним в день интенсива!
👉ПРОЙТИ ТЕСТ НА ЗНАНИЕ FLUTTER: https://otus.pw/XbOi/
📌Хотите протестировать учебный процесс заранее? Регистрируйтесь на бесплатный двухдневный интенсив «Создаем приложение на Flutter для Web, iOS и Android»: https://otus.pw/hdPC/
Регистрируйтесь сейчас — напомним в день интенсива!
Otus
Мобильный разработчик на Flutter. Освойте навыки кроссплатформенной мобильной разработки
Станьте профессиональным разработчиков но FLutter. Пройдите курс в Otus и научитесь профессиональной мобильной разработке на Flutter
Вышел Kotlin 1.5.0!
- Новый JVM бэкенд стал дефолтным для всех проектов
- JVM records, sealed interfaces и inline классы стали стабильными
- Куча плюшек в стандартной библиотеке, Kotlin/Native и Kotlin/JS
https://blog.jetbrains.com/kotlin/2021/05/kotlin-1-5-0-released/
- Новый JVM бэкенд стал дефолтным для всех проектов
- JVM records, sealed interfaces и inline классы стали стабильными
- Куча плюшек в стандартной библиотеке, Kotlin/Native и Kotlin/JS
https://blog.jetbrains.com/kotlin/2021/05/kotlin-1-5-0-released/
The JetBrains Blog
Kotlin 1.5.0 – the First Big Release of 2021 | The Kotlin Blog
Kotlin 1.5.0 delivers stable language features, the new default JVM IR compiler, improvements to the standard and test libraries, and more.