#UI
Android Styling: Common Theme Attributes
Продолжение серии статей про стили в Android. В новой части рассказывается про
👉 основные атрибуты Material темы
👉 сравнивается разница между
👉 объявление собственных атрибутов
Android Styling: Common Theme Attributes
Продолжение серии статей про стили в Android. В новой части рассказывается про
👉 основные атрибуты Material темы
👉 сравнивается разница между
app
и android
namespace👉 объявление собственных атрибутов
Medium
Android styling: common theme attributes
In the previous article in this series on Android styling, we looked at the difference between themes and styles and how themes allow you…
#NFC
NFC Token & Credit Card reader
Всем кому интересна работа с NFC для считывания данных с карточек и чтения/записи на NFC токены рекомендую посмотреть на исходный код приложения
NFC Peerbits
NFC Token & Credit Card reader
Всем кому интересна работа с NFC для считывания данных с карточек и чтения/записи на NFC токены рекомендую посмотреть на исходный код приложения
NFC Peerbits
GitHub
GitHub - Peerbits/Android-NFC: Read/Write with NFC. Read NFC CreditCard
Read/Write with NFC. Read NFC CreditCard . Contribute to Peerbits/Android-NFC development by creating an account on GitHub.
Android Broadcast
Используете ли вы Espresso Test Recorder?
Что-то не пошло у Google с их решение для записи тестов через клики по экрану - Espresso Test Recorder. Возможно разработчики любят писать код сами? Может потому что не генериться Kotlin код? Пишите свои идеи почему вышло так в @android_broadcast_discussions
#Jetpack #Biometric
AndroidX Biometric library code review
Немного о том как Google забивает на фикс проблем с утечками памяти в своих библиотеках и выкатывает стабильный релиз, когда проблемы так и не исправлены.
AndroidX Biometric library code review
Немного о том как Google забивает на фикс проблем с утечками памяти в своих библиотеках и выкатывает стабильный релиз, когда проблемы так и не исправлены.
Medium
Androidx Biometric library code review
I’m following the development of androidx.biometric since version alpha04 (April 3, 2019).
#MotionLayout #Animation #Coroutines
Complex UI/Animations on Android — featuring MotionLayout
Чем ближе Android Studio 4.0 и стабильный релиз Motion Layout, тем больше интересных статей что можно сделать с новым инструментом для создания анимаций на Android.
В статье разбирается пример + очень узкие кейсы работы анимаций в MotionLayout, а также как можно работать с AnimationSet с помощью Kotlin Coroutine
Complex UI/Animations on Android — featuring MotionLayout
Чем ближе Android Studio 4.0 и стабильный релиз Motion Layout, тем больше интересных статей что можно сделать с новым инструментом для создания анимаций на Android.
В статье разбирается пример + очень узкие кейсы работы анимаций в MotionLayout, а также как можно работать с AnimationSet с помощью Kotlin Coroutine
Medium
Complex UI/Animations on Android — featuring MotionLayout
Exploring complex multi-step animations with MotionLayout (and Coroutines).
#RxJava #Coroutines #Backpressure
From RxJava to Kotlin Flow: Backpressure
Сравнение работы с Backpressure в RxJava 2 и Coroutines Flow:
👉 Как решается в Flow
👉 Flowable
👉 Операторы для работы с Backpressure в RxJava
From RxJava to Kotlin Flow: Backpressure
Сравнение работы с Backpressure в RxJava 2 и Coroutines Flow:
👉 Как решается в Flow
👉 Flowable
👉 Операторы для работы с Backpressure в RxJava
Medium
From RxJava to Kotlin Flow: Backpressure
Quick comparison between backpressure solutions in RxJava and Kotlin Flow
#Kotlin
Kotlin Code Organization
Интересный взгляд на организацию Kotlin кода в Gradle проектах:
👉Java и Kotlin кода
👉Kotlin extensions
👉Код для тестов
Kotlin Code Organization
Интересный взгляд на организацию Kotlin кода в Gradle проектах:
👉Java и Kotlin кода
👉Kotlin extensions
👉Код для тестов
arturdryomov.dev
Kotlin Code Organization
Kotlin and Gradle source sets in action
#MemoryLeak #LeakCanary
Вышел LeakCanary 2.2
В новой версии нас ждут новые плюшки:
👉 Отслеживание утечек
👉 Поддержка Android TV
👉 Java-friendly Config builders
Вышел LeakCanary 2.2
В новой версии нас ждут новые плюшки:
👉 Отслеживание утечек
ViewModel
из Arch Components👉 Поддержка Android TV
👉 Java-friendly Config builders
square.github.io
Change Log - LeakCanary
A memory leak detection library for Android
#Minsk #Android #Course
Сообщество Mobile People совместно с The Rolling Scope запускает курсы по Android.
Курс основан на Android Roadmap и покрывает все современные решения и популярные библиотеки, применяемый при разработке современных Android приложений.
Занятия проходят 2 раза в неделю по вечерам во вторник и четверг. Продолжительность 6 месяцев. Всё обучение проводится в формате вебинаров, а записи будут выкладываться на YouTube канале RS школы.
Если вы хотите прочитать лекцию, попробовать себя в роли ментора, или ваша компания заинтересована в выпускниках курса для последующей стажировки, обращайтесь к куратору курса - Артему Багрицевичу
Сообщество Mobile People совместно с The Rolling Scope запускает курсы по Android.
Курс основан на Android Roadmap и покрывает все современные решения и популярные библиотеки, применяемый при разработке современных Android приложений.
Занятия проходят 2 раза в неделю по вечерам во вторник и четверг. Продолжительность 6 месяцев. Всё обучение проводится в формате вебинаров, а записи будут выкладываться на YouTube канале RS школы.
Если вы хотите прочитать лекцию, попробовать себя в роли ментора, или ваша компания заинтересована в выпускниках курса для последующей стажировки, обращайтесь к куратору курса - Артему Багрицевичу
#UI #View
Airbnb Paris
Android Framework имеет мощную систему кастомизации UI с помощью тем и стилей, но применить их можно только во время создания View. И когда вы хотите поменять стиль единственный стандартный способ - это пересоздать View.
Разработчики из Airbnb представили свой взгляд на этот вопрос и создали библиотеку Paris, которое позволяет менять стили из кода без пересоздания. Поддерживаются не все атрибуты и требуется запуск процессора аннотаций, но задача решаема!
Airbnb Paris
Android Framework имеет мощную систему кастомизации UI с помощью тем и стилей, но применить их можно только во время создания View. И когда вы хотите поменять стиль единственный стандартный способ - это пересоздать View.
Разработчики из Airbnb представили свой взгляд на этот вопрос и создали библиотеку Paris, которое позволяет менять стили из кода без пересоздания. Поддерживаются не все атрибуты и требуется запуск процессора аннотаций, но задача решаема!
GitHub
GitHub - airbnb/paris: Define and apply styles to Android views programmatically
Define and apply styles to Android views programmatically - airbnb/paris
#MotionLayout #Animation
Working with dynamic data in MotionLayout
Большая часть примеров разбирает использования MotionLayout в XML или визуального редактора.
В статье разбирается пример использования MotionLayout из кода, создавая MotionScene динамически.
Working with dynamic data in MotionLayout
Большая часть примеров разбирает использования MotionLayout в XML или визуального редактора.
В статье разбирается пример использования MotionLayout из кода, создавая MotionScene динамически.
Medium
Working with dynamic data in MotionLayout
Can you use MotionLayout to create dynamic animations of data? That’s any data you don’t know about at compile time — like user input. Yes!
#Kotlin #Static
Utils class in Kotlin
Kotlin добавил много сахара в синтаксис по сравнению с Java, например позволил отказаться от кучи методов в
👉 Top level функции
👉 Функции в object
👉 Функции в companion object
Что лучше, как с этим потом работать из Java и прочие тонкости разбираются в статье
Utils class in Kotlin
Kotlin добавил много сахара в синтаксис по сравнению с Java, например позволил отказаться от кучи методов в
*Utils
классах. Значительным изменением стало отсутствие понятия static
в Kotlin. Вариантов что использовать вместо аж целых 3:👉 Top level функции
👉 Функции в object
👉 Функции в companion object
Что лучше, как с этим потом работать из Java и прочие тонкости разбираются в статье
Medium
Utils class in Kotlin
Unlike Java, there is no static in Kotlin. You can create utils class by putting methods inside an object, or use package-level functions
#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
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 класса.
Parameterized tests with Kotlin’s Sealed Classes
JUnit 5 сделал написание параметризированных тестов проще - параметры на в методе и аннотация, которая перебирает параметры из источника. Одной из таких аннотаций является @EnumSource, которые перебирает значения из заданного enum.
Sealed класс в Kotlin называют "Enum на стероидах", так как они имеют меньше ограничений, но оставляют важную особенность - ограниченность вариантов, а именно подклассов.
В статье разбирается как сделать свой источник параметров для JUnit 5 тестов на основе Sealed класса.
Medium
Parameterized tests with Kotlin’s Sealed Classes
Sealed classed are enums++. Parametrized tests are a powerful feature in Junit5 but they don’t work together out of the box.
#Kotlin
It's Nothing
В Kotlin есть 3 специальных типа:
👉 Зачем нужен тип экземпляр которого ни создать, не получить?
👉 Когда стоит использовать
👉 Nothing - подтип любого типа? Это же невозможно в JVM!
В статье разбираются случаи использования
It's Nothing
В Kotlin есть 3 специальных типа:
Any
, Unit
и Nothing
. И если первые 2 часто понятны (аналоги Object
и Void
), то вот Nothing зачастую вызывает вопросы:👉 Зачем нужен тип экземпляр которого ни создать, не получить?
👉 Когда стоит использовать
Nothing
, а когда Unit
👉 Nothing - подтип любого типа? Это же невозможно в JVM!
В статье разбираются случаи использования
Nothing
Zac Sweers
It's Nothing
Nothing is a special type in Kotlin often used for errors. Is that all it's useful for though?
#Meetup #Avito #НижнийНовгород
Avito Android митап в Нижнем Новгороде
29 февраля (суббота) в Нижнем Новгороде пройдет Android митап, организованный совместно Avito и GDG Gorky. В рамках митапа вас ждут 4 доклада:
👉 Организация и инфраструктура дизайн-системы Авито — Андрей Данилов@Авито
👉 MotionLayout. Анимации, как у сына маминой подруги — Андрей Тумаринсон@MERA
👉 Мы вынесли инфраструктуру для Android в open source — Сергей Боиштян@Авито
👉 Почему Kotlin Coroutine — лучшее, что подходит Android — Кирилл Розов@Android Broadcast
В своем докладе я расскажу о интеграции Kotlin Coroutines в Android приложения и почему стоит выбрать/переходить на него уже, если не успели сделать этого раньше.
Для тех кто не сможет попасть, то вы сможете посмотреть онлайн трансляцию.
Я буду рад увидеть всех вас и пойти куда посидеть всем вместе после митапа или в воскресенье. Пишите если есть такое желание мне в личку @krlrozov, так как надо понять на какое время заказывать билеты.
Avito Android митап в Нижнем Новгороде
29 февраля (суббота) в Нижнем Новгороде пройдет Android митап, организованный совместно Avito и GDG Gorky. В рамках митапа вас ждут 4 доклада:
👉 Организация и инфраструктура дизайн-системы Авито — Андрей Данилов@Авито
👉 MotionLayout. Анимации, как у сына маминой подруги — Андрей Тумаринсон@MERA
👉 Мы вынесли инфраструктуру для Android в open source — Сергей Боиштян@Авито
👉 Почему Kotlin Coroutine — лучшее, что подходит Android — Кирилл Розов@Android Broadcast
В своем докладе я расскажу о интеграции Kotlin Coroutines в Android приложения и почему стоит выбрать/переходить на него уже, если не успели сделать этого раньше.
Для тех кто не сможет попасть, то вы сможете посмотреть онлайн трансляцию.
Я буду рад увидеть всех вас и пойти куда посидеть всем вместе после митапа или в воскресенье. Пишите если есть такое желание мне в личку @krlrozov, так как надо понять на какое время заказывать билеты.
#Testing #Instrumentation #UIAutomator
Вышел Kaspresso 1.1.0
Разработчики Kaspresso продолжают работу над ошибками в Instrumentation тестирование под Android и теперь они улучшают UI Automator - встречайте
Кроме того,
В купе с механизмом интерсепторов,
Новый релиз также отметился:
🔥 Тестирование обновлений приложения
🔥 Проверка Logcat логов, которая позволяет следить за соблюдением GDPR
👉 Новый continuously метод для тестов
👉 Улучшения в
👉 Исправление багов
👉 Улучшение документации и примеров
Совсем скоро в гости к Android Broadcast Podcast придут создатели Kaspresso, чтобы рассказать больше о тестирование Android приложений и как их библиотека его улучшает
Вышел 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 приложений и как их библиотека его улучшает
GitHub
Release Kaspresso 1.1.0: Kautomator · KasperskyLab/Kaspresso
Wrapper over UI Automator: Kautomator
We are happy to announce a new unique Kotlin DSL wrapper over UI Automator: Kautomator!
Let's consider the main features.
Speed
The most amazing feature of...
We are happy to announce a new unique Kotlin DSL wrapper over UI Automator: Kautomator!
Let's consider the main features.
Speed
The most amazing feature of...
This media is not supported in your browser
VIEW IN TELEGRAM
Сравнение работы
Kautomator
(слева) и UI Automator
(справа)#RecyclerView
Anatomy of RecyclerView: a Search for a ViewHolder
RecyclerView - один из самых популярных виджетов в Android разработке. Его устройство не простое и состоит из множества компонентов: LayoutManager, Adapter, ViewHolder, ItemAnimator, ItemDecoration и др. Но сколько магии скрывается внутри для обеспечения работы.
В статье разбирается что скрывается за методом getViewByPosition() для получения View, которая будет отображаться в заданном элементе списка.
Anatomy of RecyclerView: a Search for a ViewHolder
RecyclerView - один из самых популярных виджетов в Android разработке. Его устройство не простое и состоит из множества компонентов: LayoutManager, Adapter, ViewHolder, ItemAnimator, ItemDecoration и др. Но сколько магии скрывается внутри для обеспечения работы.
В статье разбирается что скрывается за методом getViewByPosition() для получения View, которая будет отображаться в заданном элементе списка.
Medium
Anatomy of RecyclerView: a Search for a ViewHolder
Intro