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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Coroutines #Flow #LiveData

Refactoring from LiveData to Coroutines & Flow

Помните руководство где Google рекомендовала на всех слоях использовать LiveData для коммуникации между слоями? Так вот - это заблуждение. LiveData нужна только на UI слое, а на других - Coroutines, Reactive подход или что-то еще асинхронное

В статье разбирается как мигрировать с LiveData на Coroutines и Flow
​​#JetpackCompose

Showkase поможет вам организовать, изучить, найти и визуализировать компоненты Jetpack Compose UI. Фактически это букварь для изучения нового подхода для работы с UI в Android.

Библиотека конфигурирует UI браузер для просмотра все элементов и рендерит их в основных различных режимах.
#Android11 #ART #AndroidStudio

Structural Class Redefinition

Android Runtime (ART) - виртуальная машина, которая исполняет код Android приложений, обновляется регулярно. Проблема в том, что очень мало информации о том что происходит в ней от релиза к релизу. Поэтому рекомендую остановить внимание на посте.

Structural Class Redefinition - это расширение для JVMTI API, которое позволяет улучшить функцию "Apply Changes" в Android Studio. В первой части описывается работа этого функционала на уровне виртуальной машины.
#Android11 #ART #AndroidStudio

Structural Class Redefinition and Apply Changes

Реализация Structural Class Redefinition в Android Studio, которая уже работает в Android Studio 4.1 (вчера вышел RC2). К сожалению, не все заработает полноценно в AS 4.1, часть функционала доступна только в 4.2.
#Jetpack

Обновление Jetpack 2 сентября 2020

Новое обновление Jetpack. Основная часть обновления - новые альфа библиотек Compose и переход множества других библиотек на новую стадию alpha, beta, rc.

Однако не обошлось без интересного анонса - библиотека DataStore для сохранения данных, разработанная на Kotlin и под капотом построенная на Coroutines и Flow. Библиотека приходит на замену SharedPreferences.
#Jetpack #DataStore #SharedPreferences

Prefer Storing Data with Jetpack DataStore

Всему суждено пасть. AsyncTask уже стали deprecated, UI на основе View будет заменен Compose. Вот и SharedPreferences будет замене новой библиотекой DataStore, разработанной на Kotlin и работающей на основе Coroutines.

Новая библиотека решена всех проблем SharedPreferences:
👉 Полностью асинхронное
👉 Уведомление об ошибках
👉 Транзакционное выполнение
👉 Поддержка миграции с SharedPreferences в DataStore
👉 Возможность работы как "Key-Value" так и хранилище объектов на основе Protobuf

В статье найдете примеры использования DataStore и миграции с SharedPreferences

Важно: DataStore не является заменой Room
#Jetpack #Datastore #SharedPreferences

Сравнение SharedPreferences и новой DataStore
​​#Tooling #JakeWharton

Dependency Tree Diff

Утилита для вычисления разницы между выводом Gradle таска `dependencies`. Будет полезно, чтобы делать анализ и визуализировать что менялось между коммитами. Также упростит отслеживание транзитивных зависимостей.
​​#Tooling #JakeWharton

Diffuse - утилита для определения изменения размера APK, AAB, AAR и JAR файлов, которая по категориям файлов в архивах показывает детали.
#MLKit #MachineLearning

ML Kit Pose Detection Makes Staying Active at Home Easier

Одной из возможностей, которые предоставляются ML Kit SDK, является Pose Detection.

Pose Detection API обеспечивает отслеживание положения всего тела по 33 точкам, включая лицевые ориентиры (уши, глаза, рот и нос), отслеживание рук и ног, а также отслеживание множества сложных спортивных поз, таких как позы йоги.

Особенности решения:
👉 решение кроссплатформенное (Android и iOS)
👉 работает как с изображениями так и с видео
👉 позволяет использовать "Быстрый" и "Точный" режимы

В посте рассматриваются примеры применения для физической активности и обучения танцам.
#Conference #Online

Mobile Z-Days: iOS, Android и Flutter

8-10 сентября вы сможете узнать больше о мобильной разработке от экспертов мира мобильной разработки. Один вечер – одно направление: iOS, Android и Flutter. 

Android-темы (9 сентября): 
● Protocol Oriented Programming in Kotlin?
● Android apps security – lessons learned 
● Fantastic API and where to find them

Также в рамках события пройдёт запись подкаста Mobile People Talks и выступит много моих друзей.
#ViewBinding #Kotlin

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

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

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

Decompose

Для всех кто использует Jetpack Compose и любит Fragment, пригодится Decompose. Библиотека предоставляет две базовые сущности: Component и Router. Router - даёт возможность навигации.

Каждый Component:
👉 может иметь сколько угодно Router-ов;
👉 является LifecycleOwner, т.е. имеет жизненный цикл;
👉 может сохранять/восстанавливать состояние;
👉 является ViewModelStoreOwner - можно использовать ViewModel для продолжения работы при смене конфигурации;
👉 является OnBackPressedDispatcherOwner, что даёт возможность обрабатывать нажатия кнопки "Назад".

В настоящий момент проект активно развивается, но попробовать его можно уже сейчас.
#AndroidBroadcast #Kotlin #Compiler

Новый компилятор Kotlin в 1.4
Когда: Вторник, 8 сентября, 20:00 GMT+3

Команда Kotlin активно занимается переписыванием компилятора языка, чтобы ускорить его; объединить кодовую базу между JVM, Native и JS backend; открыть API плагинов компилятора и др. улучшения. В выпуске копаемся в изменениях под капотом компилятора и будущем.

Гость - Семён Огородник, Kotlin Compiler Frontend-IR (FIR) Tech Lead в JetBrains, Работает в Kotlin уже 4 года. До FIR работал в Kotlin IDE team, там успел позаниматься J2K, Completion и производительностью. Некоторое время поддерживал Dokka

Всем кому интересна тема рекомендую посмотреть выпуск "Kotlin 1.4: быстрее и лучше"
#Fragment #DependecyInjection

The defective AndroidX FragmentFactory

Появление FragmentFactory позволяет отказаться от выполнения inject-а зависимостей в поля класса, а в Kotlin еще и отказаться от lateinit. Но это работает не для всех случаев, о которых автор статьи рассказывает.

По моему опыту граф прекрасно строился с помощью этого API и не было ситуации, чтобы я уперся в ограничения, о которых рассказывает автор. Возможно, мы строим разные графы зависимостей