TGINSIGHT CHAT
Android Broadcast
@android_broadcast
TechnologiesПодборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR
Posts récents
Page 26 sur 84 · 1,000 posts
Publié 10 oct.
🔨 Вышел четвертый эпизод Android Studio Narwhal Feature Drop Из нового и важного - поддержка создания декларативных циферблатов часов (без кода, только XML править) #androidstudio#android
Hashtags
Publié 9 oct.
🤖Статья (5м) в формате расследования как происходит остановка приложения из-за крэша и где возникает это. Из статьи узнаете про: 👉 UncaughtExceptionHandler 👉 ActivityThread 👉 Как происходит остановка процесса #android#подкапотом
Hashtags
Publié 8 oct.
‼️ИЩУ КАНДИДАТА! Собеседование на Kotlin Multiplatform разработчика Алексей Панов @kotlin_adept , опытный мобильный разработчик, реализующий приложения с применением KMP, проведет собеседование на позицию Kotlin Multiplatform разработчика в прямом эфире на YouTube канале "Android Broadcast" (время и дата будут объявлены позже) Требования к кандидату: 👉 Опыт в мобильной разработки 👉 Опыт с Kotlin 👉 Понимание как происходит разработка приложений с KMP Будет теория и практика. Это ваш шанс проявить себя и заявить на большую аудиторию о своих возможностях! Если решили принять участие - заполняйте анкету! #AndroidBroadcast
Hashtags
Publié 8 oct.
🤖 Если вы искали альтернативу Dagger/Hilt, но с поддержкой Kotlin Multiplatform, то как раз вышла свежая версия Koin Annotations, которая значительно упрощает миграцию! #dagger#hilt#koin
Publié 7 oct.
📹Как проходит собеседование на позицию Android разработчика в Wildberries Александр Гирев, разработчик из Wildberries, провел собеседование на канале, так как оно происходит для всех кандидатов в компанию. Несколько секций, разные темы и много полезной инфы! Смотреть до конца. 📹 Также смотрите на VK Video 🔈 ХОТИТЕ ПОПАСТЬ НА собеседование KMP разработчика - уже открыт прием заявок! Заполняйте тут #AndroidBroadcast#собес
Hashtags
Publié 7 oct.
🚀 Ускорения запуска приложения со Splash скрин за счет использования прозрачной Activity. По умолчанию все Activity в Android являются непрозрачными и перекрывают Activity под ними, что приводит к остановке их работы. Автор статьи решил сделать иначе и запускается MainActivity, а поверх SplashActivity. Это позволяет продолжать работать MainActivity и прогреть код в ней. Подробности в статье (EN,9м) #android#производительность
Hashtags
Publié 6 oct.
В программировании есть 2 нерешаемые задачи: выбор имён и когда сбрасывать кэш Phil Karlton Какие еще задачи знаете вы? Делитесь в комментариях 🔽
Publié 6 oct.
🔥Как ускорить запуск приложения - вынести инициализацию Firebase из Main потока в Application.onCreate() и запустите его на фоновом потоке. Профит на графике. Источник - блог @nek_12_personal #firebase#android#performance
Hashtags
Publié 6 oct.
🔥Вышел JUnit 6 с поддержкой Kotlin Прошло более 8 лет с релиза JUnit 5 (10 сентября 2017 года) и вот новая мажорная версия популярного фреймворка для написания Unit тестов в Java Ключевые изменения в новой версии: 👉 Поддержка Java 17 и Kotlin 2.2+ 👉 Переход на аннотации JSpecify 🏝 Поддержка корутин из Kotlin 👉 Поддержка Java Flight Recorder (JFR) из коробки 👉 Поддержка отмены выполнения теста 👉 Удалено deprecated API 👉--fail-fast режим для запуска тестов из терминала #тестирование#kotlin
Hashtags
Publié 4 oct.
⚠️ Работа с зависимостями в Gradle таит множество подводных камней: - Откуда берётся зависимость? - Какие транзитивные зависимости подтянутся вместе с ней? - Как убедиться, что скачался именно тот артефакт, который вы ожидали? Чтобы сборка была стабильной, безопасной и быстрой, стоит придерживаться ряда практик 👇 1️⃣Используйте единый источник зависимостей В больших компаниях принято разворачивать свой Nexus / Artifactory. Он проксирует остальные репозитории (MavenCentral, Google и др.), и для проекта остаётся один источник правды. Это ускоряет сборку (репозиторий ближе и быстрее), а также защищает от случайного скачивания библиотек «из непонятного интернета». 2️⃣Ограничивайте содержимое репозиториев При подключении нескольких репозиториев стоит явно ограничить группы пакетов, которые могут из них подтягиваться. Например, для Google Maven: // settings.gradle.kts dependencyResolutionManagement { repositories { google { mavenContent { includeGroupAndSubgroups("androidx") includeGroupAndSubgroups("com.android") includeGroupAndSubgroups("com.google") includeGroupAndSubgroups("org.chromium.net") includeGroupAndSubgroups("com.crashlytics.sdk") } } mavenCentral() } } Так вы избежите ненужных запросов в «левые» репозитории. 3️⃣Проверяйте скачанные артефакты Gradle поддерживает dependency verification. Это позволяет проверить контрольные суммы загружаемых артефактов и защититься от подмены. 📖 Документация: Dependency Verification Пример gradle/verification-metadata.xml: <verification-metadata> <configuration> <verify-metadata>true</verify-metadata> <verify-signatures>false</verify-signatures> </configuration> <components> <component group="org.apache.pdfbox" name="pdfbox" version="2.0.17"> <artifact name="pdfbox-2.0.17.jar"> <sha512 value="..." /> </artifact> </component> </components> </verification-metadata> 4️⃣Ограничивайте транзитивные зависимости Любая библиотека подтягивает за собой десятки других. Чтобы не получить неожиданное поведение или небезопасные версии — используйте constraints: dependencies { implementation("org.apache.httpcomponents:httpclient") constraints { implementation("org.apache.httpcomponents:httpclient:4.5.3") { because("previous versions have a critical bug") } implementation("commons-codec:commons-codec:1.11") { because("version 1.9 pulled from httpclient has issues") } } } А если нужно зафиксировать версии жёстко: configurations.all { resolutionStrategy { force("org.example:lib:1.2.3") // Есть много других возможностей } } 5️⃣Анализируйте дерево зависимостей Чтобы понять, кто и что тянет, используйте: ./gradlew dependencies ./gradlew dependencyInsight --dependency okhttp --configuration releaseRuntimeClasspath Это поможет отловить дубликаты и неожиданные версии. 6️⃣Автоматизируйте обновления Поддерживайте проект в актуальном состоянии: 🔄 используйте Gradle Versions Plugin, чтобы проверять обновления библиотек. 📝 заведите политику обновлений (например, обновлять минорные версии раз в месяц, а мажорные — отдельно и осознанно). 🔥 В итоге, хорошая стратегия работы с зависимостями — это баланс между удобством разработки и контролем. Чем больше проект и команда, тем жёстче стоит соблюдать правила. #gradle#лучшиепрактики
Hashtags
Publié 4 oct.
🛒Как можно следить за потреблением заряда батареи в Android Vitals В Google Play Console в разделе "Vitals" можно отследить как расходуется заряд батареи приложением, особенно в случаях ненужных захватов Wake Lock. Вы нашли что-то интересное для себя в этом разделе ? Wake Lock — это «костыль», который не дает телефону уснуть. Разработчик может повесить блокировку, чтобы не дать выключится экрану или процессору 📹Видео версия (EN, 21м) #android#googleplay
Hashtags
Publié 2 oct.
‼️Срочно выключите эту настройку в IDE от JetBrains Бесплатные IDE от JetBrains будут шарить код с компанией по умолчанию (источник - офиц. блог JetBrains) для обучения ИИ. Шаринг можно будет отключить в настройках. Чтобы отключить шаринг данных идите в настройки IDE, затем Appearance & Behavior » System Settings » Data Sharing. В Android Studio Narwhal этой галочки нету, но следите за будущими версиями. Интересно, если я в России или Беларуси, то мой кода подойдет для отправки по сети или JB посчитает его неподходящим для обучения AI? Плагины же качать нельзя #jetbrains#androidstudio#ai
Hashtags