Android Broadcast
14.2K subscribers
3.51K photos
338 videos
11 files
5.89K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#CameraX #AndroidX #Camera

Core Principles Behind CameraX Jetpack Library

CameraX - одна из главных новинок AndroidX из Google I/O. Она решает проблемы с особенностями работы с камерой на устройствах различных производителей, а также дает доступ к таким возможностям как HDR, ночной режим и прочие, которые ранее были недоступны.

В статье рассматриваются особенности библиотеки:
👉 Интеграция с Lifecycle
👉 Работа на основе сценариев (use-case-driven). Основные сценарии - это предпросмотр, анализ изображения и захват изображения.
👉 Graceful degradation
👉 Совместимость со всеми устройства на Android 5.0+ и поддерживающими Camera 2 API
👉 Поддержка расширений от производителей, для доступа к низкоуровневым API камеры

Библиотека активно развивается и получает улучшения API. Ждем хотя бы beta
#AndroidX #JetpackWeekly

Android Jetpack Weekly #7

Прошедшая неделя была очень богатой на обновления:
👉 Кастомные конструкторы в Fragment - здравствуй Dagger 2 и inject в конструкторы
👉Улучшения в Navigation: dialog target, навигация по uri
👉Новые Kotlin APIs в *-ktx
👉 Улучшения в Preference Framework и Preference из SDK уже deprecated
#AndroidX #JetpackWeekly

Android Jetpack Weekly #8

После недели затишья, вышло новое обновление Android Jetpack:
👉 Новое deprecated APIs в Fragment и новое API на замену ему
👉 Android Jetpack Experimental аннотация
👉 Улучшения в Trusted Web Activity
👉 Много багфиксинга в разных библиотеках
#AndroidX

Количество артефактов в Android огромное, чтобы посмотреть их можно полазить в документации либо зайти на maven.google.com. Сегодня сайт стал удобнее - на нем наконец-то появился поиск 🎉
#ConstraintLayout #AndroidX

Awesomeness of ConstraintLayout Flow

Мы уже давно ждем ConstrainLayout 2.0, а особенно MotionLayout + визуальный редактор анимаций в Android Studio! Но вот уже с Google I/O 2019 они весят в статусе beta 😞.

В статье рассматриваются новые элемент - Flow. Flow позволяет улучшить расположение элементов, нечто подобное на Chain, но уже работает не в первом измерение а одновременно по горизонтали и вертикали.
#AndroidX #JetpackWeekly #JetpackCompose #Room

Android Jetpack Weekly #9

🔥Первая порция артефактов Jetpack Compose
🔥Jetpack Compose и Android Studio 3.5 работают вместе
👉 Room 2.2.0
👉 AndroidX Concurrent Futures
👉 Множество новых beta и RC версий
#AndroidX #Security

Обзор библиотеки AndroidX Security

На последнем Google I/O много времени уделялось безопасности во всех продуктах. Очень логичным стала новинка - библиотека androidx.security.

В рамках библиотеки предоставляются удобные средства для шифрования данных на диске. На текущий момент (версия библиотеки 1.0.0-alpha02):
👉 EncryptedSharedPreferences - зашифрованные SharedPreference
👉 EncryptedFile - шифрование файлов и работа с ними

В статье происходит разбор новой библиотеки и как с ней работать.

Интересно, а что будет с официальной поддержкой шифрования SQLIte? Интегрирует ли что-то официальное в Room?
#AndroidX #JetpackWeekly #Coroutines #Benchmark

Android Jetpack Weekly #10

Android Dev Summit принес большое обновление
🔥Улучшена поддержка Kotlin Coroutines в Lifecycle и LiveData
🔥Сохранение состояния в ViewModel
🎁ViewPager 2 RC - новый ViewPager на основе RecyclerView
🎁Android Benchmark RC - теперь можно писать тесты под Android правильно
🚀 Улучшенные анимации
#WebView #AndroidX

Google решила напомнить о библиотеки AndroidX Webkit, которая портирует возможности WebView с более новых версий Android на старые (5.0+). Смотрите быстрый обзор в коротком видео
#Jetpack #AndroidX #ktx

Знаете ли вы все расширения для Kotlin из *-ktx библиотек? Где найти по ним документацию? Это можно сделать на сайте developers.android.com, если переключиться на формат документации в Kotlin.

Есть ли способ проще? Теперь да - полный список KTX расширений на официальном сайте. Рекомендую пройтись по списку, чтобы сделать ваш Kotlin код лучше и чище.
#AndroidX #JetpackWeekly

Android Jetpack Weekly #13

Новая неделя и новые обновления:
👉 Autofill 1.0.0 - константы для обеспечения корректной работы Autofill
👉 Coordinator Layout 1.1.0 - улучшение nested scrolling
👉 Много исправлений ошибок в новых RC/Beta версиях

Внимание: все кто поддерживает nested scrolling стоит обратить внимание на новое API. Вам надо обновиться!
#AndroidX #Browser

AndroidX Browser 1.2.0

Вышла новая мажорная версия библиотеки Browser 1.2.0 в которой произошли следующие ключевые изменения:
👉 Поддержка Trusted Web Activities вышла в Stable
👉 Поддержка темной темы для ChromeCustomTab
👉 CustomTabsSession может быть создана с заданным заранее id, что позволяет объединять сессию с одного клиента для последовательно запущенных CustomTab
#Facebook #AndroidX

Facebook SDK мигрировала на AndroidX

В последней версии Facebook SDK 7.0.0 наконец-то отказались от Android Support Library и переехали на AndroidX

Для меня это была последняя библиотека, которая не хотела выполнять миграцию и заставлять включать Jetifier. Наконец-то все исправилось!
#AndroidX #Jetpack

Новая порция обновление AndroidX:
👉Вышла Jetpack Car App 1.0.0 с поддержкой Android Auto 6.1
👉Fragment 1.3.3: поддержка SavedStateViewModelFactory и исправление багов
👉Библиотека Paging 3 уже близка к релизу и показали первое RC
👉Новый стабильный релиз Room 2.3.0: поддержка Enum, RxJava 3 и Paging 3; callback на выполнение запросов; возможность контролировать конвертеры типов и прочие улучшения
👉Room 2.4.0-alpha01: поддержка автоматической миграции
👉Первый стабильный релиз Security 1.0.0: EncryptedFile и EncryptedSharedPreferences
👉В WorkManager продолжается улучшение поддержки работы в нескольких процессах

Как всегда, вас ждёт много минорных улучшений и исправление багов
#Jetpack #AndroidX

Обновления Android Jetpack 18 мая 2021

Появилось много интересного API
👉 поддержка Multi Back Stack в Fragment
👉 бенчмарки для отслеживания скорости запуска приложения и анимаций
👉 Navigation переписали на Kotlin и добавили Multi Back Stack
👉 WindowInsetCompat API стало стабильным
👉 Emoji теперь достигли версии 2 и стали интегрированы в AppCompat
👉 Стабильный релиз Secutiry Crypto
и много интересного ещё
👍1
Room 2.7.0-alpha08 дальше развивает поддержку KMP
👉 Артифакт room-paging получил поддержку KMP
👉 API InvalidationTracker теперь стало доступно не только для Android

#jetpack #room #kmp
👍14👎61
Погружение в код реализации Jetpack ViewModel (EN, 5м)

Разбор как реализована Jetpack ViewModel после добавления поддержки KMP: код в класса, AutoClosable, viewModelScope

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

#android #kmp #jetpack #androidx #viewmodel #подкапотом
👍19🤯2
🚀 Вышел Jetpack Media3 1.6.0

👉 Поддержка HLS interstitials для добавления рекламных вставок в HLS-стримы. Подробности тут.
👉 Экспериментальная поддержка декодеров с предварительным прогревом. Позволяет декодировать видео заранее и сделать переключение между видео плавным.
⚙️ Артефакт с поддержкой Compose UI - media3-ui-compose. Демо с новыми компонентами тут, руководство найдете в официальной документации.
🚀 Оптимизация производительности: системные вызовы происходят на фоновом потоке для уменьшения ANR.
🎉 Новое API MediaExtractorCompat - замена MediaExtractor из фреймворка на основе Media3.
👉 API ExperimentalFrameExtractor для получения кадров из видео на замену MediaMetadataRetriever.getFrameAtTime().
👉 Поддержка работы с Dolby Vision.
🛠 Исправление багов.

Полный Release Notes тут.

#android #jetpack #медиа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23
🚀 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
🔥30👍9🤔5