Приложения, которые имеют targetSDK 30 (Android 11), более не смогут получить список всех приложений без специального разрешения и одобрения Google Play. Разбираемся, как работать с новыми ограничениями.
https://medium.com/androiddevelopers/working-with-package-visibility-dc252829de2d
https://medium.com/androiddevelopers/working-with-package-visibility-dc252829de2d
Medium
Working with Package Visibility
In Android, we are making changes to enhance user privacy and platform security to provide our users with a safer experience. Apps…
Некоторое время назад Google вслед за Apple понизила комиссию с покупок до 15% для большинства разработчиков, самое время разобраться как работать с in-app покупками в Android.
https://medium.com/firefly-agency/android-in-app-purchases-tutorial-tips-tricks-487cdbba2b37
https://medium.com/firefly-agency/android-in-app-purchases-tutorial-tips-tricks-487cdbba2b37
Medium
Android In-App Purchase Tutorial: Tips & Tricks
Google Play Billing is a Google service that allows you to sell digital goods inside your application.
Большая шпаргалка по шаблонам проектирования и архитектурным подходам с примерами: от синглтонов и фабрик до чистой архитектуры.
https://www.raywenderlich.com/18409174-common-design-patterns-and-app-architectures-for-android
https://www.raywenderlich.com/18409174-common-design-patterns-and-app-architectures-for-android
kodeco.com
Common Design Patterns and App Architectures for Android
Discover how to make your Android code cleaner and easier to understand with these common design patterns for Android apps. “Future You” will appreciate it!
Подборка советов по проектированию и написанию кода, которые сделают его более поддерживаемым и безопасным.
https://medium.com/livefront/dont-make-your-code-predict-the-future-5b60b58905aa
https://medium.com/livefront/dont-make-your-code-predict-the-future-5b60b58905aa
Medium
Don’t Make Your Code Predict the Future
Principles with examples for writing code that makes everyone’s job easier in the long run without being clairvoyant.
Функции изменяющие область видимости, вроде let или with, зачастую бывают удобными и полезными, однако злоупотребление ими ухудшает читаемость и надежность кода. В статье автор рассказывает как пользоваться подобными функциями без вреда.
https://proandroiddev.com/noisy-code-with-kotlin-scopes-331c632739de
https://proandroiddev.com/noisy-code-with-kotlin-scopes-331c632739de
Medium
Noisy Code 🗣 with Kotlin Scopes
Scopes make your code more readable? think again
Джейк Вортон рассуждает на тему необходимого уровня абстракции в библиотеках, а также почему отсутствие встроенной поддержки Activity и Fragment у ViewBinding — это хорошо.
https://jakewharton.com/integration-verbosity-and-good-layering/
https://jakewharton.com/integration-verbosity-and-good-layering/
Jake Wharton
Integration verbosity and good layering – Jake Wharton
Подборка из 10 советов по ускорению Gradle сборок: не смешивать Java и Kotlin код в одном модуле, отключать неиспользуемые функции Android плагина, отключать Jetifier и другие.
https://medium.com/dipien/10-great-ideas-to-improve-your-gradle-build-times-2a6b281c69c6
https://medium.com/dipien/10-great-ideas-to-improve-your-gradle-build-times-2a6b281c69c6
Medium
10 ideas to improve your Gradle build times [Part I]
Reduce your Gradle build times on android & non-android projects with these great ideas
Возможно в примерах по Jetpack Compose вы замечали конструкцию
https://dev.to/zachklipp/remember-mutablestateof-a-cheat-sheet-10ma
remember { mutableStateOf() }
. Разбираемся, что скрывается за этой строчкой кода.https://dev.to/zachklipp/remember-mutablestateof-a-cheat-sheet-10ma
DEV Community
remember { mutableStateOf() } – A cheat sheet
If you've ever read any Compose code, you've probably seen this at least a million times: var text...
Крутой гайд по WorkManager: от запуска простых задач до наблюдения за прогрессом и тестирования. Если вы откладывали изучение WorkManager, то самое время во всем разобраться.
https://www.raywenderlich.com/20689637-scheduling-tasks-with-android-workmanager
https://www.raywenderlich.com/20689637-scheduling-tasks-with-android-workmanager
kodeco.com
Scheduling Tasks With Android WorkManager
In this WorkManager tutorial, you’ll learn how to schedule different kinds of tasks, test the tasks, as well as debug different tasks.
JetBrains выпустила интерактивную оболочку ki, которая позволяет работать с кодом прямо из терминала. Среди основных функций: автодополнение, поддержка внешних зависимостей, вывод типов и поддержка плагинов.
https://blog.jetbrains.com/kotlin/2021/04/ki-the-next-interactive-shell-for-kotlin/
https://blog.jetbrains.com/kotlin/2021/04/ki-the-next-interactive-shell-for-kotlin/
The JetBrains Blog
ki: The Next Interactive Shell for Kotlin | The Kotlin Blog
There are several options to run Kotlin interactively: kotlinc and Kotlin REPL (read-evaluate-print loop) in IntelliJ IDEA. Neither is ideal. kotlinc does not have autocomplete or syntax highlighting.
Небольшая библиотека для отображения сообщений в статусбаре, наподобие того, как это сделано в Telegram.
https://github.com/fede87/StatusBarAlert
https://github.com/fede87/StatusBarAlert
GitHub
GitHub - fede87/StatusBarAlert: Telegram X inspired android status bar alert view
Telegram X inspired android status bar alert view. Contribute to fede87/StatusBarAlert development by creating an account on GitHub.
Простыми словами про О нотацию с примерами кода на Kotlin.
https://dev.to/danpgomez/big-o-time-complexity-of-algorithms-with-kotlin-examples-ij0
https://dev.to/danpgomez/big-o-time-complexity-of-algorithms-with-kotlin-examples-ij0
DEV Community
Big O: Time Complexity of Algorithms with Kotlin examples
A simple reference using Kotlin to give myself some practice as well as help others who might also find this useful.
Уже в понедельник, 19 апреля, стартует новый сезон Podlodka Android Crew!
Конференция как и всегда пройдет в формате двухнедельного интенсива. Темы этого сезона – “Многопоточность” и “Jetpack”.
🤯 Неделя “Многопоточность” говорит сама за себя. Разберемся, как она фундаментально работает, рассмотрим основные инструменты и ответим на вопрос, когда стоит выбрать RxJava, корутины или вообще остаться на чистых потоках. Бонус: публичное собеседование по многопоточности! После нашей конференции вам такие собесы будут не страшны💪
🚀 На второй неделе погружаемся в Android Jetpack. Под этим названием скрывается множество библиотек и инструментов: Compose, Workmanager, Paging3, Navigation и не только. Мы узнаем, что там есть полезного, как они устроены под капотом, и как затащить их к себе в проект с максимальной пользой.
Помимо докладов в программе множество нескучных форматов: рулетки кейсов, батлы, лайв-кодинги и не только. Кроме того, вы получите доступ к записям всех сессий, чтобы потом в любой удобный момент можно было освежить знания!
Крутые спикеры, общение в слаке с другими участниками и полезные сессии – все это уже с 19 апреля! Подключайтесь!
Конференция как и всегда пройдет в формате двухнедельного интенсива. Темы этого сезона – “Многопоточность” и “Jetpack”.
🤯 Неделя “Многопоточность” говорит сама за себя. Разберемся, как она фундаментально работает, рассмотрим основные инструменты и ответим на вопрос, когда стоит выбрать RxJava, корутины или вообще остаться на чистых потоках. Бонус: публичное собеседование по многопоточности! После нашей конференции вам такие собесы будут не страшны💪
🚀 На второй неделе погружаемся в Android Jetpack. Под этим названием скрывается множество библиотек и инструментов: Compose, Workmanager, Paging3, Navigation и не только. Мы узнаем, что там есть полезного, как они устроены под капотом, и как затащить их к себе в проект с максимальной пользой.
Помимо докладов в программе множество нескучных форматов: рулетки кейсов, батлы, лайв-кодинги и не только. Кроме того, вы получите доступ к записям всех сессий, чтобы потом в любой удобный момент можно было освежить знания!
Крутые спикеры, общение в слаке с другими участниками и полезные сессии – все это уже с 19 апреля! Подключайтесь!
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #13
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Разбираемся с многопоточностью в Kotlin Multiplatform проектах: используем примитивы для безопасной работы с состояниями и решаем проблему с многопоточными корутинами в iOS.
https://emmanuelkehinde.io/supporting-multithreaded-coroutines-in-a-kotlin-multiplatform-project/
https://emmanuelkehinde.io/supporting-multithreaded-coroutines-in-a-kotlin-multiplatform-project/
emmanuelkehinde.io
Supporting multithreaded coroutines in a Kotlin Multiplatform project - emmanuelkehinde.io
Concurrency happens to be a very important topic today in programming. Unfortunately, you encounter a different state and concurrency model for iOS once you
Реализуем Snackbar с действием на Jetpack Compose.
https://proandroiddev.com/implementing-snackbar-to-undo-actions-in-jetpack-compose-7b8ec92cf8a7
https://proandroiddev.com/implementing-snackbar-to-undo-actions-in-jetpack-compose-7b8ec92cf8a7
Medium
Implementing Snackbar to undo actions in Jetpack Compose
Snackbar is a great way to inform the use without interrupting the experience. In this article we will learn how to implement in Compose
Вышел релиз кандидат Kotlin 1.5.0, а это значит, что и стабильная версия уже не за горами, Все грядущие нововведения в одной статье: беззнаковые типы, расширения для работы со строками и коллекциями, математические операции и другие.
https://blog.jetbrains.com/kotlin/2021/04/kotlin-1-5-0-rc-released/
https://blog.jetbrains.com/kotlin/2021/04/kotlin-1-5-0-rc-released/
The JetBrains Blog
Kotlin 1.5.0-RC Released: Changes to the Standard and Test Libraries | The Kotlin Blog
Kotlin 1.5.0-RC is available with all the features planned for 1.5.0 – check out the entire scope of the upcoming release! New language features, stdlib updates, an improved testing library, and many
Быстродействие очень сильно влияет на общее впечатление от приложения. Серия статей, посвященной скорости работы приложений: от скорости запуска и отрисовки до времени отклика на действия пользователя.
https://dev.to/pyricau/android-vitals-tap-response-time-19mj
https://dev.to/pyricau/android-vitals-tap-response-time-19mj
DEV Community
Android Vitals - Tap Response Time 👉
Header image: Alone Together by Romain Guy. Android users expect apps to respond to their actions...
Новая серия статей из цикла 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…