Android Good Reads – Telegram
Android Good Reads
4.09K subscribers
400 photos
17 videos
1 file
2.18K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Размещение рекламы: @tanyasanovna

Автор канала: @Lamprof
Download Telegram
Что можно сделать сегодня вечером после релиза? Правильно! Провести маленький рефакторинг проекта.

Часто во время сборки неиспользуемые ресурсы исключаются из финального билда, но этот процесс занимает время. Что делаем:

🤜 В меню Android Studio ищем Refactor > Remove Unused Resources. Это позволит удалить лишние drawable. Этот процесс аналогичен shrinkResources, который выполняется во время сборки
🤜 Удаляем неиспользуемые классы и переменные. Code > Analyze Code > Run Inspection by Name > Unused Symbol
🤜 Там же выбираем Unused Library, import ...

Хотя эти действия не окажут существенного влияния на скорость сборки и размер APK или AAB, приятно работать в чистом проекте, который собирается на несколько секунд быстрее, чем на прошлой неделе, не так ли?
👍54😁2🤔1
Привет! Это Podlodka Crew, организатор онлайн IT-конференций.
25 марта стартует новый сезон по Android-разработке с темой «Оптимизация UI».

🟢 Попробуем использовать интегральные метрики производительности UI вместе с Павлом Воробкаловым из Яндекс. Наконец-то можно заменить тысячи метрик одной интегральной. Расскажем, как это делать и какие метрики из Web-разработки можно использовать для Android. Обучимся рассчитывать метрики с помощью Mobile Velocity Index.
🟢 Узнаем, как увеличивать производительность приложения с помощью Tracer. Создатель Tracer Кирилл Попов из VK в формате интервью ответит на вопросы об устройстве этого инструмента, объяснит суть и пользу профилирования приложений в проде.
🟢 Обсудим лучшие практики оптимизации Compose вместе с Антоном Хорошкевичем из Авито. Вместе рассмотрим основные аспекты производительности Compose на реальных кейсах. Научимся писать код так, чтобы не нарваться на проблемы.
🟢 Попрактикуемся в использовании дополненной реальности в Android-разработке на примере Додо пиццы. Василий Галузин из Dodo engineering расскажет про возможности и производительность AR.

Билеты уже на сайте:
https://podlodka.io/droidcrew

Поспеши забрать свой, чтобы досконально разобраться в производительности UI приложений. 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🥰2💩1
Android Studio Preview

Следующим маскотом будет Koala. Уже вышла версия Canary 2, а вместе с ней и alpha02 Android Gradle Plugin
13👍5👏2
Опрос показал, что есть интерес к статьям по Jetpack Compose. Разберем структуру Composable на трех уровнях, погружаясь все глубже

1️⃣ Enter → Recompose → Leave. C точки зрения разработчика, который использует Compose просто для верстки интерфейса без необходимости погружаться в детали реализации

2️⃣ Размещение и отрисовка элементов на экране. В какой последовательности и какой жизненный цикл

3️⃣ Уровень компилятора. Увидим во что превращается весь синтаксический сахар и как под капотом происходит рекомпозиция

Сама статья использует другой цикл статей, более полный и с примерами. Рекомендую почитать и его тоже
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2💯1
Разбираемся в шифровании в Android в трех частях. По моему мнению это максимум того, что может пригодиться в работе на позиции Android разработчика

🦾 База Рассмотрим различные способы шифрования и хеширования данных, работающие в Android

🦾 Применяем базу Узнаем, как создать цепочку шифрования и как это работает под капотом

🦾 Прикладное использование в Android Keystore

В итоге:
Это поможет вам хранить данные пользователей более безопасно. Google активно инвестирует в свои библиотеки для безопасного хранения данных, так что вам не придется писать каждый алгоритм вручную.
👍13👏4🔥2
А вот и первые результаты интеграции k2 compiler. Пока что только для автокомплита, рефакторинга и навигации по проекту, но уже значительно быстрее! Впечатляет?

До Android Studio доберется не скоро. Альфа версия будет в IDE 2024.1, а наша с вами Canary недельной давности основана на IDE 2023.2
🔥6👍4👏4
Занимаетесь разработкой SDK, а не приложения? А если еще и поддерживаете семейство библиотек (например Firebase, Compose, Kotlin ...), то наличие BOM практически обязательно, чтобы те, кто пользуется ваш продуктом, не сталкивались с проблемами совместимости.

Если кратко:

👉 Все модули стягиваются в SDK в один проект, например, с помощью Git submodule
👉 Создается еще один модуль *-bom , который не будет содержать кода
👉 Внутрь модуля кладется pom-файл со списком зависимостей и исключениями зависимостей
👉 А дальше релиз зависимостей как мы делали с вами тут

Как это будет выглядеть:

implementation(project.dependencies.platform("com.goodreads.android:bom:1.0.0"))
implementation("com.goodreads.android:library1")
implementation("com.goodreads.android:library2")
👍6👎2🔥1
Небольшой гайд от котлин команды по выбору кроcсплатформенного фреймворка и про медленно, но растущую их популярность.
😐42👍2🔥1
Неплохая первоапрельская шутка про котлин.
Журнальчик https://kotlintoday.com/

Это мы читаем 😁
😁14🤪7
🤔 Если с opensource зависимостями более-менее понятно, как заглянуть в реализацию функции, то с androidx не все так очевидно. Android Studio не всегда догружает исходники, да и зачем? Если можно быстро глянуть нужный класс или пакет в браузере с помощью гугловского инструмента Code Search
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤔5
Продолжаем разбирать прикладные вещи, которые могут помочь на собеседовании и в работе:

Паттерн декоратор Динамически добавляем функциональности классу, оборачивая его в нужную обертку. Хорошая замена наследованию

Паттерн мост Разделяем класс на две отдельные иерархии — абстракцию и реализацию

В целом, касательно паттернов, особенно если готовитесь к собеседованию, можно подглядеть тут. Несмотря на отсутствие примеров на Kotlin, псевдокод и визуализация находятся на высоком уровне
🔥5👍4
И еще 1 паттерн - делегирование. Cайт-учебник наполнен комиксами, объясняющий паттерны человеческим языком. Автор делает упор на паттерн в целом и делегирование свойств класса. Про делегирование свойств объекта неплохо расписано тут

Сам паттерн не сложный, но вы его используете каждый день и хорошо бы знать откуда ноги растут
👍5🔥3
🚀 Отличная новость прошедшей недели

Отдельные анимации для элементов LazyList уже скоро! Свеже-смерженный PR

Как это будет? Заменили модификатор Modifier.animateItemPlacement() на Modifier.animateItem(). Прошлый теперь помечен Deprecated, а новый поддерживает все три типа анимаций: Появление, Удаление, Перемещение.

Как искать в исходниках стандартных библиотек писал тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6
Пошаговая эволюция Android с 1 по 14
👍8🔥1
👍6