Обложка канала

Android Broadcast. Страница 102

Качественная выборка Android Dev новостей, тезисы важных новостей и статей, личное мнение

  • Android Broadcast

    #JetpackCompos

    Decompose

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

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

    В настоящий момент проект активно развивается, но попробовать его можно уже сейчас.
  • Android Broadcast

    #Testing

    На чем писать Android UI-тесты

    Сравнение различных инструментов для тестирования приложения: UiAutomator, Espresso, Robolectric. Также рассматриваются обертки над ними Appium, Kakao, Barista и Kaspresso.
  • Android Broadcast

    #ViewBinding #Kotlin

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

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

    Хотите упростить работу с View Binding - посмотрите на мою библиотеку ViewBindingPropertyDelegate
    Видео недоступно для просмотра
    ОТКРЫТЬ В TELEGRAM
    ViewBinding vs Kotlin Synthetics

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

    YouTube
  • Реклама

  • Android Broadcast

    #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 и выступит много моих друзей.
  • Android Broadcast

    #MLKit #MachineLearning

    ML Kit Pose Detection Makes Staying Active at Home Easier

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

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

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

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

    ​​#Tooling #JakeWharton

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

    ​​#Tooling #JakeWharton

    Dependency Tree Diff

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

  • Android Broadcast

    #Jetpack #Datastore #SharedPreferences

    Сравнение SharedPreferences и новой DataStore
  • Android Broadcast

    #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
  • Android Broadcast

    #Jetpack

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

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

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

  • Android Broadcast

    #Android11 #ART #AndroidStudio

    Structural Class Redefinition and Apply Changes

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

    #Android11 #ART #AndroidStudio

    Structural Class Redefinition

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

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

    ​​#JetpackCompose

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

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

  • Android Broadcast

    #Coroutines #Flow #LiveData

    Refactoring from LiveData to Coroutines & Flow

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

    В статье разбирается как мигрировать с LiveData на Coroutines и Flow
  • Android Broadcast

    #Kotlin #Coroutines

    Why exception handling with Kotlin Coroutines is so hard and how to successfully master it!

    Coroutine всегда хвалились тем что вы можете писать асинхронный код в синхронном стиле. Все мы думали что мы сможем использовать привычные подходы, но как же мы заблуждались.

    Обработка ошибок может быть еще тем трюком в Coroutine. Как бы я не любил этот подход, но такая сложность в нем есть (

    В статье автор разбирает
    👉 интересные случаи обработки ошибок,
    👉 почему так происходит
    👉 какая в этом роль Structured Concurrency
    👉 CoroutineExceptionHandler
    👉 try-catch vs CoroutineExceptionHandler
    👉 launch{} vs async{}
    👉 coroutineScope{}
    👉 supervisorScope{}
  • Android Broadcast

    #Kotlin #Multiplafrom #iOS

    Kotlin Multiplatform Mobile goes Alpha

    JetBrains уже говорили о том что концентрируют сейчас усилия в мультиплатформе на мобильном сегменте. Как результат - релиз Kotlin Multiplatform Mobile (KMM).

    KMM - это SDK для шаринга кода между iOS и Android, которое включается в себя плагин для Android Studio. Плагин позволяет писать, запускать и дебажить общий код на Android и iOS из одной IDE.

    Руководство по использованию и установке плагина здесь