Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Что нового
👉 Больше AI фичей с Gemini
👉 Анализ причин крешей с Gemini
👉 Генерация сценариев Unit тестов
👉 Библиотека запросов для Gemini
👉 Поддержка Themed Icon из Android 13 (3 года откладывали)
👉 Улучшение работы с Compose Preview
👉 Шаблон KMP проекта и модуля с shared кодом
👉 Упростили создание нового эмулятора
👉 Android Lint будет показывать предупреждения об устаревших SDK и на что их заменить
🔗 Changelog
0:00 - Вступление
0:28 - Gemini
1:52 - Compose + UI
2:50 - Сборка
4:28 - IntelliJ 2024.3
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🤯2
По традиции опрос на стабильность новой версии AS - Meerkat Feature Drop
Anonymous Poll
30%
Уже использую. Полет нормальный
4%
Сижу на следующей версии
3%
Попробовал(а). Есть баги (пиши в комментариях)
45%
Буду обновляться позже
1%
Другой вариант
17%
Не участвую в опросе
👍4
Какой target SDK в вашем Android проекте?
Anonymous Poll
3%
Не знаю
8%
36
46%
35
26%
34
3%
33
5%
32 и ниже
3%
Что такое targetSdk ?
6%
Не участвую в опросе
👍5❤1
Когда: четверг, 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
🔥26👍9❤3
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
❤23👍13🤯4🤔1
Media is too big
VIEW IN TELEGRAM
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
👍9❤4
🛠 Значительные переработки под капотом для улучшения поддержки KMP
👉 Добавлена поддержка обработки deep link из Kotlin Common кода
👉 Улучшения API
#jetpack #jetpackupdate #navigation #compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
🎉 Новый артефакт
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
🔥12👍5
Что нового:
👉 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") }
@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 и ViewModelclass 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
🔥30👍9🤔5
Библиотека содержит CallsManager API (обертка над ConnectionService) для интеграции Telecom фреймворка в приложения со звонками через интернет, чтобы обеспечить использования всех фичей Android платформы! Это включает в себя:
👉 системные уведомления
👉 приоритезацию работы Foreground Service для звонка
👉 Интеграцию с Bluetooth
👉 Интеграцию с умными часами и автомобилями
👉 Упрощение вывода аудио на разные устройства
Различные функции добавляются через механизм расширений. Можете взять уже готовые или реализовать свои!
#android #jetpack #jetpackupdate #voip
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍7❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍18❤1
Используете Fragment в нативной Android разработке приложений?
Anonymous Poll
46%
Да, активно
24%
Только legacy код остался на них
1%
Не пишу нативно под Android
22%
Уже всё только на Compose
1%
Другой вариант
6%
Не участвую в опросе
👍6
App Functions - новая экспериментальная функция Android, которая позволит интегрироваться приложениям с поиском, но в первую очередь с AI, чтобы выполнять запросы пользователя. Например, "закажи еду", "вызови такси" и пр.
Возможности приложения будут индексироваться системным сервисом AppSearchManager
Точка входа - класс AppFunctionManager и специальный сервис AppFunctionService.
Уже также разрабатывается библиотека
#android16 #ai #jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍6
Media is too big
VIEW IN TELEGRAM
Лучшие подходы к тестированию 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
👍9
Media is too big
VIEW IN TELEGRAM
Оптимизируйте тестирование 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
👍11
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
🔥14👍7
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
👍22
Какие у вас отношения с технологией Passkey?
Anonymous Poll
45%
Что это?
36%
Слышал(а), но не использую
10%
Использую её, где есть поддержка
3%
Интегрировали в приложение
1%
Другой вариант
8%
Не участвую в опросе
👍7