Forwarded from Compose Broadcast
This media is not supported in your browser
VIEW IN TELEGRAM
Valkyrie - плагин для Idea/Android Studio от подписчика канала для конвертации SVG и Android XML Vector Drawable в Compose ImageVector. Поддерживает Compose Multiplatform
Давайте поддержим звездой на GitHub
#compose #idea #androidstudio
Давайте поддержим звездой на GitHub
#compose #idea #androidstudio
Один из способов оптимизации скорости сборки Gradle проектов - отказаться от плагинов. Автор статьи (9м) рассказывает как и когда превратить Android Gradle модуль в Java/Kotlin модуль, чтобы ускорить сборку
#gradle #оптимизация #agp
#gradle #оптимизация #agp
Media is too big
VIEW IN TELEGRAM
Я использую Koin еще с самой первой версии, он неплохо справляется с небольшими проектами, но дальше требует работы как самурай. В видео для патронов рассказываю, что не так с Koin, как этого избегаю и какой DI нужен для KMP.
Видео доступно на Boosty и по подписке в Telegram.
#AndroidBroadcast #koin #di #kmp #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Kotlin Adept Notes (Alex Panov)
Нашли серьезную уязвимость в Jetpack Navigation Compose, которая позволяет открыть любой экран в приложении, даже если там нет явных диплинков ⚠️
Эксплуатируется она максимально просто, достаточно знать имя пакета и название маршрута в графе навигации:
Как защититься
1. Разумеется лучший вариант не использовать данную навигацию, можете посмотреть мой пост со сравнением библиотек навигации для Compose и выбрать подходящую
2. Если в приложении не используются диплинки, можно частично решить проблему перетерев data в определенном intent:
#Security #Compose
@kotlin_adept
Эксплуатируется она максимально просто, достаточно знать имя пакета и название маршрута в графе навигации:
Intent().apply {
setClassName("your.package", "your.package.MainActivity")
data = Uri.parse("android-app://androidx.navigation/YOUR_DESTINATION")
startActivity(this)
}
Как защититься
1. Разумеется лучший вариант не использовать данную навигацию, можете посмотреть мой пост со сравнением библиотек навигации для Compose и выбрать подходящую
2. Если в приложении не используются диплинки, можно частично решить проблему перетерев data в определенном intent:
val intentData = intent.dataString
if (intentData != null && intentData.startsWith("android-app://androidx.navigation")) {
intent.setData(null)
}
#Security #Compose
@kotlin_adept
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
01:02 Отсутствие полноценной поддержки Kotlin Multiplatform в iOS
04:36 Поиск альтернатив для библиотек и технологий
06:37 Авторы Compose Multiplatform не заботятся о поддержке UI Kit платформы
09:01 Kotlin Multiplatform не позволит значительно сэкономить во времени разработки/деньгах
14:22 Сложно убедить бизнес использовать технологию
19:02 Заключение
Смотрите видео на разных площадках:
#AndroidBroadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
Есть полезная Jetpack библиотека lifecycle-process, которая предоставляет Lifecycle, связанные с процессом вашего приложения (Application класс).
В статье(EN,7м) рассказывается как делают её интеграцию с корутинами и применяют в проекте
#jetpack #coroutines #lifecycle
В статье(EN,7м) рассказывается как делают её интеграцию с корутинами и применяют в проекте
#jetpack #coroutines #lifecycle
This media is not supported in your browser
VIEW IN TELEGRAM
Copilot Autofix станет доступен всем open source проектам на GitHub в сентябре абсолютно бесплатно.
Copilot Autofix анализирует код на уязвимости в PR и предлагает сразу их исправить
#copilot #github #opensource
Copilot Autofix анализирует код на уязвимости в PR и предлагает сразу их исправить
#copilot #github #opensource
Вынужден перенести стрим с 15 августа на 21. Неважно себя чувствую и провести его сегодня не смогу
Тем кому доступен Gemini будет круто в Android Studio Lady Bug ведь там будет анализ отчетов ошибок в App Quality Insights (Crashlytics и Google Play).
#androidstudio #ai #gemini #crashlytics
#androidstudio #ai #gemini #crashlytics
В AppMetrica появилась новая фича Инсайты - это инструмент, который автоматически анализирует изменения основных метрик приложения и сообщает о самых заметных колебаниях прямо в интерфейсе AppMetrica. Инсайты можно использовать при выпуске новой версии приложения или для оценки результатов без погружения в аналитику.
Доступны 6 типов инсайтов:
👉 Изменение длительность пользовательской сессии в новой версии приложения
👉 Изменение доли платящих пользователей
👉 Соотношение DAU и WAU или WAU и MAU за неделю
👉 Средняя выручка на одного платящего пользователя
👉 Средняя выручка по рекламе на активного пользователя
👉 Выручка от покупок пользователя
#аналитика #appmetrica
Доступны 6 типов инсайтов:
👉 Изменение длительность пользовательской сессии в новой версии приложения
👉 Изменение доли платящих пользователей
👉 Соотношение DAU и WAU или WAU и MAU за неделю
👉 Средняя выручка на одного платящего пользователя
👉 Средняя выручка по рекламе на активного пользователя
👉 Выручка от покупок пользователя
#аналитика #appmetrica
Как писать Android приложения без привязки к Google и Firebase сервисам от разработчика из VK
#firebase #gms
#firebase #gms
Передача данных между фрагментом и BottomSheetDialogFragment с использованием Dagger и Navigation Component (2м) - статья с рецептом с упором на код
#fragment #dagger #jetpack #di
#fragment #dagger #jetpack #di
Forwarded from Compose Broadcast
Альтернативная библиотека для организации пагинации списков в Compose UI на мультиплатформе
#compose #пагинация #kmp #android #ios #desktop #js #wasm
#compose #пагинация #kmp #android #ios #desktop #js #wasm
Короткая статья (6м) про то как Android Studio может позволить вам легко перенести модель TensorFlow Lite в приложение
#ai #tensorflow #tflite #androidstudio
#ai #tensorflow #tflite #androidstudio
Разработчик делится (8м) почему на проекте Android проекте решили переехать с JUnit4 на JUnit5. Преимущества пятой версии: удобство, скорость выполнения тестов, больше фиче и они добавляются
#тестирование #junit
#тестирование #junit
На какой версии JUnit вы пишите тесты?
Anonymous Poll
37%
Не пишу тесты
28%
4
21%
5
5%
Не знаю
3%
Использую другой тестовый фреймворк
6%
Не пишу код/Не участвую
Кирилл Попов, руководитель Android-платформы в OK и Mobile Broadcast эксперт по Android, рассказал как начинался сервис Tracer и куда он развивается.
Tracer - это сервис для сбора и анализа ошибок в мобильных приложениях под iOS и Android, который умеет отслеживать крэши и ANR, собирать дампы памяти и отслеживать утечки, собирать информацию об использовании места на диске, профилировать работу CPU и многого другого.
#инструменты
Tracer - это сервис для сбора и анализа ошибок в мобильных приложениях под iOS и Android, который умеет отслеживать крэши и ANR, собирать дампы памяти и отслеживать утечки, собирать информацию об использовании места на диске, профилировать работу CPU и многого другого.
#инструменты