Size: a a a

Android Broadcast

2020 February 06
Android Broadcast
#Jetpack #Biometric

AndroidX Biometric library code review

Немного о том как Google забивает на фикс проблем с утечками памяти в своих библиотеках и выкатывает стабильный релиз, когда проблемы так и не исправлены.
источник
Android Broadcast
​​#UI

CurveGraphView

Библиотека, которая поможет отображать вам графики в ваших приложениях
источник
2020 February 07
Android Broadcast
#MotionLayout #Animation #Coroutines

Complex UI/Animations on Android — featuring MotionLayout

Чем ближе Android Studio 4.0 и стабильный релиз Motion Layout, тем больше интересных статей что можно сделать с новым инструментом для создания анимаций на Android.

В статье разбирается пример + очень узкие кейсы работы анимаций в MotionLayout, а также как можно работать с AnimationSet с помощью Kotlin Coroutine
источник
Android Broadcast
#RxJava #Coroutines #Backpressure

From RxJava to Kotlin Flow: Backpressure

Сравнение работы с Backpressure в RxJava 2 и Coroutines Flow:
👉 Как решается в Flow
👉 Flowable
👉 Операторы для работы с Backpressure в RxJava
источник
Android Broadcast
#Kotlin

Kotlin Code Organization

Интересный взгляд на организацию Kotlin кода в Gradle проектах:
👉Java и Kotlin кода
👉Kotlin extensions
👉Код для тестов
источник
Android Broadcast
#MemoryLeak #LeakCanary

Вышел LeakCanary 2.2

В новой версии нас ждут новые плюшки:
👉 Отслеживание утечек ViewModel из Arch Components
👉 Поддержка Android TV
👉 Java-friendly Config builders
источник
Android Broadcast
#Minsk #Android #Course

Сообщество Mobile People совместно с The Rolling Scope запускает курсы по Android.

Курс основан на Android Roadmap и покрывает все современные решения и популярные библиотеки, применяемый при разработке современных Android приложений.

Занятия проходят 2 раза в неделю по вечерам во вторник и четверг. Продолжительность 6 месяцев. Всё обучение проводится в формате вебинаров, а записи будут выкладываться на YouTube канале RS школы.

Если вы хотите прочитать лекцию, попробовать себя в роли ментора, или ваша компания заинтересована в выпускниках курса для последующей стажировки, обращайтесь к куратору курса - Артему Багрицевичу
источник
2020 February 08
Android Broadcast
#UI #View

Airbnb Paris

Android Framework имеет мощную систему кастомизации UI с помощью тем и стилей, но применить их можно только во время создания View. И когда вы хотите поменять стиль единственный стандартный способ - это пересоздать View.

Разработчики из Airbnb представили свой взгляд на этот вопрос и создали библиотеку Paris, которое позволяет менять стили из кода без пересоздания. Поддерживаются не все атрибуты и требуется запуск процессора аннотаций, но задача решаема!
источник
Android Broadcast
#MotionLayout #Animation

Working with dynamic data in MotionLayout

Большая часть примеров разбирает использования MotionLayout в XML или визуального редактора.

В статье разбирается пример использования MotionLayout из кода, создавая MotionScene динамически.
источник
2020 February 10
Android Broadcast
#Kotlin #Static

Utils class in Kotlin

Kotlin добавил много сахара в синтаксис по сравнению с Java, например позволил отказаться от кучи методов в *Utils классах. Значительным изменением стало отсутствие понятия static в Kotlin. Вариантов что использовать вместо аж целых 3:
👉 Top level функции
👉 Функции в object
👉 Функции в companion object

Что лучше, как с этим потом работать из Java и прочие тонкости разбираются в статье
источник
Android Broadcast
#AndroidAcademy #Minsk #Workshop #Coroutines

17 февраля Android Academy Minsk в рамках Advanced курса проведут воркшоп по Kotlin Coroutines. Вы сможете закрепить знания, полученные на первой лекции (запись можно найти здесь) на реальных задачах под руководством опытных разработчиков.

Программа воркшопа состоит из 3 заданий:
👉 “Fast finger” game: suspend, delay, ViewModel Coroutine Scope
👉 Network + Storage: Retrofit & Room + Coroutines
👉 Super Simple Chat - Flow & Channels
источник
Android Broadcast
#JUnit5 #Testing

Parameterized tests with Kotlin’s Sealed Classes

JUnit 5 сделал написание параметризированных тестов проще - параметры на в методе и аннотация, которая перебирает параметры из источника. Одной из таких аннотаций является @EnumSource, которые перебирает значения из заданного enum.

Sealed класс в Kotlin называют "Enum на стероидах", так как они имеют меньше ограничений, но оставляют важную особенность - ограниченность вариантов, а именно подклассов.

В статье разбирается как сделать свой источник параметров для JUnit 5 тестов на основе Sealed класса.
источник
2020 February 11
Android Broadcast
#Kotlin

It's Nothing

В Kotlin есть 3 специальных типа: Any, Unit и Nothing. И если первые 2 часто понятны (аналоги Object и Void), то вот Nothing зачастую вызывает вопросы:
👉 Зачем нужен тип экземпляр которого ни создать, не получить?
👉 Когда стоит использовать Nothing, а когда Unit
👉 Nothing - подтип любого типа? Это же невозможно в JVM!

В статье разбираются случаи использования Nothing
источник
Android Broadcast
​​#Meetup #Avito #НижнийНовгород

Avito Android митап в Нижнем Новгороде

29 февраля (суббота) в Нижнем Новгороде пройдет  Android митап, организованный совместно Avito и GDG Gorky. В рамках митапа вас ждут 4 доклада:
👉 Организация и инфраструктура дизайн-системы Авито — Андрей Данилов@Авито
👉 MotionLayout. Анимации, как у сына маминой подруги — Андрей Тумаринсон@MERA
 👉 Мы вынесли инфраструктуру для Android в open source — Сергей Боиштян@Авито
👉 Почему Kotlin Coroutine — лучшее, что подходит Android — Кирилл Розов@Android Broadcast

В своем докладе я расскажу о интеграции Kotlin Coroutines в Android приложения и почему стоит выбрать/переходить на него уже, если не успели сделать этого раньше.

Для тех кто не сможет попасть, то вы сможете посмотреть онлайн трансляцию.

Я буду рад увидеть всех вас и пойти куда посидеть всем вместе после митапа или в воскресенье. Пишите если есть такое желание мне в личку @krlrozov, так как надо понять на какое время заказывать билеты.
источник
Android Broadcast
#Testing #Instrumentation #UIAutomator

Вышел Kaspresso 1.1.0

Разработчики Kaspresso продолжают работу над ошибками в Instrumentation тестирование под Android и теперь они улучшают UI Automator - встречайте Kautomator.

Kautomator ускоряет UI Automator просто до небес 🚀. Подробности как это сделали здесь. Сравнение скорости работы смотрите ниже ⬇️⬇️⬇️

Кроме того, Kautomator - это красивая обертка над UI Automator, делающая написание тестов одним сплошным удовольствием, используя возможности Kotlin.

В купе с механизмом интерсепторов, Kaspresso + Kautomator обеспечивают мощную защиту от flaky. Подробнее здесь и здесь.

Новый релиз также отметился:
🔥 Тестирование обновлений приложения
🔥 Проверка Logcat логов, которая позволяет следить за соблюдением GDPR
👉 Новый continuously метод для тестов
👉 Улучшения в BaseTestCase и BaseTestContext
👉 Исправление багов
👉 Улучшение документации и примеров

Совсем скоро в гости к Android Broadcast Podcast придут создатели Kaspresso, чтобы рассказать больше о тестирование Android приложений и как их библиотека его улучшает
источник
Android Broadcast
Сравнение работы Kautomator (слева) и UI Automator (справа)
источник
Android Broadcast
#RecyclerView

Anatomy of RecyclerView: a Search for a ViewHolder

RecyclerView - один из самых популярных виджетов в Android разработке. Его устройство не простое и состоит из множества компонентов: LayoutManager, Adapter, ViewHolder, ItemAnimator, ItemDecoration и др. Но сколько магии скрывается внутри для обеспечения работы.

В статье разбирается что скрывается за методом getViewByPosition() для получения View, которая будет отображаться в заданном элементе списка.
источник
2020 February 12
Android Broadcast
#Tooling

Become a Master Builder with these Android Dev Tools

Обзор различных библиотек и программ, которые помогут вам сделать работу проще:
👉 Vysor - шаринг экрана реального устройства
👉 Chucker - перехватчик сетевых запросов
👉 Stetho - множество информации через Chrome
👉 LeakCanary - слежка за утечками памяти
👉 Shape Shifter - визуальный редактор для AnimatedVectorDrawable
👉 Charles Proxy - сетевая прокси
👉 Accessibility Scanner - проверка Accessibility вашего приложения
👉 Window Visual Quality Assurance - измеряем view на экране
👉 Screen Recorder - запись видео с экрана
👉 Dev Tiles - быстрый доступ к настройкам dev options через Tiles
источник
Android Broadcast
android_broadcast
#Tooling

Become a Master Builder with these Android Dev Tools

Обзор различных библиотек и программ, которые помогут вам сделать работу проще:
👉 Vysor - шаринг экрана реального устройства
👉 Chucker - перехватчик сетевых запросов
👉 Stetho - множество информации через Chrome
👉 LeakCanary - слежка за утечками памяти
👉 Shape Shifter - визуальный редактор для AnimatedVectorDrawable
👉 Charles Proxy - сетевая прокси
👉 Accessibility Scanner - проверка Accessibility вашего приложения
👉 Window Visual Quality Assurance - измеряем view на экране
👉 Screen Recorder - запись видео с экрана
👉 Dev Tiles - быстрый доступ к настройкам dev options через Tiles
В дополнение стоит обратить внимание на утилиту scrcpy от Genymotion, которая является бесплатным аналогом Vysor , а также приложение Developer Assistant, которая позволяет вам проверять layout, style, переводы и другое прямо с вашего устройства
источник
Android Broadcast
#Dagger #Performance

Speeding Up Builds with Dagger Reflect

В Dagger есть 2 боли - сложность описания графа и скорость сборки проектов. С первой проблемой не справиться просто, но вот для второй разработчики придумали уходить от процессора аннотаций в пользу рефлексии. Это снижает скорость работы Dagger, но увеличивает скорость сборки.

Одна грусть во всем этом - уйти полностью от процессора аннотаций в случае Dagger нельзя (
источник