Android Good Reads
3.88K subscribers
344 photos
13 videos
1 file
2K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Автор канала: @Lamprof

Размещение рекламы: @tanyasanovna
Download Telegram
Как подключить Per-App Language Preferences в свое приложение

- Per-App Language Preferences – новая фича Android 13, которая позволяет определять язык не для всей системы, а гибко настраивать его для отдельных приложений.
- В настройках языка появляются только те приложения, которые в явном виде настроили эту фичу.
- В статье дается инструкция по настройке фичи и миграции данных пользователей более старых версий Android.
Скидки на плейлисты Podlodka Crew

Мы с командой запустили распродажу всех плейлистов Подлодки под Черную пятницу. Скидка накопительная, больше плейлистов – больше скидон. Вот несколько особенно крутых, которые рекомендую вам посмотреть:

🧱Android Crew 9 – Advanced архитектура: модуляризация, навигация, Compose
🤯Android Crew 8 – Android под капотом
🎨Android Crew 3 – Алгоритмы и работа с UI

Я опоздал рассказать вам про акцию, поэтому лучше поспешить – мы закроем ее уже завтра.

👉Магазин плейлистов
CameraViewFinder – новый способ работать с превью камеры

В CameraX появился новый класс – CameraViewFinder. С его помощью можно быстро реализовывать превью видеопотока с камеры устройства, которое будет автоматически адаптироваться под изменения контекста – смену ориентации, изменения инсетов, получение доступа к камере другим приложением.
Команда Тинькофф ищет Android-разработчиков 💡

Большое комьюнити мобильных разработчиков Тинькофф решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов, экспериментирует и ищет новые решения. Приглашает в команду Android-разработчиков с опытом от трех лет

Работать с Тинькофф значит:

— не ограничивать свои скиллы и вводить в сервисы новые фичи;
— делать жизнь миллионов людей удобнее и технологичней;
— расти в грейде по скиллам, а не по стажу в компании;
— становиться заметным в комьюнити Android-разработчиков.

А еще команда всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируют компании: от расширенного ДМС и юридической помощи до питания и разных активностей.

Откликнуться и узнать подробнее о команде Android-разработчиков Тинькофф: https://l.tinkoff.ru/mobile-prof
Генерация Baseline Profiles с помощью GitHub Actions

Самая сложная часть работы с baseline profiles – их генерация. В статье лежит гайд по тому, как можно быстро настроить генерацию профиля для своего проекта на базе GitHub Actions.
Тред иконок приложений, сгенерированных Midjourney

Прогресс нейронок, генерирующих иллюстрации, сделал более доступными и красивые иконки для ваших пет-проектов. Посмотрите, какая красота получается!
📌 ВКонтакте привлекает разработчиков к созданию мини-приложений

Команда регулярно проводит конкурсы вроде VK Fresh Code, которые помогают найти лучшие ИТ-продукты и привлечь к развитию платформы талантливых разработчиков. В недавнем этапе выиграли 25 мини-приложений на базе платформы VK Mini Apps на разные тематики, а их создатели получили гранты из призового фонда в 4,5 миллиона рублей. Поучаствовать в конкурсе могут как отдельные разработчики, так и команды.
Обновился роадмап Kotlin

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

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

Голосуйте за самые интересные тикеты, задавайте в комментариях к ним вопросы и обратную связь!
Remote Development в Uber

Отличная статья для тех, кто любит читать, как решаются проблемы в огромных командах разработки. После переезда всех сервисов и приложений Uber в монорепозиторий заметно просела скорость сборки и сложность поднятия локального окружения. Чтобы решить проблему, команда реализовала возможность быстрого поднятия контейнера с преднастроенным рабочим окружением, к которому можно коннектиться с помощью remote development фичей IntelliJ и VSCode.

В статье детали про архитектуру решения, его плюсы и известные проблемы.
Все про работу со стейтом в Compose

var enabled by remember { mutableStateOf(true) }

☁️mutableStateOf(true) создает объект типа MutableState<Boolean>, который содержит сам стейт
☁️Функция remember говорит фреймворку о том, что выполнять лямбду при каждой рекомпозиции не нужно
☁️Ключевое слово by позволяет работать с переменной enabled как с Boolean

Статья начинается с разбора того, как именно определяется стейт, а затем уходит в детали:

🧷Что будет, если опустить что-то из перечисленных выше шагов
🧷Чем отличаются stateful и stateless composables, и когда стейт нужен
🧷Почему TextInput должен быть stateful
🧷Работа со стейтом во ViewModel
🧷Представление стейта с помощью Flow, rxJava и LiveData
У Сбера появилась платформа для разработчиков html-игр.

Здесь каждый может не только получить новый канал продвижения, но и монетизировать свои разработки — достаточно адаптировать игру под пульт, загрузить в каталог хостинга Сбера и начать зарабатывать на in-app покупках и рекламных интеграциях.

Для геймдевелоперов у Сбера действует ежемесячная программа мотивации.

Все подробности здесь
Как устроен и работает Kotlin DSL для описания конфига GitHub Actions

Автор проекта github-workflows-kt рассказывает о том, как настрадался с описанием конфигурации CI с помощью YAML и решил переписать все на Kotlin DSL.

Самое интересное в статье – то, как автор подошел к вопросам дизайна, выделял основные сущности и исправлял проблемы большого количества дублирующихся сущностей в YAML.
KotlinDL теперь на Android

ONNX – это спецификация deep learning моделей, которая поддерживается большинством фреймворков для их обучения, например, TensorFlow. KotlinDL дает возможность запускать такие модели прямо на устройстве с помощью простого API.

Вместе с библиотекой идут несколько уже обученных моделей для следующих задач:

👀Определение объектов
🌅Классификация изображений
💃Распознавание поз
😊Распознавание лиц
🫠Выравнивание лиц

Что еще есть в библиотеке:
- DSL для препроцессинга изображений до передачи их нейронке, с готовыми функциями для кропа, изменения масштаба и поворота.
- Поддержка аппаратного ускорения на девайсах со специальным железом.
- Поддержка любых кастомных ONNX моделей, которые обучили вы сами.

Делитесь фидбэком в комментариях, команде он очень важен!
This media is not supported in your browser
VIEW IN TELEGRAM
Самое простое интро в шейдеры

Если вы никогда не писали свои шейдеры, и просто киваете с умным видом, когда кто-то начинает говорить про оптимизированный под GPU код, обязательно прочитайте статью.

💻Отличие CPU от GPU в вопросах вычислений
🤔Ограничения в разработке шейдеров
🎨Примеры шейдеров
Yatagan – новый DI фреймворк

- Ребята из Яндекс Браузера написали и заопенсорсили новый DI фреймворк, практически полностью совместимый с Dagger по API. Его основной плюс в том, что он ускорил сборку их проекта в два раза.
- В статье с большим количеством деталей разбирается история управления зависимостями в их проекте, архитектура и реализация Yatagan.
Как измерить, сколько времени выполняется блок кода

Самый простой способ узнать, сколько времени уходит на выполнение какого-то куска кода – обернуть его в экспериментальную функцию стандартной библиотеки measureTime. После выполнения лямбды возвращается объект Duration, содержащий информацию о времени ее исполнения.