Size: a a a

Android Broadcast

2020 May 16
Android Broadcast
#RecyclerView

Playing with the new MergeAdapter on Android

В следующей версии RecyclerView (1.2.0) появится новый вид адаптеров - MergeAdapter, цель которого упростить объединение нескольких типов элементов в один адаптер.

В статье рассматривается пример использования, а также то чего не стоит допуска:
👉 Каждый адаптер внутри в MergeAdapter использует собственный пул для ViewHolder
👉 Не используйте notifyDataSetChanged()
👉 Используйте ViewHolder.getBindingAdapterPosition() вместо ViewHolder.getAdapterPosition(), который теперь deprecated
источник
Android Broadcast
Вступил в силу новый ГОСТ для цифровых ресурсов: все платформы должны быть доступны для инвалидов

Теперь в РФ есть ГОСТ в который включены требования для мобильных приложений по их доступности для людей из различных групп: людей и ограниченными возможностями, пожилых людей. ГОСТ разработан на основе рекомендаций международной World Wide Web Consortium

Требования изложены в 4 принципах: цифровой контент должен быть воспринимаемым, управляемым, понятным и надежным. Выполнение ГОСТа необязательно и является лишь рекомендуемым для достижения высокого уровня доступности.
источник
Android Broadcast
Заботитесь ли вы у себя в выполнении принципов доступности приложения для различных групп людей?
Анонимный опрос
15%
Да, все должны иметь полноценный доступ
59%
Нет, нет времени на заботы обо всём и всех
26%
Не участвую в опросе
Проголосовало: 748
источник
2020 May 18
Android Broadcast
#Networking #OkHttp

Вышел OkHttp 4.7.0

👉 Более простой способ отключить проверку безопасности во время разработки с помощью HandshakeCertificates.Builder.addInsecureHost()
👉 Добавлены события cacheHitcacheMiss и cacheConditionalHit() в EventListener
👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
источник
Android Broadcast
#Android11 #Online

Анонс Android 11 Beta - Смотрим вместе

Когда: 3 июня, 17.40 GMT+3
Где: YouTube канал Android Broadcast

3 июня пройдет важное событие - запуск первой Beta Android 11. Для Android разработчиков это событие фактически Android Keynote с Google I/O, которого в этом году не состоялось.

Android Broadcast совместно с Android Dev Podcast объединились для организации стрима с комментариями от опытных разработчиков.

На трансляции будут опытнейшие Android разработчики, суммарный опыт которых порядка 50 лет: Кирилл Розов, Александр Блинов, Михаил Емельянов, Сергей Боиштян, Вадим Котов, Антон Дудаков
источник
Android Broadcast
#UI #Testing

Snapshot tests or how to stop layouts from breaking (again)

Подход к тестированию UI не с помощью скриншотов (что требует запуска таких тестов на Android устройстве), а с помощью запуска тестов на основе Robolectric.

Библиотека Layout Verifier снимает дампы значений аттрибутов и сохраняет их файлы, последующие тесты проверяют их совпадение.
источник
2020 May 19
Android Broadcast
#Testing

Accelerate your Android Espresso testing by grouping relevant tests

Статья о различных видах группировки тестов для их точечного запуска. Все это реализовано с помощью аннотаций в JUnit4. Какие варианты групп есть:
👉 По размеру тестов
👉 Группировка нескольких тестов в Suite
👉 Произвольная группировка
источник
Android Broadcast
#Coroutines #RxJava

The Real Kotlin Flow benefits over RxJava

«Я использую RxJava. Зачем мне Coroutines Flow?» - такой вопрос я зачастую слышал, когда делал доклады по Flow или топил за этот подход в офисе на кухне.

В статье автор сравнивает эти 2 подхода и показывает, как Flow хорошо себя зарекомендовали и позволяют делать, а где пока есть проблемы
источник
Android Broadcast
#Tooling #Library

Android Ecosystem Cheat Sheet 2020

Визуализация наиболее популярных частей Android экосистемы в виде схемы. С какими-то вы знакомы и регулярно пользуетесь, какие-то будут в новинку
источник
Android Broadcast
#Kotlin #Coroutines

Вышла kotlinx.coroutines 1.3.7

В новой версии библиотеке нас ждёт:
👉 Новый оператор Flow.cancellable() (#2026)
👉 При эмите из flow теперь проверяет статус cancellation и подлежит отмене  (#2026)
👉 Возможность получения текущего CoroutineContext с помощью функции currentCoroutineContext  (#2026)
👉 Поддержка Kotlin Contract EXACTLY_ONCE  в coroutine builder-ах
👉 Проблемы в работе Android Lint (#2004)
👉 Улучшение документации
источник
2020 May 20
Android Broadcast
#Service

Android Foreground Service Restrictions

Разбор особенностей работы Foreground Service (которые с Android 8 являются единственным способом работы приложения в фоне). Вендоры нас все также "радуют" и блокируют service, даже если он foreground.

В статье рассказывает про проблемы и как ее решали (нужно запрашивать добавлять приложение в исключение для работы в фоне)
источник
Android Broadcast
#Coroutines

Understanding Kotlin Coroutines with this mental model

Самое сложное, чтобы было для меня при погружении в Kotlin Coroutine - это отвыкнуть от подходов Java Multithreading и начать мыслить в стиле Coroutine и использовать их подходы для решения операций.

В статье автор раскрывает разницу и в чем отличие Coroutine от Java Multithreading
источник
2020 May 21
Android Broadcast
#Network #REST #Retrofit #RxJava

Вышел Retrofit 2.9.0

Новая версии популярной библиотеки сможет порадовать поклонников RxJava - добавлена поддержка RxJava3. Подключайте com.squareup.retrofit2:rxjava3-adapter
источник
Android Broadcast
#Jetpack

Обновление Android Jetpack 20.05.2020
👉 Приведения в порядок Acitivty Result API
👉 Получение ViewModel для View
👉 Новая версия WorkManager
👉 Новая версия Navigation
источник
Android Broadcast
#ArchitectureComponents #ViewModel

Should I use Jetpack ViewModel?

Архитектура MVVM на основе Jetpack на сегодня довольно популярна в Android разработке. Вы задумывались так ли много проблем решает ViewModel из Jetpack?

Автор в своей статье приводит доводы, которые заставят вас задуматься так ли все просто и помогут найти проблемы
источник
2020 May 22
Android Broadcast
#Codelab #Camera #CameraX

Getting Started with CameraX
Продолжительность - 17 минут

Интро в новую библиотеку из Jetpack - CameraX, которая решим проблему с работой с камерой на разных устройствах и упростит наиболее популярные операции, выполняемые в приложениях.
источник
Android Broadcast
#Codelab #Android10 #GestureNavigation

Gesture Navigation and the edge-to-edge experience
Продолжительность - 18 минут

В Android 10 была представлена навигация жестами и началась пропаганда концепции «Edge-to-Edge» для дизайна приложений, тем самым используя все возможности современных безрамочных устройств.

Чему вы научитесь из codelab:
👉 Работа с Windows Insets
👉 Разрешение конфликтов между системными жестами и жестами в вашем приложении
👉 Immersive mode и навигация жестами
источник
Android Broadcast
#Architecture

The S.O.L.I.D Principles in Pictures

Рассказ о принципах S.O.L.I.D. не только словами, но и визуализацией, которая позволит понять правила, скрывающиеся за аббревиатурой
источник
Android Broadcast
#Firebase

Say hello to the helpful Firebase Emulator - a local first UI to boost your productivity

Разработка с Firebase в качестве бэкенда без реального проекта не так просто. Еще вчера управлять локальной сервером было непросто, а вот уже сегодня можно использовать Firebase Emulator UI - локальное web приложение, которое позволяет управлять Firebase Local Emulator Suite.
источник
2020 May 25
Android Broadcast
#Kotlin

Reification of the Erased

В Kotlin есть возможность использовать generic в функциях помимо type safety и приведения типов, например можно получить класс generic-а. Для этого надо использовать ключевое слово reified и сделать функцию inline.

В статье раскрываются особенности работы generic в Java, почему понадобилось reified и как оно работает в Kotlin
источник