Forwarded from Kotlin Multiplatform Broadcast
Розыгрыш книги "Коtlin в действии" 2-е издание с автографом одного из авторов - Романа Елизарова 🤯 Совместно с Yandex For Mobile делаем для вас розыгрыш 2 книг по Kotlin от создателей языка и его экосистемы!
Условия розыгрыша просты
1. Подписать на @kotlin_broadcast
2. Подписаться на @yandexformobile
Итоги подведем 12 июня в @kotlin_broadcast
#розыгрыш
Условия розыгрыша просты
1. Подписать на @kotlin_broadcast
2. Подписаться на @yandexformobile
Итоги подведем 12 июня в @kotlin_broadcast
#розыгрыш
Посмотрел Keynote, разобрал анонсы, посмотрел доклады и рассказал все самое интересное на что стоит обратить ваше внимание!
Видно также доступно на
P.S. Новости как формат вернулись на канал
#AndroidBroadcast #googleio #android #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
На какой ОС вы разрабатываете под Android?
Anonymous Poll
30%
Windows
60%
macOS
7%
Linux
1%
Другой Linux дистрибутив
0%
Другая ОС (пиши в комментариях)
1%
Не пишу код
2%
Не участвую в опросе
Серия статей с разборами лучших практик для Jetpack Compose:
1️⃣ 5 Core Optimizations Every Developer Should Know (EN, 5м, альт. ссылка)
2️⃣ 5 Advanced Techniques for Ultra-Smooth Apps (EN, 8м, альт. ссылка)
3️⃣ The Expert’s Toolkit (EN, 8м, альт. ссылка)
4️⃣ Runtime Mastery & Fine-Tuning (EN, 8м, альт. ссылка)
#compose
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Самое интересное в обновлении
💾 Тестирование бэкапа и восстановления данных приложения
👉 Compose Preview Screenshot Testing tool
Подробности что нового читайте тут
#androidstudio #gemini #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Google выпустили шикарное видео, где показали лучшие практики работы с текстовыми полями в Compose — с примерами, API и лайфхаками.
В ролике разработчики на примере рассказывают:
👉 как использовать state-based TextField — новый подход к управлению вводом;
👉 зачем нужен SecureTextField и как задать требования к паролю;
👉 как работает Autofill API (да, теперь можно сохранять логины и OTP);
👉 как кастомизировать поле ввода OTP с помощью BasicTextField и decorator;
👉 как принимать GIF и изображения через drag & drop с новым contentReceiver;
👉 как использовать input/output трансформации для автоподстановки скобок и тире в номерах;
#android #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Выпустили Material Component Android 1.13.0 Alpha 14 из которой убрали все наработки по Material 3 Expressive. Они отложены в следующую версию - 1.14.0, первая альфа которой уже доступна
#android #materia3
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉🚀 Новая Jetpack Библиотека - Photo Picker
Новая библиотека Jetpack Photo Picker позволит перенести встраиваемый Photo Picker из Android 16 на более ранние версии Android. Благодаря Mainline системе встраиваемый Photo Picker будет доступен на Android 14 и выше как часть ОС, а вот на других версиях будет помогать библиотека Jetpack Photo Picker, работающая скорее всего на основе Google Play Services.
Важно - сразу сделали версию для View и Compose
#android #jetpack #android16 #compose
Новая библиотека Jetpack Photo Picker позволит перенести встраиваемый Photo Picker из Android 16 на более ранние версии Android. Благодаря Mainline системе встраиваемый Photo Picker будет доступен на Android 14 и выше как часть ОС, а вот на других версиях будет помогать библиотека Jetpack Photo Picker, работающая скорее всего на основе Google Play Services.
Важно - сразу сделали версию для View и Compose
#android #jetpack #android16 #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
// Создаем NavigationManager и передаем в него начальное состояние
val navigationManager = rememberNavigationManager(
NavigationState(
NavigationHost(
hostName = "Main",
initialDestination = FirstSampleDestination(),
)
)
)
@Parcelize
class FirstSampleDestination : ComposeDestination {
@IgnoredOnParcel
override val composable: @Composable (Destination) -> Unit = {
FirstSamplePane()
}
}
// инициализируем навигацию в Compose
Navigation(
navigationManager = navigationManager
) {
Pane(rememberNavigationHost("Main"))
}
// Пример перехода
navigationManager.execute(
ForwardCommand(SecondSampleDestination(text))
)
@Parcelize
data class SecondSampleDestination(val text: String) : ComposeDestination {
@IgnoredOnParcel
override val composable: @Composable (Destination) -> Unit = { destination ->
SecondSamplePane((destination as SecondSampleDestination).text)
}
}
Делитесь в комментариях как вам решение и я тоже пошел обсуждать
#compose #навигация #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
Одна из проблема Context - один и тот же класс может предназначаться для разных маст использований. С пометкой какой Context ожидается в API могут помочь аннотации из Jetpack Annotation:
👉 @UIContext для Context, которые используется для работы со всеми возможностями для UI
👉 @DisplayContext для Context, который будет работать из UI сервисов только с DisplayManager и не будет работать с показом UI.
👉 @NonUiContext помечается Context, который не работает с UI. Зачастую им будет Application Context.
Такие аннотации не влияют на работу вашего кода, а лишь помечают какой тип Context ожидает автор API. Android Lint НЕ содержит правило на основе этих аннотаций.
#android
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказ про еще одну защищенную от корпораций ОС - /e/OS 3.0
Что самое главное:
👉 Базируется на AOSP
👉 Удалены все сервисы Google
👉 Используется microG чтобы приложения с Google Play Services могли работать
👉 ОС прошла сертификацию, необходимую для создания Google аккаунта
Вижу как популярность подобных решений растет с каждым днем и думаю: "Почему?" Делитесь мыслями, а особенно интересен опыт регулярных пользователей подобных ОС
#android #безопасность
Что самое главное:
👉 Базируется на AOSP
👉 Удалены все сервисы Google
👉 Используется microG чтобы приложения с Google Play Services могли работать
👉 ОС прошла сертификацию, необходимую для создания Google аккаунта
Вижу как популярность подобных решений растет с каждым днем и думаю: "Почему?" Делитесь мыслями, а особенно интересен опыт регулярных пользователей подобных ОС
#android #безопасность
Еще бы опцию сокрытия пустых sourceset
#androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#androidstudio #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Также можно будет запустить анализ проекта на основе Play Policy из раздела "Code"
Полностью все политики можно изучить в Play Policy Center
#androidstudio #googleplay #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM