Android Broadcast
14.5K subscribers
3.83K photos
397 videos
11 files
6.3K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
📹 Compose/iOS готов к продакшену? Прямой эфир с ответами на вопросы
Когда: четверг, 8 мая, 18:30 (GMT+3)

Буквально вчера вышел Compose iOS Stable и конечно же открывает возможности Android разработчиками по написанию мобильных приложений под обе платформы. Но всё ли так сладко, как заявляет JetBrains? Будем разбираться в этом с экспертом кто уже познал прелести продакшена!

👨‍💻 Эксперт - Никита, фуллстек Kotlin разработчик, автор проектов FlowMVI и respawn.pro. При анонсе Compose iOS Stable, его приложение было в официальном анонсе 🔥

👨‍💻 И еще одни эксперт - Чикишев Тимур, Senior Android разработчик в KTS. Начал пробовать Compose iOS еще до официального релиза. Успел адаптировать Android приложение с Compose на iOS, буквально на этой неделе сделали релиз

Задавайте свои вопросы в комментариях к посту, чтобы они были заданы на эфире

#android #compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Edge-to-edge в Android: опыт внедрения в АвитоТех и рекомендации по тестированию (9м)

Edge-to-edge («от края до края») — это режим в Android, при котором приложение отрисовывается под системными панелями — строкой состояния (status bar), вырезами дисплея или «челкой» (display cutout) и панелью навигации (navigation bar), — используя весь экран смартфона.


В Android 16 все приложения будут отображаться в режиме edge-to-edge без исключений. Пора перенять опыт и адаптировать его к себе, либо ваше приложение будет выглядеть плохо

#android
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
📹 Android Developers Backstage 215. KMP. Have your code and eat it too

Software Engineers Dustin Lam и Yigit Boyar присоединяются к ведущему Tor Norbye, чтобы обсудить Kotlin Multiplatform (KMP).

0:00 - Введение
0:29 - Что такое KMP: не новый продукт, а Kotlin с новыми возможностями
3:20 - Зачем нужен KMP: преимущества и цели
6:17 - KMP vs. другие кроссплатформенные фреймворки
6:41 - Общая бизнес-логика — основной сценарий использования
9:18 - Практическое внедрение: превращение Android-приложения в KMP
13:15 - Работа с платформо-специфичными зависимостями
28:56 - Поддержка библиотек в Kotlin Multiplatform
35:56 - Developer Experience: инструменты и интеграция
40:16 - Совместимость с iOS: как добиться взаимодействия
42:51 - KMP в действии: как Google использует эту технологию
47:17 - Долгосрочное видение и потенциал KMP
51:30 - Консистентность поведения vs. нативная производительность
55:32 - Попробуйте KMP и присоединяйтесь к разработке!

#android #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Релиз Jetpack Navigation 2.9.0

🛠 Значительные переработки под капотом для улучшения поддержки KMP
👉 Добавлена поддержка обработки deep link из Kotlin Common кода
👉 Улучшения API

#jetpack #jetpackupdate #navigation #compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Релиз Jetpack Lifecycle 2.9.0: тестирование ViewModel и больше KMP

🎉 Новый артефакт lifecycle-viewmodel-testing - KMP библиотека для тестирования ViewModel в изоляции с помощью ViewModelScenario
👉 SavedStateHandle теперь может возвращать MutableStateFlow
👉 CreationExtras добавили перегрузки операторов in, +=, и +

Больше поддержки KMP
👉 lifecycle-testing, lifecycle-viewmodel-savedstate теперь полностью KMP библиотеки
👉 LocalLifecycleOwner стал доступен из common кода
👉 ViewModelProvider.NewInstanceFactory теперь доступна для Android и JVM

#android #jetpack #jetpackupdate #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 SavedState 1.3.0: Поддержка KotlinX Serialization и Kotlin Property delegate для удобства работы

Что нового:
👉 SavedState теперь полностью KMP библиотека с поддержкой Android, iOS, Linux, Mac и JVM
👉 LocalSavedStateRegistryOwner теперь не является частью Compose UI, а будет частью нового артефакта - savedstate-compose
👉 Появился обобщенный тип SavedState, который Bundle на Android и Map<String, Any> на других платформах
 // Создаем SavedState с помощью DSL:
val savedState = savedState {
putInt("currentPage", 1)
putString("filter", "favorites")
}

val currentPage = savedState.read { getInt("currentPage") }
savedState.write { remove("currentPage") }


🏝 Добавили поддержку KotlinX Serialization 🔥
@Serializable
data class Person(val firstName: String, val lastName: String)

fun main() {
val person = Person("John", "Doe")
val encoded: SavedState = encodeToSavedState(person)
val decoded: Person = decodeFromSavedState(encoded)
}


🏝 Используйте новый делегат saved в Activity и ViewModel
class MyActivity : ComponentActivity() {
var person by saved { Person("John", "Doe") }

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
this.person = Person("Jane", "Doe")
}
}

class MyViewModel(handle: SavedStateHandle) : ViewModel() {
var person by handle.saved { Person("John", "Doe") }

fun onPersonChanged(person: Person) {
this.person = person
}
}


#android #jetpack #jetpackupdate #kmp #kotlin #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Jetpack Core Telecom 1.0 - упрощение интеграция VoIP в Android приложениях

Библиотека содержит CallsManager API (обертка над ConnectionService) для интеграции Telecom фреймворка в приложения со звонками через интернет, чтобы обеспечить использования всех фичей Android платформы! Это включает в себя:
👉 системные уведомления
👉 приоритезацию работы Foreground Service для звонка
👉 Интеграцию с Bluetooth
👉 Интеграцию с умными часами и автомобилями
👉 Упрощение вывода аудио на разные устройства

Различные функции добавляются через механизм расширений. Можете взять уже готовые или реализовать свои!

#android #jetpack #jetpackupdate #voip
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Hilt переезжает на Kotlin 2 и будет работать над поддержку KSP2

#android #jetpack #kotlin #k2 #ksp
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 В Android 16 появится более тесная системная интеграция приложений с ИИ фичами на устройстве

App Functions - новая экспериментальная функция Android, которая позволит интегрироваться приложениям с поиском, но в первую очередь с AI, чтобы выполнять запросы пользователя. Например, "закажи еду", "вызови такси" и пр.

Возможности приложения будут индексироваться системным сервисом AppSearchManager

Точка входа - класс AppFunctionManager и специальный сервис AppFunctionService.

Уже также разрабатывается библиотека 🚀 Jetpack App Functions

#android16 #ai #jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
📹 Инструменты и паттерны для масштабируемого тестирования Android-приложений (EN, 10 мин)

Лучшие подходы к тестированию Android. Хосе Альсерреке расскажет о тестировании скриншотов, Robolectric, управлении разными форм-факторами и использовании Espresso Device и Gradle Managed Devices (GMD) для масштабируемого тестирования.

0:00 - Введение
0:19 - Что такое тестирование скриншотов?
1:30 - Зачем использовать тестирование скриншотов?
2:52 - Robolectric для тестирования
4:40 - Тестирование для разных размеров экрана
6:48 - Стабильность больших тестов
9:05 - Gradle Managed Devices
9:47 - ИИ и тестирование
10:19 - Заключение

Ресурсы:
🔗 Тестирование скриншотов
🔗 Стратегии Robolectric
🔗 Тестирование разных размеров экрана и окон
🔗 Тестирование приложений на Android
🔗 Стратегии тестирования
🔗 Основы тестирования Android-приложений
🔗 Локальные тесты
🔗 Инструментированные тесты
🔗 UI-тесты
🔗 Тестирование разных размеров экрана

#android #тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
📹 Стратегии тестирования Android (EN, 8м)

Оптимизируйте тестирование Android с помощью масштабируемой стратегии, которая поможет управлять нагрузкой на тесты вашего приложения и конфигурациями устройств. От понимания пирамиды тестирования до использования таких инструментов, как Robolectric и Gradle Managed Devices, вы узнаете, как принимать обоснованные решения для повышения надежности и эффективности тестирования. Узнайте, почему ручного тестирования недостаточно, и как автоматизация может сэкономить время и улучшить качество кода.

0:00 - Введение
0:41 - Зачем мы тестируем?
1:21 - Стратегии тестирования
3:06 - Область применения vs. Размер
5:45 - Категории
7:49 - Заключение

🔗 Стратегии тестирования

#android #тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Релиз Jetpack Health Connect Client 1.0

Google выпустила первую стабильную версию Jetpack Health Connect Client — библиотеки, которая упрощает доступ к данным о здоровье и активности пользователя через платформу Health Connect.

Health Connect — это единый слой доступа к данным здоровья на Android. Он агрегирует информацию от разных приложений (Google Fit, Samsung Health, Fitbit и др.) и даёт централизованный, безопасный способ работы с ними.


Библиотека connect-client — это Jetpack-обёртка над этим API, которая делает интеграцию максимально простой и безопасной.

Что умеет Jetpack Health Connect Client 1.0:
👉 Читать и записывать данные: шаги, калории, пульс, сон, тренировки, вес и многое другое (всего 40+ типов данных)
👉 Запрашивать данные по временным диапазонам и фильтрам
👉 Управлять разрешениями на доступ к чувствительным данным — всё централизовано и прозрачно
👉 Удалять данные (в том числе выборочно)
👉 Поддерживает suspend-методы и удобные Kotlin API

Подробнее читайте в документации

#android #jetpack #wear
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 История того как интеграция Passkey + Jetpack Credential Manager ускорило логин и увеличило успешные попытки входа

Passkey — это современный способ аутентификации, который позволяет пользователям входить в приложения и сайты без паролей, используя биометрию (Face ID, отпечаток пальца) или пин-код устройства.


Также в статье есть краткая инструкция и лучшие практики. Подробнее в документации

#android #passkey
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
‼️ Все Android приложения должны обеспечить поддержку работы на устройствах с размером страницы памяти 16KB

Изменение размера страницы в памяти от 4 KB в 16 KB даст для приложений:
🚀 Ускорения запуска приложений
🔋 Сокращение расхода батареи
📷 Ускорение включения камеры
📱 Ускорение запуска системы

Новая требование Google Play обязует реализовать поддержку работы всех новых приложений и обновлений с targetSdk 35 (Android 15). Изменение вступает в силу с 1 ноября 2025 года

Что нужно делать
👉 Обновить библиотеки с нативынм кодом до версий с поддержку нового размера страницы
👉 Перекомпилировать свой нативный код на C/C++ с последней версией инструментов

В Google Play в AppBundle Explorer вы будете видеть совместимо ли ваше приложение cо страницей размера 16KB.

Полезные ссылки
🔗 Как адаптировать приложение
🔗 Как провести тестирование приложения на таком устройстве
🔗 Подробная документация по 16Kb page size

#android #googleplay #ndk
Please open Telegram to view this post
VIEW IN TELEGRAM
Минусы повышения размера страницы памяти

⚠️ Мелкие объекты “тратят” больше памяти.
Если в 4 КБ-странице лежало 5 мелких объектов, в 16 КБ — может быть “пустого” пространства больше. Но в современных условиях прирост производительности важнее.

⚠️ Нужна поддержка от железа.
Процессор и ядро должны поддерживать размер страницы 16 КБ — это не просто «переключатель» в настройках.

#android #ndk