Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня буду рассказывать вам про митап VK. Пришел на мероприятие про технологии компании и расскажу все самое интересное 🔥

Больше всего меня интересует доклад про видео платформу (и как разработчика, и как автора контента), а также посмотреть на бэкенд Баттл.

Программу можно найти на сайте https://dev-events.com/jt-meetup-0925 Записи докладов выложат позже, а вот Баттл только лично, а расскажу вам про него в комментариях!
🤔2311🔥6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Начался Бэкенд Баттл. Формат где ребята будут решать реальные кейсы а течении часа про социальную сеть "Скайнет".

Все расскажу в комментариях и ещё разыграют (худи от VK) за компанию мне в общении.

Го 🔥🔥🔥
🔥123🤔3👍1
✔️ Советы на настройки Claude Code для программистов (18 мин)

Я уже сам испытал как Claudе позволяет эффективно писать код (через Copilot). Моя рекомендация использовать именно этот инструмент, но всегда надо его правильно настроить и подтюнить под себя. Ребята из Surf поделились своим опытом

Что из советов
1️⃣ Правильно настройте окружения под свои нужды и проекта
2️⃣ Настройку окружения надо обновлять
3️⃣ Настройте разрешения что может делать Claude без подтверждения
4️⃣ Настраивайте интеграции
5️⃣ Создайте свои / команды на частые операции
6️⃣Больше подробностей в статье, но помните что AI в егда нужно подстраивать под себя и универсального рецепта не даст вам никто!

#ai
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔146
This media is not supported in your browser
VIEW IN TELEGRAM
🔥319👍6🤔6🤯1
🤯 Последний гвоздь в крышку Nova Launcher - создатель лаунчера покинул компанию, которая купила проект и команду в 2022

Kevin Barry создатель и глава команды разработки оставил проект Nova Launcher. Как обещали ранее, выпускать код в open source не стали и вообще будущее туманное, потому Kevin был последним из 12 человек команды в компании.

Бренд точно останется, но вот это уже будет не тот Nova Launcher, который завоевал сердца пользователей.

Ставьте ❤️ если вы используете или использовали лаунчер

#android
73👍5🤔3🤯3
⭐️ История успешного успеха с Gemini для разработки Android приложений - сократили время разработки фичей практически в 2 раза

Сделали это через генерацию UI на Compose по макетам из Figma (загружали картинки, а не прямой доступ к данным)

Почему в таки статьях потом не рассказываю про производительность этого UI? Или метрики crash-free? Ускорится то смоли, а вот что с качеством - никто не рассказывает

#android #androidstudio #ai #gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🤔62
🤖 Появились уточнения касательно процесса верификации Android разработчиков

‼️ Самое важное - разработчики всё также смогут ставить приложения без регистрации через ADB. Вот она лазейка 😁

#android
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝43👍13🔥5🤯2
🤖 Вышла Material Components for Android 1.1.3 с компонентами из Material 3 Expressive (но пока еще не всё)

Что добавили из комнентов:
👉 DockedToolbarLayout - компонент для показа действий на текущем экране/странице (обычно закреплен в нижний части экрана)
👉 FloatingToolbarLayout - плавающий набор действия для текущего экрана/страницы
👉 LoadingIndicator - новые индикаторы ожидания
👉 MaterialSplitButton - разделенная кнопка
👉 MaterialButtonGroup - компонент для группировки нескольких кнопок

Что ещё из важного:
👉 Минимальный Android SDK подняли до 21
👉 Включили nonTransitiveRClass (про последствия для вас читайте тут)
👉 Официальная поддержка Material 3 Expressive будет в версии 1.14.0. Уже есть альфа версии
🛠 Много улучшений существующих компонентов и исправления багов

#android #material3 #material3expressive
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥75
Media is too big
VIEW IN TELEGRAM
📹 НОВОЕ ВИДЕО. Разбор возможностей меню разработчика на Android устройстве

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

Советую посмотреть всем разработчикам и специалистам по тестированию

#android #android15
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33
🏝 Kotlin where: Элегантное ограничение типов для чистоты и безопасности

Как часто в Android-разработке вы видели сомнительные as-приведения? 🤔

Вот пример, который недавно попался мне на глаза:

class Sample(private val activity: Activity) {

fun doSomething() {
// Опасно! Может упасть с ClassCastException,
// если activity не реализует LifecycleOwner
(activity as LifecycleOwner).lifecycle.addObserver(...)
}
}


Опустим тот факт, что здесь стоит использовать слабую ссылку (WeakReference) на Activity. Меня больше смутила необходимость вручную приводить Activity к LifecycleOwner.

Да, в современной Android-разработке AppCompatActivity и FragmentActivity реализуют этот интерфейс. Но наша цель — писать чистый и стабильный код, который не полагается на слепую веру, а гарантирует безопасность на уровне типов.

💡Решение: Ограничение типов с помощью where

В Kotlin мы можем использовать условие where для универсальных параметров, чтобы указать: «класс A должен быть одновременно и Activity, и LifecycleOwner

class Sample<A>(private val activity: A)
where A : Activity,
A : LifecycleOwner {

fun doSomething() {
// Теперь activity можно использовать как LifecycleOwner
// БЕЗОПАСНО и без приведения типов
activity.lifecycle.addObserver(...)
}
}


Этот же подход отлично работает и для функций:

fun <A> doSomethingWith(activity: A)
where A : Activity,
A : LifecycleOwner {
// Полная типобезопасность
activity.lifecycle.addObserver(...)
}


В чем выигрыш?

Безопасность: Компилятор гарантирует, что в класс Sample или функцию doSomethingWith можно передать только объект, который удовлетворяет обоим условиям:
1️⃣Исключаются ошибки ClassCastException в рантайме.
2️⃣Чистота кода: Исчезают громоздкие и опасные приведения через as.
3️⃣ Выразительность: Сигнатура класса/функции явно сообщает о своих требованиях к переданным зависимостям.

Используйте силу системы типов Kotlin на полную! Это делает код не только чище, но и стабильнее. 💪

#kotlin #android #androiddev
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍161🔥3622
🤖 Google прокачала удаление неиспользуемых ресурсов в Android Gradle Plugin

В Android Gradle Plugin 8.12.0 представили обновленный resource shrinker - инструмент, который удаляет неиспользуемые ресурсы в финальной сборке приложения.

К посту добавил результаты использования нового шринкера на проекте Androidify. Впечатляет конечно, особенно что сложной настройки не надо.

Чтобы попробовать оптимизированный shrinker, надо включить саму утилиту для модуля и добавить опцию в настройки:
// Добавляем в gradle.properties
android.r8.optimizedResourceShrinking=true


#android #оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6411🤔6
😂 Использование ИИ для разработки: В 4 раза быстрее, в 10 раз больше уязвимостей

Израильская Apiiro представила отчёт о трендах кода от ИИ. На основе богатого набора данных о том, как разработчики пишут код, компания утверждает: из-за ИИ производительность выросла, но безопасность страдает.

Совсем неудивительно. Разработчики решили, что проверять код не стоит, или вовсе менеджеры решили что разработчики не нужны и мы теперь всё сами! К ИИ стоит относиться как активному джуну, который херачит код не в себя! Пустите такой код в прод без ревью или покрытия тестами поверх? Можно ли этому AI доверить покрытие его же кода тестами?

#ai
🤔36🤯11👍9🔥61🤝1
🤖 В Android Unit тестах теперь можно положить AndroidManifest.xml, которая будет мержится с манифестом приложения. Тем, кто использует Robolectric, теперь станет жить попроще

Не забудьте только в Gradle модуле включить опцию android.testOptions.unitTests.includeAndroidResources

#android #тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🤔9🔥63
🚀 Вышел Room 2.8.0

Самая важная (она и единственная) фича свежего релиза - получение SupportSQLiteDatabase, являющегося оберткой над RoomDatabase с SQLiteDriver. Честно, не знаю кому это пригодится, поэтому будет полезно узнать от вас в комментариях практический опыт.

Менее масштабные, но всё же важные изменения:
👉 minSdk подняли с 21 до 23
👉 Добавили поддержку KMP таргетов: watchOS и tvOS
🛠 Исправили баги

#android #jetpack #androidjetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥52