При разработке open source приложений часто встает вопрос о безопасности хранении ключей в публичном репозитории. Один из вариантов решения проблемы в статье.
https://dev.to/leehendryp/avoid-versioning-api-keys-and-sensitive-info-on-android-here-s-how-56e1
https://dev.to/leehendryp/avoid-versioning-api-keys-and-sensitive-info-on-android-here-s-how-56e1
DEV Community
Avoid uploading API keys and other sensitive info to GitHub on Android, here's how.
Cover image by Bruno Martins @ Unsplash Disclaimer There’s no measure alone th...
Вместе с выходом Android 11 появились новые инструменты, упрощающие работу с машинным обучением на устройстве. В статье разбираются Model Binding Plugin и новый ML Kit.
https://proandroiddev.com/machine-learning-with-android-11-whats-new-1a8d084c7398
https://proandroiddev.com/machine-learning-with-android-11-whats-new-1a8d084c7398
Medium
Machine Learning with Android 11: What’s new
This blog demonstrates how you can get started with on-device ML with tools or plugins specifically launched with Android 11. If you have…
Шпаргалка по удобным Kotlin расширениям для работы с графикой в Android.
https://blog.stylingandroid.com/ktx-graphics/
https://blog.stylingandroid.com/ktx-graphics/
Styling Android
KTX: Graphics
KTX is a series of Kotlin extension functions for Android that first appeared in February 2018. They can simplify many repetitive tasks or those which require boilerplate code. However, they are
Библиотека с bottom sheet на все случаи жизни: от пикеров времени и даты до выбора цветов и сложных форм.
https://github.com/MaxKeppeler/bottom-sheets
https://github.com/MaxKeppeler/bottom-sheets
GitHub
GitHub - maxkeppeler/sheets: ⭐ Offers a range of beautiful sheets (dialogs & bottom sheets) for quick use in your project.…
⭐ Offers a range of beautiful sheets (dialogs & bottom sheets) for quick use in your project. Includes many ways to customize sheets. - GitHub - maxkeppeler/sheets: ⭐ Offer...
Кто то настолько вдохновился Jetpack Compose, что решил написать на нём свою версию игры Flappy Bird.
https://medium.com/better-programming/android-jetpack-compose-flappy-bird-9ac4b1d223df
https://medium.com/better-programming/android-jetpack-compose-flappy-bird-9ac4b1d223df
Medium
Learning Android Development: Android Jetpack Compose Flappy Bird
Recreate the classic game using Jetpack Compose
В Android фреймворке очень любят колбеки, однако далеко не всегда с ними удобно работать. В статье описывается как с помощью корутин можно упростить себе жизнь при работе с view и анимациями.
https://chris.banes.dev/suspending-views/
https://chris.banes.dev/suspending-views/
chrisbanes.me
Suspending over Views
Kotlin Coroutines allow us to model asynchronous problems like synchronous code. That’s great, but most usage seems to concentrate on I/O tasks and concurrent operations.
Одной из идей за Jetpack Compose является отображение состояния в UI элементы с помощью чистых функций, при этом сами UI элементы своего состояния не имеют. В статье разбирается возможность получения подобного эффекта с помощью уже существующих инструментов.
https://proandroiddev.com/android-views-as-a-function-of-state-with-viewbinding-case-study-1-the-live-game-stream-c8367ac13ace
https://proandroiddev.com/android-views-as-a-function-of-state-with-viewbinding-case-study-1-the-live-game-stream-c8367ac13ace
Medium
Android Views as a Function of State with ViewBinding Case Study 1: The Live Game Stream
This post is part of a series that shows how Views in android can be represented purely as a function of some state with no side effects…
Курс для middle- и senior-разработчиков, которые хотят стать тимлидами
Новичком быть просто: все новое и интересное, море информации, но как быть уже прокаченным девелоперам? Мы тоже задавали себе этот вопрос и просто точечно обучали наших разработчиков, делая их мощными тимлидами.
В нашем понимании тимлид — это не просто крутой программист, но и тот, кто умеет аккумулировать свои знания, обучать команду и выстраивать работу в ней, понимает продукт и работает от бизнес-целей. Тут важны и hard, и soft skills, и эмоциональный интеллект. Поэтому мы собрали весь свой 14-летний опыт работы над сложными сервисами и высоконагруженными сайтами и создали 6-ти месячный курс именно тех, кто хочет вырасти и систематизировать свои знания. Договорились с Geekbrains, и теперь именно там можно пройти обучение. Второй поток стартует уже совсем скоро — 24 декабря, а тут должен быть призыв к действию, поэтому просто записывайтесь на курс.
На связи была команды AGIMA.
Новичком быть просто: все новое и интересное, море информации, но как быть уже прокаченным девелоперам? Мы тоже задавали себе этот вопрос и просто точечно обучали наших разработчиков, делая их мощными тимлидами.
В нашем понимании тимлид — это не просто крутой программист, но и тот, кто умеет аккумулировать свои знания, обучать команду и выстраивать работу в ней, понимает продукт и работает от бизнес-целей. Тут важны и hard, и soft skills, и эмоциональный интеллект. Поэтому мы собрали весь свой 14-летний опыт работы над сложными сервисами и высоконагруженными сайтами и создали 6-ти месячный курс именно тех, кто хочет вырасти и систематизировать свои знания. Договорились с Geekbrains, и теперь именно там можно пройти обучение. Второй поток стартует уже совсем скоро — 24 декабря, а тут должен быть призыв к действию, поэтому просто записывайтесь на курс.
На связи была команды AGIMA.
Подробный разбор уведомлений в Android от Android Broadcast: интеграция, сложности системного API, возможности FCM и бонусом библиотека для работы с уведомлениями в виде DSL.
https://telp.cc/6MC
https://telp.cc/6MC
YouTube
Советы по уведомлениям в Android
#AndroidBroadcast #Уведомления #ЛучшиеПрактики
Рассказываю про уведомления в Android: почему вам стоит уделить время их интеграции, какие сложности скрывает API уведомлений в Android и что может сделать FCM. Помимо прочего представляю свою библиотеку Android…
Рассказываю про уведомления в Android: почему вам стоит уделить время их интеграции, какие сложности скрывает API уведомлений в Android и что может сделать FCM. Помимо прочего представляю свою библиотеку Android…
Цикл статей про библиотеку App Startup, призванной исправить проблему медленного запуска приложений с помощью ленивой загрузки библиотек. One ContentProvider to rule them all.
https://medium.com/androiddevelopers/app-startup-part-2-c431e80d0df
https://medium.com/androiddevelopers/app-startup-part-2-c431e80d0df
Medium
App Startup, Part 2
Lazy Initialization
Наверное каждый занимался поддержкой нескольких языков в приложении и знает, что не всегда всё так просто. По этому случаю вышла статья, в которой собраны особенности и распространенные ошибки при локализации приложений.
https://juliensalvi.medium.com/demystifying-locale-on-android-95450adf5aec
https://juliensalvi.medium.com/demystifying-locale-on-android-95450adf5aec
Medium
Demystifying Locale on Android
At some point, every Android developer will end up using a Locale for the applications they are building. If you are dealing with dates…
Все хотят, чтобы их проекты собирались быстро, поэтому постоянно появляются разные способы ещё немного сократить время сборки. На этот раз предлагается использовать свойство resConfigs для отключения ненужных вариантов ресурсов при разработке.
https://medium.com/livefront/improve-android-build-times-by-using-resconfigs-99177a3c6d90
https://medium.com/livefront/improve-android-build-times-by-using-resconfigs-99177a3c6d90
Medium
Improve Android build times by using resConfigs
Remove unneeded language resources from your local builds and simplify configuration for your whole team
Очень удобно, когда можно сделать ссылку на определенную часть приложения. Подобные ссылки называют диплинками. В статье подробный гайд по работе с такими ссылками: добавление в приложение, дебаг и обработка ссылок без установленного приложения.
https://www.raywenderlich.com/18330247-deep-links-in-android-getting-started
https://www.raywenderlich.com/18330247-deep-links-in-android-getting-started
kodeco.com
Deep Links in Android: Getting Started
In this tutorial you’ll learn how to use intent filters to create deep links in to your Android app.
Упрощаем работу со сторонними библиотеками с помощью корутин и Flow. Бонусом идет разбор внутреннего устройства оберток suspendCancellableCoroutine и callbackFlow.
https://medium.com/androiddevelopers/simplifying-apis-with-coroutines-and-flow-a6fb65338765
https://medium.com/androiddevelopers/simplifying-apis-with-coroutines-and-flow-a6fb65338765
Medium
Simplifying APIs with coroutines and Flow
simplify APIs using coroutines and Flow as well as how to build your own adapter using suspendCancellableCoroutine and callbackFlow APIs.
Раннее мы уже публиковали несколько статей про стандартные делегаты в Kotlin. Настало время копнуть немножко глубже и рассмотреть более интересные кейсы их использования.
https://proandroiddev.com/kotlin-delegation-by-inception-61f8beaae0db
https://proandroiddev.com/kotlin-delegation-by-inception-61f8beaae0db
Medium
Kotlin Delegation by Inception
Delegating to delegates with a functional twist
Jetpack библиотека CameraX должна избавить всех от боли при использовании камеры в приложениях. В новых версиях библиотеки разработчики отказались от единого CameraView и заменили его на связку PreviewView + CameraController. О том, как работать с последним в статье.
https://medium.com/androiddevelopers/camerax-learn-how-to-use-cameracontroller-e3ed10fffecf
https://medium.com/androiddevelopers/camerax-learn-how-to-use-cameracontroller-e3ed10fffecf
Medium
CameraX: Learn how to use CameraController
Introducing CameraController + Migrating from CameraView
Классическая шпаргалка по созданию кастомного View: жизненный цикл, конструкторы, собственные атрибуты и анимации.
https://vladsonkin.com/ultimate-guide-to-android-custom-view/
https://vladsonkin.com/ultimate-guide-to-android-custom-view/
Чеклист для миграции приложений на Android 11: Foreground Service Type, новые Permissions, Scoped Storage и прощание с AsyncTask.
https://proandroiddev.com/the-quick-developers-guide-to-migrate-their-apps-to-android-11-e4ca2b011176
https://proandroiddev.com/the-quick-developers-guide-to-migrate-their-apps-to-android-11-e4ca2b011176
Medium
The Quick Developers Guide to Migrate Their Apps to Android 11
Getting your app ready for Scoped Storage, Package Visibility, Permission changes, etc
Ребята из Airbnb выпустили библиотеку Showkase для визуализации и ораганизации UI компонентов на Jetpack Compose. Теперь поддерживать систему компонентов будет намного проще.
https://medium.com/airbnb-engineering/introducing-showkase-a-library-to-organize-discover-and-visualize-your-jetpack-compose-elements-d5c34ef01095
https://medium.com/airbnb-engineering/introducing-showkase-a-library-to-organize-discover-and-visualize-your-jetpack-compose-elements-d5c34ef01095
Medium
Introducing Showkase: A Library to Organize, Discover, and Visualize Your Jetpack Compose Elements
Showkase is an annotation-processor based Android library that helps you organize, discover search and visualize Jetpack Compose UI…
Возможно вы слышали, что кроме привычного LayoutInflater существует его асинхронная версия — AsyncLayoutInflater. В статье рассказывается, что это такое и в каких кейсах бывает полезным.
https://blog.stylingandroid.com/asynclayoutinflater/
https://blog.stylingandroid.com/asynclayoutinflater/
Styling Android
AsyncLayoutInflater
You never get a second chance to make a good first impression. This old adage is particularly true for apps. A bad first impression can often drive users to abandon an app before they have properly t