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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#ViewBinding

В Android Studio добавили View Binding

В Android Studio 3.6. Canary 11 добавили поддержку View Binding. View Binding - это легкая замена Data Binding, котороя содержит только ссылки на View из ваших layout ресурсов.

Наконец-то появилась альтернатива Butter Knife и Kotlin Android Extensions.
#JakeWharton #ViewBinding

Важная новость которую я пропустил в посте и Butter Knife 10.2.0 - Jake рекомендует мигрировать на View Binding т.к. разработка Butter Knife останавливается
#ViewBinding #UnderTheHood

View Binding: Internals

Недавно представленный View Binding для упрощения работы с View из XML Layout, уже убивший Butter Knife, чем-то схож в Data Binding. Его авторы вообще сказали, что часть пользователей использовали Data Binding только для ссылок оттуда и возникла идея View Binding.

Как же View Binding работает под капотом? Об этом вы сможете узнать из статьи
#ViewBinding #Kotlin

Make Android View Binding great with Kotlin
2 минуты на чтение, автор Кирилл Розов

Android View Binding - это прекрасная фича Android Gradle Plugin 3.6, которая убила findViewById() и Butter Knife. Но ее правильно использование - это не самая удобная вещь.

В статье рассматривается как с помощь Kotlin Delegated Property упростить это и какая хитрость поджидает в Fragment.viewLifecycleOwner
#MemoryLeak #ViewBinding

Avoiding memory leaks when using Data Binding and View Binding

При использовании View Binding легко попасть в ситуацию, когда у вас в Fragment начнет утекать память. Связано это с тем, что ViewBinding хранит ссылки на View, которые уничтожаются в onDestroyView() и создаются в onCreateView().

Самое интересное, что автор предложил решением мою библиотеку ViewBindingPropertyDelegate, которая изящно решает работу с ViewBinding и DataBinding.
#ViewBinding #Kotlin

📺ViewBinding vs Kotlin Synthetics (16 минут)

Небольшой обзор от Redmadrobot того, почему происходит переход с Kotlin Synthetics на View Binding:
- С чего все начиналось 🦖
- Что не так с synthetics?
- На сайте Kotlin уже нет страницы про синтетики 😎
- Все ли хорошо с View Binding? 🙄 Личный опыт

Хотите упростить работу с View Binding - посмотрите на мою библиотеку ViewBindingPropertyDelegate
#ViewBinding

Вышла версия 1.1.0 библиотеки ViewBindingPropertyDelegate в которой были добавлены новые способы создание делегата, что должно сделать синтаксис более изящным
#AndroidBroadcast #Kotlin #ViewBinding

Android ViewBinding KTX (20 мин)

Новое видео на канале Android Broadcast в котором рассказываю о:
👉 История ViewBinding
👉 ViewBinding под капотом
👉 Как упростить работу с помощью ViewBindingPropertyDelegate

Жду ваши лайки и подписки на канал. В следующем видео буду рассказывать о миграции с LiveData на Flow
#ViewBinding

Fast migration from Kotlin Synthetics to View Binding- Tips and Tricks

Руководство по миграции с Kotlin Synthetic на View Binding, а именно автор рассказывает как это сделать быстрее, а не очередной "how-to" переписать:
👉 Используй viewBinding делегат
👉 Как сделать шаблон для viewBinding в Android Studio
👉 Используйте Kotlin with(binding) { ... }
#ViewBinding

Вышел ViewBindingPropertyDelegate 1.4.3 в котором было исправлено множество багов, произошли улучшения под капотом и случился переезд в Maven Central. В связи с этим изменилось подключение зависимостей. Подробнее читайте здесь

Все кто страдал от багов так долго, приношу свои извинения. Жутко не хватает времени
#viewbinding #jetpack

Вышел ViewBindingPropertyDelegate 1.5.0-beta01

Буду очень признателен если вы зайдёте и поставите звезду проекту, чтобы популяризировать его активнее, несмотря на выход Compose )

В новой версии:
👉 Strict mode - жесткие проверки правильности работы с View. Чтобы вернуть старое поведение, надо вызвать ViewBindingPropertyDelegate.strcitMode = false
👉 Специальный callback при уничтожении ViewBinding внутри делегата, что позволит избегать проблем при работе с DataBinding и не создавать лишние объекты
👉 Проверка, что вы создаёте ViewBinding в момент когда хост (Fragment или что-то другое) могут сделать это
👉 Библиотека переехала с личного аккаунта на корпоративный Android Broadcast

Простите за долгие задержки с багфиксом и ответы, буду стараться работать над библиотекой оперативнее.
Если у вас были проблемы с версией 1.4.7, пожалуйста, попробуйте новую. К сожалению, почему-то её публикация в Maven Central зависла и пока можно сделать только подключить через GitHub Packages.
#viewbinding

Как мы перешли с kotlinx.synthetics на Android View Binding

В HH сделали свой плагин для Android Studio, который автоматизирует миграцию на ViewBinding с синтетиков. Он может помочь вам ускорить переход
💩28🔥16👍2👎1
#viewbinding

ГОРЯЧАЯ НОВОСТЬ - kotlin synthetic будут удалены с выходом Kotlin 1.8. Случится это осенью 2022. Больше подробностей здесь. Мигрируйте на ViewBinding (руководство здесь) или Compose
👍66😱36💩10🤬4🤮2👎1
🎉 Готовится к релиз ViewBindingPropertyDelegate 2.0.0

Уже доступна первая Beta версия следующей мажорной версии. В ней я переработал механизм отслеживания момента, когда уничтожается View в Fragment и Activity, что позволило избавиться от костылей для решения проблем и ненужные проверки момента цикла.

В новой версии изменились артефакты, базовый пакет классов и API создания ViewBinding делегата.

Применить новую библиотеку можно без замены предыдущей и выполнить миграцию или проверить отдельные компоненты вашего приложения. Буду очень признателен вам за отзыв!

❗️ ДА-ДА. Знаю что скоро вот-вот уже Compose заменит View, но еще много кто использует View и продолжает

#android #viewbinding
Please open Telegram to view this post
VIEW IN TELEGRAM
43👍12🤯12
🎉 Вышел стабильный релиз ViewBindingPropertyDelegate 2.0

Мажорная версия обновилась из-за изменения работы библиотеки под капотом. На смену использования Lifecycle для отслеживания события создания/уничтожения View в Activity/Fragment пришли ActivityLifecycleCallback и FragmentLifecycleCallback, что позволило избавиться от багов при переключении Fragment и других моментов.

Последствием такого стало удаление множества API, которое писалось как необходимая часть для корректной работы. Например, библиотека под капотом не выполняет никаких проверок на то корректный ли момент для получения View сейчас, а полностью полагается на поведение системы и Jetpack библиотек.

Следствием таких изменение стало смена пакета API c com.github.kirich1409.viewbindingpropertydelegate на dev.androidbroadcast.vbpd, а также id артефакта в Maven Central. Это позволит работать версии 1.X и 2.X быть подключенным в проект одновременно и делать миграцию поэтапно. Либо просто выполним глобальную замену строки со старым пакетом на новый!

Знаю, что в эру Compose вам уже и не нужна эта библиотека, но точно не все перешли на Compose и пользователи решения остаются!

Если вы найдёте баги или проблемы - пишите в комментариях под постом или создавайте issue

#android #viewbinding #AndroidBroadcast
11👍65🔥215🤯2
Коротко описал ключевые изменения в ViewBindingPropertyDelegate 2.0 через статью (EN,3м) и вот альтернативная ссылка

#android #viewbinding
👍144🔥3