Android Live 🤖
5.23K subscribers
53 photos
2 videos
809 links
Самые свежие новости, новинки и тренды Android от практикующего разработчика.


Автор: @al_gorshkov,
Чат: @android_live_chat
Личный блог: @al_gorshkov_blog

Рекламу не размещаю
Download Telegram
Вот так новость, интересно, на другие вендроры подвезут?
Общий буфер обмена с Macbook, думаю, точно не подвезут. 😄

Кто попробовал — напишите, работает ли 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4
Lineage OS
#android

На днях обновили версию Android на моём рабочем проекте, и мой старенький Samsung S8+ стал неактуален для тестирования.

Решил посмотреть, что можно с ним сделать и нашёл решение — установить Lineage OS. Оказалось, что это сделать довольно просто, и есть масса сторонних решений на 4PDA. И не только LineageOS.

Выбрал не самую последнюю, но стабильную на базе Android 13.
Работает всё шикарно: быстрее, плавнее и дружелюбнее для батареи, чем стандартная оболочка. Очень доволен. 🫶

К слову, это ещё и неплохой способ попробовать альтернативную прошивку и получить рут-права для тестирования.

Устанавливается всё очень легко, но, похоже, мне повезло. Так гладко установить стороннюю прошивку удаётся не на любой смартфон (судя по отзывам, ведь я в этом деле совсем новичок).

Так что вот вам на заметку кейс, что можно сделать с уже «отжившими» смартфонами. 👆
Please open Telegram to view this post
VIEW IN TELEGRAM
11💯4🔥3👍2🤓1
RemoteCompose

Похоже, в конце прошлого года появился довольно любопытный подход к рендерингу UI с бэкенда — RemoteCompose. И если раньше мы видели примеры архитектур на базе JSON (вроде Epoxy), то теперь инициатором выступает Google совместно с Compose.

Идея проста: делаете Compose код удалённо, имея все плюсы server-driven UI: тут и простые A/B тесты, и быстрые изменения, и возможность удалённых фиксов, если надо скрыть фичу под флагом.

На клиенте у нас появляется RemoteDocumentPlayer и ряд других компонентов, которые помогают воспроизвести приходящий byte array с сервера и отобразить всё в нативных компонентах.

Подход любопытный и вполне жизнеспособный.
Однако, пока рано говорить про релиз, ведь вышла только первая alpha. Да и iOS-команде продать Compose не так просто, а уж RemoteCompose тем более. Но если проект KMP, то почему бы и не попробовать через несколько месяцев, когда будет хотя бы beta.

Что думаете? 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🥴12💩5🔥43👎2
Mole

Не удивлён, что macOS в топе. Хотя кто знает, может через пару тысяч голосов всё изменится. 😄
Всё равно — пусть будет полезный пост.

На днях узнал о суперполезной утилитке Mole.


Если вкратце — это тулкит, который объединяет возможности CleanMyMac, AppCleaner и других аналогичных сервисов в одной консольной утилите. Бесплатно, opensource и без лишних сложностей.
Заметил особенность: иногда может показаться, что программа «подвисает», но нужно просто подождать пару минут — это нормальное поведение, скрипт скоро продолжит работу.

Давайте поделимся в комментариях результатами: кто сколько места освободил после mo clean. У меня ушло 31.8 ГБ. Честно говоря, думал, что под сотку наберётся, но вот нет.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍4
Upside Down из Stranger Things 🌌

Первый рабочий день года — отличное время для того, чтобы изучить создание красивой анимации. А возможно, и начать погружение в AGSL-шейдеры — кто знает, куда это может вас привести.

Рассказывается, как сделать эффект Upside-Down из Stranger Things. Если не знаете что это — то достаточно посмотреть анимацию: то переход от обычной тёплой картинки к мрачным, холодным тонам.

В статье по шагам рассказывается про шейдеры, HSV, анимации и их связь с псевдорандомом, и как это всё привязать к Compose.
6
This media is not supported in your browser
VIEW IN TELEGRAM
И снова про шейдеры. Finger Shadows

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

Эффект на видео, а применяется тот же RuntimeShader, что и из предыдущего примера.

Статья тут, исходники тоже.
🔥9👍2
Какую библиотеку используете для похода в сеть?
Anonymous Poll
64%
Retrofit
26%
Ktor
4%
Другую либу
7%
Не скажу. Но результаты интересны
👍2
Java Memory Model

Для тех, кто любит копаться в том, что и как работает под капотом. Отличная статья, где описываются механизмы работы JMM.

Тема непростая, однако автор довольно хорошо объясняет сложные вещи простым языком. Ну и на собесе можно выпендриться, если что.
🔥9👍32
Styles API в Jetpack Compose 🚀

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

Сейчас работа с динамическими стилями требует немало ручного труда. И хотя InteractionSource неплохо приспособлен для этих задач, Styles API упрощает процесс в разы.

Ниже приведён пример кнопки, которая меняет цвет при состояниях hovered и pressed.


@Composable
fun InteractiveButton(onClick: () -> Unit) {
ClickableStyleableBox(
onClick = onClick,
style = {
background(Color.Green)
size(150.dp)
hovered { animate { background(Color.Yellow) } }
pressed { animate { background(Color.Red) } }
}
)
}


Выглядит неплохо, посмотрим, что будет дальше. Детали тут.
🔥15👍6👎1
Google Checks

На днях наткнулся на полезный, но не очень популярный сервис от Google — Checks.

Платформа предназначена для автоматической проверки кода на compliance, безопасность и другие подобные штуки.
Если их не мониторить в больших компаниях можно отрести прилично проблем, а данный сервис помогает их предотвратить. Пока всё бесплатно, можно пробовать и решить, надо ли оно вам. Подходит для Android и iOS.

Пробовали? Поделитесь опытом в комментариях. Я вот добавил себе задачку, чтобы не забыть попробовать.
👍62🔥2
Samsung One UI fix

Если вы пользователь Samsung с последним обновлением One UI, то вас, как и меня, мог раздражать новый двойной свайп для открытия панели быстрых настроек.

Оказывается — можно это вернуть! Один из немногих YouTube Shorts, который сэкономил время. 😄
Please open Telegram to view this post
VIEW IN TELEGRAM
😐8🔥42👍1
Обновление зависимостей с Gemini

Может вы, как и я, пропустили, что начиная с Android Studio Otter можно обновлять зависимости в toml-каталогах при помощи Gemini.

Процесс обновления зависимостей хоть и простой шах и мат AGP 9, но довольно затратный по времени. Gemini может решить эту проблему, хотя в идеале такие задачи стоит выносить на CI/CD

Попробовать новую фичу просто:
🔴открываем toml-каталог;
🔴нажимаем на зависимость, требующую обновления;
🔴выбираем пункт «Update all libraries with Gemini».
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3👎2🔥2
Local History в Android Studio

Мне кажется, что это довольно полезная функция Android Studio, о которой знают далеко не все разработчики.

Если вы случайно дропнули важный код и не успели закоммитить его в Git, данные можно восстановить при помощи Local History.
Для этого кликаем в IDE правой кнопкой и нажимаем на LocalHistory -> Show History. Ну и а затем найдите наиболее подходящую версию.

Важно помнить, что этот инструмент не заменяет Git: локальная история хранится только на вашем компьютере. Кроме того, её легко стереть при очистке кэша. Будьте бдительны!
🔥15👍7🥴5🤡21👎1
Project Accessors

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

Предположим, у нас есть модули core-ui и core-common. Обычно при их добавлении в другой модуль используется такой синтаксис:


implementation(project(":core:common"))
implementation(project(":core:ui"))


В целом, ок, но можно сделать аналогично тому, как мы работаем с зависимостями из toml-каталога:


implementation(projects.core.common)
implementation(projects.core.ui)


Для этого достаточно зайти в корневой settings.gradle и добавить там строку enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS»)

Хотя фича и считается «экспериментальной», вроде работает вполне себе стабильно. Надеюсь, было полезно.
👍19🥱12👏6
Дано: большой проект из 180 модулей и Claude Sonnet 4.5.

Сможет ли модель осуществить миграцию на AGP 9.0 без внешнего вмешательства? То есть начинаем с промта в любом виде -> модель шуршит -> успешный запуск проекта. Ваши прогнозы: 👇
Anonymous Poll
19%
Да, всё получится: не самая сложная задача для модели
12%
Нет, захлохнет на полпути
50%
Нет, миграцию «сделает», но проект не запустится
0%
Свой вариант ответа
19%
Просто. Покажи. Результаты
1
AGP 9.0 — миграция через Claude Sonnet 4.5

Спасибо за ваши комментарии и обратную связь.

На самом деле в вопросе не было опечаток, хотя он и звучал довольно абстрактно. Попробую рассказать подробнее.

Ещё до выхода Sonnet 4.6 я решил попробовать перевести рабочий проект на последний AGP. Стандартный «мигратор» Android Studio не втащил: добавил какие-то необходимые файлы, но после него даже не вышло собрать проект. А вот Sonnet — смог.

Не скажу, что это сверхсложная задача с точки зрения программирования, но она весьма монотонная для ручного выполнения. Как раз то, что идеально подходит для ИИ.

Для начала я объяснил задачу в режиме планирования (plan-mode). Промт был довольно простым, но я добавил в него несколько официальных гайдов по переходу. После корректировки плана мной — агент начал рабоать… и справился!

Проект успешно собрался, зависимые библиотеки обновились до совместимых версий, а модель самостоятельно «протестировала» результат, проверив сборку всех конфигураций. У меня, кстати, в проекте есть KMP-модули, хотя и довольно простые с бизнес-логикой.

Так что AI сегодня — инструмент, который не стоит игнорировать. Просто пробуйте некоторые задачи доверять ИИ, попутно смотря, что он там делает.
🔥23🤔4👍3
Решил помочь ребятам сделать исследование мобильного рынка за текущий год. Опрос займёт около 10 минут, а результатами я поделюсь уже в апреле.

Зачем оно нужно?
🟢можно сверить себя с рынком и понять, молодец ли я по ЗП или пора расти;
🟢что там с актуальным стеком, и правда ли что всем давно пора на KMP писать;
🟢как дела с AI, а то может и KMP учить поздно. 🤖

Сам опрос тут, думаю, что в итоге всем нам будет эта инфа полезна.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮16🔥6👍4👌3