TGINSIGHT CHAT
Android Broadcast
@android_broadcast
TechnologiesПодборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR
Posts récents
Tag : #android · 490 posts
Publié 5 avr.
Отключите эти настройки Android в Gradle для ускорения сборки В Android Gradle Plugin есть настройка разных build feature для включения разных опций // Часть флагов могут быть доступны только в определнных типах модулей // Указаны знгачения по умолчанию в Android Gradle Plugin 8.10.0 android { buildFeatures { // Включить/выключить Android ресурсы для библиотечных модулй androidResources = true aidl = false buildConfig = false compose = false dataBinding = false mlModelBinding = false prefab = false renderScript = false // Генерация ресурсов из Gradle файла resValues = true shaders = true viewBinding = false } } Каждая из них отвечает за определенную опцию, но вот значение каждой опции будет зависеть от версии. Я предпочитаю явно выключить все опции по умолчанию и в каждом модуле включать их только при необходимости в модуле в build.gradle.kts. Сделать это можно через gradle.properties # Отключение ресурсов для Android Library модулей android.library.defaults.buildfeatures.androidresources=false android.defaults.buildfeatures.aidl=false android.defaults.buildfeatures.resvalues=false android.defaults.buildfeatures.databinding=false android.defaults.buildfeatures.mlmodelbinding=false android.defaults.buildfeatures.shaders=false android.defaults.buildfeatures.prefabPublishing=false android.defaults.buildfeatures.viewbinding=false ‼️ Больше полезных советов и статей в Базе Знаний Android разработчика #android#gradle#лучшиепрактики
Hashtags
Publié 5 avr.
Статья с рассказом истории написания файлового менеджера для WearOS 🛒Приложение в Google Play 🐱Исходный код на GitHub #android#wearos#opensource
Hashtags
Publié 5 avr.
🤖Альтернативный способ обработке one-off событий из ViewModel (EN, 10м) В статье рассказывается в чем сложность с обработкой одноразовых событий, которые надо передать из ViewModel в UI. Автор рассматривает способ через callback интерфейс в конструкторе ViewModel @HiltViewModel class MyViewModel @Inject constructor( // inject the interface private val toastMessages: ToastMessages, ) : ViewModel() { fun doSomething() { viewModelScope.launch { try { // execute async operation here } catch (e: CustomException) { // initiate a one-off event toastMessages.showToast(e.localizedMessage) } } } } 🔗 Альтернативная ссылка на статью #android#viewmodel#dagger#hilt
Hashtags
Publié 4 avr.
🏝BundledSQLiteDriver: новый взгляд на SQLite в Android и Kotlin Multiplatform (12м) Чтобы добавить поддержку других платформ в Jetpack Room, необходимо было обеспечить совместимость с различными версиями SQLite, встроенными в ОС, а также с теми, которые могут подключаться отдельно. Результатом стал BundledSQLiteDriver, который позволяет использовать актуальную версию SQLite, поставляемую отдельно, и применять её на всех платформах. В статье подробно рассматриваются особенности этого подхода к работе с SQLite в Room. #kotlin#kmp#android#jetpack
Publié 4 avr.
📹Android Builds: Simple Recipes to Enhance Developer Productivity (26 мин) Видео с Gradle DPE Summit про основные советы по Gradle для Android разработчиков 00:00 Introduction 00:48 About Toast 03:09 Build Growth Challenges 05:21 Reducing Build Times 06:28 Hardware Solutions 08:08 Gradle Properties 11:36 Memory Management 16:05 Dependency Handling 19:40 CI Optimization 23:35 Agent Configuration 25:38 Conclusion #android#gradle
Publié 4 avr.
📹Enhancing app performance in Android | Android Build Time (1 час) #android#производительность
Hashtags
Publié 3 avr.
🛒 RuStore сделали отдельный сайт со всеми инструментами, доступными для разработчиков в магазине приложений #android#rustore
Publié 2 avr.
🤖Как ускоряли скорость сборки в Android-приложении для продавцов Ozon (11 мин) Для любого ускорения важно на первом этапе определить, как измерять результат, и уже потом применять улучшения. Какие практики применялись: 👉 Включение Gradle Build и Configuration Cache 👉 Разделение тяжелых для сборки модулей на более мелкие, чтобы можно было выполнять работу параллельно 👉 Выделение API-модулей и превращение их в JVM/Kotlin-модули без Android-плагинов 👉 Замена KAPT на KSP 👉 Удаление неиспользуемых зависимостей с помощью анализа от Dependency Analysis Gradle Plugin 👉 Использование нетранзитивных R-классов 👉Базовые рекомендации от Android-команды 👉 Включение всех опций Gradle для ускорения сборки Читал статью, и меня не отпускало ощущение, что про всё это уже слышал много раз, и все советы взяты из стандартных лучших практик. Тем, кто не оптимизировал сборку, точно поможет. #android#производительность#gradle
Publié 2 avr.
🤖Как обойти запрет на получение списка установленных приложений🤯 Знали ли вы, что приложениям теперь недоступно получать список установленных приложений без специального разрешения - QUERY_ALL_PACKAGES? Ловите статью о том, как это легко обходится реальными приложениями, опубликованными в Google Play, и у модерации магазина нет вопросов. #android#безопасность
Hashtags
Publié 2 avr.
Разработчик из Ozon делится опытом, как организовали с помощью фич языка Kotlin хранилище Dagger-компонентов, доступное из любого модуля, управляющее их жизненным циклом и забравшее другую рутину на себя. #android#dagger#di
Publié 1 avr.
Вышел первый Release Candidate Android Studio Meerkat Feature Drop 2024.3.2 #android#androidstudio
Hashtags
Publié 30 mars
⚙️Как работать с Custom Layout в Jetpack Compose (21м) В этой статье вы найдете: 👉 как работают layout-ы в Compose; 👉 изменение layout-а отдельного компонента; 👉 создание кастомных Layout и LazyLayout; 👉 отложенную композицию. Всё это на примерах, в том числе из дизайн-системы Авито. #compose#android