И радостно, и грустно
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔22👍6🆒2
Ищу проект для проведения ревью, чтобы посмотреть на интересные решения и дать свою экспертную оценку. Ревью будет проходить в прямом эфире на Boosty.
Какие требования к проекту:
- Чтобы он был готовы рабочим приложением/библиотекой
- Исходный код принадлежит вам или открытый
- Проекта для Android или KMP с минимум таргетами с Android и iOS
Оставляйте ссылки на проект и/или опишите его
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤1
Media is too big
VIEW IN TELEGRAM
С ростом популярности мобильных приложений еще в эпоху J2ME (знаете что это вообще?) до популяризации Android смартфонов с Java технологиями неустанно вставали вопросы касательно оптимизации и защиты кода.
В новом видео рассказываю историю ProGuard - pet проекта разработчика, который стал лидером мобильной защиты, скрывающийся за стеной огромной платы.
#AndroidBroadcast #ProGuard #защита #r8 #оптимизация #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍9❤8🤯1
🚀 Отказываюсь от Списков в пользу Сеток в UI
Раньше для списков в Compose я по привычке использовал LazyColumn. Но чем больше работаю с адаптивными интерфейсами, тем очевиднее: это никуда не годиться и надо использовать доступное пространство, а не тупо растягивать интерфейс. Перехожу на Grid компоновку✔️
LazyVerticalGrid позволяет задать фиксированную ширину колонки, и система сама рассчитает, сколько их поместится на экране.
В результате:
1️⃣ адаптивность «из коробки» на телефонах, планшетах и больших экранах
2️⃣ минимум дополнительного кода,
3️⃣ единый компонент вместо костылей для разных форм-факторов.
Определение количества колонок происходит на основе политики GridCell:
📱 На маленьком экране это будет 2–3 колонки, а на планшете — уже 5–6, и всё это без ручной логики.
Есть еще более гибкий вариант если элементы строк должны быть разной высоты - LazyVerticalStaggeredGrid (стиль как в Pinterest)
❗️ Теперь я придерживаюсь строго правила:
🔗 Очень хорошо построение списков осветили в документации по Lazy Layout
Аналогично можно проделать и с RecyclerView, использую вместо LinearLayoutManager вариант с сеткой - GridLayoutManager или StaggeredGridLayoutManager, только там не будет автоматического расчета колонок на основе доступного места. Это придется реализовывать самостоятельно.
✍️ Что думаете о таком подходе для UI? Ударит по производительности?
#ui #android #compose
Раньше для списков в Compose я по привычке использовал LazyColumn. Но чем больше работаю с адаптивными интерфейсами, тем очевиднее: это никуда не годиться и надо использовать доступное пространство, а не тупо растягивать интерфейс. Перехожу на Grid компоновку
LazyVerticalGrid позволяет задать фиксированную ширину колонки, и система сама рассчитает, сколько их поместится на экране.
В результате:
LazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 120.dp),
modifier = Modifier.fillMaxSize(),
contentPadding = PaddingValues(8.dp)
) {
items(100) { Item(...) }
}
Определение количества колонок происходит на основе политики GridCell:
// всегда N колонок
GridCells.Fixed(N)
// автоматический расчет на основе минимальной ширины колонки
GridCells.Adaptive(minSize = 120.dp)
// каждая ячейка шириной 100dp
GridCells.FixedSize(100.dp)
📱 На маленьком экране это будет 2–3 колонки, а на планшете — уже 5–6, и всё это без ручной логики.
Есть еще более гибкий вариант если элементы строк должны быть разной высоты - LazyVerticalStaggeredGrid (стиль как в Pinterest)
LazyVerticalStaggeredGrid(
columns = Adaptive(minSize = 150.dp),
modifier = Modifier.fillMaxSize(),
contentPadding = PaddingValues(8.dp)
) {
items(100) { Item(...) }
}
Если не могу явно сформулировать почему интерфейс должен быть в одну колонку, то вертикальный список брать не стоит!
🔗 Очень хорошо построение списков осветили в документации по Lazy Layout
Аналогично можно проделать и с RecyclerView, использую вместо LinearLayoutManager вариант с сеткой - GridLayoutManager или StaggeredGridLayoutManager, только там не будет автоматического расчета колонок на основе доступного места. Это придется реализовывать самостоятельно.
#ui #android #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍95🤔18🔥9🏆9❤2🙏1
🔗 Автор также написал статью на русском про библиотеку
#android #nfc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍4
Media is too big
VIEW IN TELEGRAM
Когда: среда, 3 сентября, 19:00 (GMT+3)
На канале в прямом эфире пройдет мок собеседование в Альфа Банк, максимально приближенное к реальному.
Проводят:
Запись будет доступна позже на канале
#AndroidBroadcast #android #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥13❤6
Я уже писал вам про некорректную работу проверка поддержки 16 KB Page Size в Android Studio. Так вот баг исправлен в Android Studio Narwhal Feature Drop 2025.1.2.
#androidstudio #ndk
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42👍9
val sdk = DeviceInfoSDK.getInstance()
// Collect all information at once
val deviceReport = sdk.collectAllInfo()
// Access specific information types
val hardwareInfo = deviceReport.getHardwareInfo()
val systemInfo = deviceReport.getSystemInfo()
val networkInfo = deviceReport.getNetworkInfo()
#android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🤔16❤5
This media is not supported in your browser
VIEW IN TELEGRAM
Как этот IDE плагин прошел мимо меня 🤯🤯🤯
Узнали из новости про плагин Package Checker для IDE от JetBrains и работает в Android Studio. Автор плагина - сама JetBrains.
Плагин проверяет подключенные зависимости, проверяет есть ли в них какие-то уязвимости и подсвечивает вам. Для анализа уязвимстей используется база Mend.io.
Рекомендую всем поставить этот плагин и запустить анализ своего кода.
#androidstudio #idea #безопасность
Узнали из новости про плагин Package Checker для IDE от JetBrains и работает в Android Studio. Автор плагина - сама JetBrains.
Плагин проверяет подключенные зависимости, проверяет есть ли в них какие-то уязвимости и подсвечивает вам. Для анализа уязвимстей используется база Mend.io.
Рекомендую всем поставить этот плагин и запустить анализ своего кода.
Mend.io — это AI-native платформа Application Security (AppSec), предназначенная для комплексного обеспечения безопасности современных приложений с использованием искусственного интеллекта. Ранее она была известна как WhiteSource
#androidstudio #idea #безопасность
🔥95👍21❤6
Запись будет доступна позже на канале
#AndroidBroadcast #android #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17🔥10🤯3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Что нового:
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤8🔥4
Media is too big
VIEW IN TELEGRAM
0:00 Введение
0:53 Gemini
2:50 Оптимизация и улучшения
4:40 Ускорение разработки UI
5:26 Итоги
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Media is too big
VIEW IN TELEGRAM
Для Gemini в Android Studio стала доступна интеграция с различными Model Context Protocol (MCP) для расширения возможностей Gemini. Теперь больше задач можно сделать не выходя из IDE. Демонстрация в видео
#androidstudio #gemini #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня буду рассказывать вам про митап VK. Пришел на мероприятие про технологии компании и расскажу все самое интересное 🔥
Больше всего меня интересует доклад про видео платформу (и как разработчика, и как автора контента), а также посмотреть на бэкенд Баттл.
Программу можно найти на сайте https://dev-events.com/jt-meetup-0925 Записи докладов выложат позже, а вот Баттл только лично, а расскажу вам про него в комментариях!
Больше всего меня интересует доклад про видео платформу (и как разработчика, и как автора контента), а также посмотреть на бэкенд Баттл.
Программу можно найти на сайте https://dev-events.com/jt-meetup-0925 Записи докладов выложат позже, а вот Баттл только лично, а расскажу вам про него в комментариях!
🤔23❤11🔥6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Начался Бэкенд Баттл. Формат где ребята будут решать реальные кейсы а течении часа про социальную сеть "Скайнет".
Все расскажу в комментариях и ещё разыграют (худи от VK) за компанию мне в общении.
Го 🔥🔥🔥
Все расскажу в комментариях и ещё разыграют (худи от VK) за компанию мне в общении.
Го 🔥🔥🔥
🔥12❤3🤔3👍1
Я уже сам испытал как Claudе позволяет эффективно писать код (через Copilot). Моя рекомендация использовать именно этот инструмент, но всегда надо его правильно настроить и подтюнить под себя. Ребята из Surf поделились своим опытом
Что из советов
#ai
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔14❤6
This media is not supported in your browser
VIEW IN TELEGRAM
🔥31❤9👍6🤔6🤯1
🤯 Последний гвоздь в крышку Nova Launcher - создатель лаунчера покинул компанию, которая купила проект и команду в 2022
Kevin Barry создатель и глава команды разработки оставил проект Nova Launcher. Как обещали ранее, выпускать код в open source не стали и вообще будущее туманное, потому Kevin был последним из 12 человек команды в компании.
Бренд точно останется, но вот это уже будет не тот Nova Launcher, который завоевал сердца пользователей.
Ставьте ❤️ если вы используете или использовали лаунчер
#android
Kevin Barry создатель и глава команды разработки оставил проект Nova Launcher. Как обещали ранее, выпускать код в open source не стали и вообще будущее туманное, потому Kevin был последним из 12 человек команды в компании.
Бренд точно останется, но вот это уже будет не тот Nova Launcher, который завоевал сердца пользователей.
Ставьте ❤️ если вы используете или использовали лаунчер
#android
❤73👍5🤔3🤯3
Сделали это через генерацию UI на Compose по макетам из Figma (загружали картинки, а не прямой доступ к данным)
Почему в таки статьях потом не рассказываю про производительность этого UI? Или метрики crash-free? Ускорится то смоли, а вот что с качеством - никто не рассказывает
#android #androidstudio #ai #gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🤔6❤2
Что в вашем приложении с поддержкой Passkey?
Anonymous Poll
57%
Что это?
5%
Уже интегрировали в приложение
16%
Не будем поддерживать
5%
Уже в планах по интеграции
3%
Другой вариант
14%
Не участвую в опросе
🤔15👍4