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
#Fragment #Animation

Android Fragments: FragmentContainerView

В AndroidX Fragment 1.2.0 появилась специальная ViewGroup, которую надо использовать для добавления Fragment, - FragmentContainerView. В статье разбираются особенности нового контейнера.
#Material #UI

Вышла Material Design 1.1.0

Вышло обновление библиотеки Material Design для Android, которое привнесло:
👉 Многие компоненты приведены в соответствии с новой спецификацей Material Design
👉 Использование новой Material Shape System большинством компонентов
👉 Улучшена поддержка "Edge-to-Edge" дизайна и навигации жестами из Android 10
👉 Исправлено поведения компонентов на Android до 5.0
👉 Поддержка темной темы всем компонентами библиотеки
👉 Date Picker
👉 Extended Floating Action Button
👉 Улучшения в Accessibility
👉 Исправление багов и улучшения
Tips & Tricks #2 от Readmadrobot

В новом выпуске советов вы найдете:
 👨🏻‍🔧 как проще всего загрузить и показать пользователю PDF файл
 🧐 решение проблемы с названиями месяцев в русской локали
 💪 отличная библиотека для отображения календаря с возможностью полной кастомизации
 👻 BottomSheetDialog и исчезнувшие инсеты
 💄 тинтинг Drawable в рантайме
 🙅🏽‍♀️ глобальный PlaceHolder при использовании Glide
#Dx #D8

The path to DX deprecation

Google объявила о 3 фазах миграции с Dx на D8, причем в фазу 2 мы уже успели войти. Во второй фазе Dx остаётся доступным, но помечается как deprecated. Баги в нем больше исправляться не будут. Пора переходить на D8.

Третья фаза начнется 1 февраля 2021 - полное удаление Dx из Android Studio и всех других инструментов сборки.

Справка: Dx и D8 - это компиляторы Java байт кода в Dex, формат байт кода для ART
#UI

Android Styling: Themes vs Styles

Возможности кастомизации UI в Android огромны и реализуются они с помощью стилей и темы. Понимать разницу между ними и как работает механизм атрибутов View поможет вам постичь дзена и легко поддерживать разные темы в приложениях
#UI

Android Styling: Common Theme Attributes

Продолжение серии статей про стили в Android. В новой части рассказывается про
👉 основные атрибуты Material темы
👉 сравнивается разница между app и android namespace
👉 объявление собственных атрибутов
#NFC

NFC Token & Credit Card reader

Всем кому интересна работа с NFC для считывания данных с карточек и чтения/записи на NFC токены рекомендую посмотреть на исходный код приложения
NFC Peerbits
Android Broadcast
Используете ли вы Espresso Test Recorder?
Что-то не пошло у Google с их решение для записи тестов через клики по экрану - Espresso Test Recorder. Возможно разработчики любят писать код сами? Может потому что не генериться Kotlin код? Пишите свои идеи почему вышло так в @android_broadcast_discussions
#Jetpack #Biometric

AndroidX Biometric library code review

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

CurveGraphView

Библиотека, которая поможет отображать вам графики в ваших приложениях
#MotionLayout #Animation #Coroutines

Complex UI/Animations on Android — featuring MotionLayout

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

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

From RxJava to Kotlin Flow: Backpressure

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

Kotlin Code Organization

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

Вышел LeakCanary 2.2

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

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

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

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

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

Airbnb Paris

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

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

Working with dynamic data in MotionLayout

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

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

Utils class in Kotlin

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

Что лучше, как с этим потом работать из Java и прочие тонкости разбираются в статье
#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
#JUnit5 #Testing

Parameterized tests with Kotlin’s Sealed Classes

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

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

В статье разбирается как сделать свой источник параметров для JUnit 5 тестов на основе Sealed класса.