We Love Android – Telegram
We Love Android
633 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Кодогенерация (а значит kapt) - это уже неотъемлемая часть современных Android проектов. Мы знаем что это медленно и затратно по ресурсам.

Вопрос "как глубоко днище потребления ресурсов kapt-ом" раскрывается в статье. На примере проекта автора - чуть меньше половины времени всей сборки - это генерация кода.

Молимся на Kotlin Symbol Processing (KSP)
👍3
Когда то я написал пост про то что DI фреймворки не решают проблемы, а заменяют их новыми. На что многие мне ответили “а как же так? ты что, пишешь зависимости рУкАмИ? Ты что, Dagger пишет код за меня!”. Ну что ж, давайте я в новом посте покажу тебе, мой сомневающийся в силе фабрик читатель, как при помощи by-делегации в Kotlin можно писать кода не больше чем при использовании Dagger. Привет ребятам с Podlodka Android Crew, которые забайтили меня на это
👍6
Forwarded from addmeto (Grigory Bakunov)
В мире андроида невероятная утечка — утекло несколько сертификатов, принадлежащих разработчикам нескольких аппаратных платформ (один из ключей точно Mediatek, еще один — Samsung). Как это произошло — непонятно, пока гугл не раскрывает причин, но подписав приложение таким сертификатом, злоумышленник может “представиться” системе другим приложением и как следствие получить доступ к файлам приложения, а также выполнить действия, которые разрешены этой программе. Т.е., например, я могу прикинуться приложением карт, предустановленным в вашем телефоне, и получать данные о вашем перемещении или приложением “галерея” и иметь полный доступ к вашим фоткам.

Звучит довольно мощно, надеюсь, что это утечка не из гугла, а из какой-то внешней компании, разрабатывающей аппаратную часть дешевых телефонов. Но все равно мощно, особенно зная, как недолго производители телефонов сопровождают апдейты.

https://bugs.chromium.org/p/apvi/issues/detail?id=100
😢5👍2😱2
Forwarded from Android Broadcast (Кирилл Розов)
Jetpack Compose — When should I use derivedStateOf?

Разбор применения derivedStateOf в Compose - функции, которая предназначена когда ваше состояние или ключ меняются чаще чем надо обновлять UI

#compose
👍3
Forwarded from Android Broadcast (Кирилл Розов)
Как цветовая схема приложения может меняться в зависимости от контента

red_mad_robot делятся опытом работы с content-based color schemes. Это когда цвет вашего приложения меняется в зависимости не от системных цветов, а от контента внутри него. Ребята поверх всего это сделали свое решение (исходники тут) и делятся им.

#android12 #material
👍5
Circuit — это простая, легкая и расширяемая платформа от Slack для создания приложений Kotlin, основанных на Compose.

Circuit на GitHub: https://github.com/slackhq/circuit
Описание: https://slackhq.github.io/circuit/
Платформа: Android
⭐️: 376
👍3
Forwarded from Android Good Reads (Egor Tolstoy)
Генерация Baseline Profiles с помощью GitHub Actions

Самая сложная часть работы с baseline profiles – их генерация. В статье лежит гайд по тому, как можно быстро настроить генерацию профиля для своего проекта на базе GitHub Actions.
👍2
Forwarded from Android Broadcast (Кирилл Розов)
Google выпустила новый GitHub репо - Android Architecture Starter Templates, который содержит шаблоны для быстрого проведения экспериментов или нового приложения с нуля. Все проекты следуют новым архитектурным рекомендациям и руководству по архитектуре

🔗 Источник

#architecture
👍3
Forwarded from Mobile Native ️️
This media is not supported in your browser
VIEW IN TELEGRAM
AutoSizing TextField in Jetpack compose

Пример реализации динамичного размера текста, подгоняемого под размеры поля ввода в Jetpack compose.

Читать (En)
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Physics Layout - библиотека предлагает кастомный макет Jetpack Compose, который работает на основе простого физического движка dyn4j. Каждый компонент Composable корневого уровня в PhysicsLayout может использовать модификатор, чтобы сообщить симуляции, как Composable ведет себя в физическом мире. Таким образом можно создавать пространства и размещать в них элементы интерфейса как на видео.

Physics Layout на GitHub: https://github.com/KlassenKonstantin/ComposePhysicsLayout
Платформа: Android
⭐️: 171
🔥7
Forwarded from Android Broadcast (Кирилл Розов)
Android Distribution Chart - инфа с самой последней официальной информации о распространенности версий Android. На момент написания поста - это 4 августа 2022
👍2
Forwarded from Mobile Native ️️
Principles & Practice in Repository Layer

Еще одна статья про архитектуру, а именно про принципы и практики в data слое (репозиторий).

👉 Mapping
👉 Cache
👉 Concurrency
👉 Single Source-of-truth

Читать (En)
👍2
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Довольно хороший разбор Kotlin Symbol Processing (KSP) на русском:
👉 ограничения
👉 принципы работы
👉 запуск
👉 как происходит генерация кода
👉 инкрементальная генерация
👉 несколько раундов
👉 пример реализации собственного генератора кода

#ksp
👍3
Seal - загрузчик видео/аудио для Android. Умеет скачивать видео и аудио с платформ, поддерживаемых yt-dlp (youtube-dl), добавлять файлам метаданные, скачивать плейлисты, встраивать субтитры и пр. Сделано на Material Design 3 и с учетом MAD на чистом Kotlin.

Seal на GitHub: https://github.com/JunkFood02/Seal
Платформа: Android
⭐️: 1.9K
👍4🔥1
Forwarded from Android Good Reads (Egor Tolstoy)
Обновился роадмап Kotlin

Основной фокус на четырех больших проектах:
1️⃣Релиз стабильного K2 компилятора
2️⃣Релиз нового плагина для IDE на базе K2
3️⃣Стабильный релиз KMM
4️⃣Улучшение жизни авторов библиотек

Подборка интересных фичей и планов:
💣Общий тикет с планами по всем новым языковым фичам и экспериментам
💣Детальные планы по тому, что будет стабилизировано в КММ
💣Первый релиз К2 IDE будет включать в себя только часть фичей старого плагина
💣.gradle.kts планируют сделать дефолтным для всей экосистемы вместо Groovy
💣Новый Gradle DSL для конфигурации компиляторных аргументов
💣Плагин для IDE, который позволит работать с Kotlin в стиле датасаенсовых ноутбуков
💣Много улучшений в KDoc
💣Большой гайд по дизайну API и обеспечению обратной совместимости для авторов библиотек
💣Поддержка Base64 и Hex в stdlib

Голосуйте за самые интересные тикеты, задавайте в комментариях к ним вопросы и обратную связь!
👍3
Forwarded from Mobile Native ️️
Самый запутанный краш в моей жизни

Для решения некоторых кейсов, багов, крешей часто приходиться ковырять исходники. Вот интересная статья про поиск причины креша, который воспроизводится только на 21 api и при выключенном R8.

Креш связан с dex файлами, подробнее читайте в статье.

Читать (Ru)
👍3🌚2
🚨 Немного поздно, конечно, но если у вас в проекте есть зависимости с jitpack.io, включите offline mode в Gradle и не чистите кэши зависимостей.
Jitpack лежит второй день. При этом status.jitpack.io говорит, что всё хорошо 🤷

UPD: А если jitpack объявлен выше других репозиториев, он может и другим зависимостям мешать стянуться. В этом случае exclusive content в помощь и стоит опустить его пониже.

UPD2: В твиторе тоже пусто. Бедняги, вот-вот рождество наступит, а им вместо последних приготовлений надо понимать сервера 😢
👍3😱2