Android Broadcast
14.2K subscribers
3.51K photos
338 videos
11 files
5.88K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
Заботитесь ли вы у себя в выполнении принципов доступности приложения для различных групп людей?
Anonymous Poll
15%
Да, все должны иметь полноценный доступ
59%
Нет, нет времени на заботы обо всём и всех
26%
Не участвую в опросе
#Networking #OkHttp

Вышел OkHttp 4.7.0

👉 Более простой способ отключить проверку безопасности во время разработки с помощью HandshakeCertificates.Builder.addInsecureHost()
👉 Добавлены события cacheHitcacheMiss и cacheConditionalHit() в EventListener
👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
#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 лет: Кирилл Розов, Александр Блинов, Михаил Емельянов, Сергей Боиштян, Вадим Котов, Антон Дудаков
#UI #Testing

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

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

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

Accelerate your Android Espresso testing by grouping relevant tests

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

The Real Kotlin Flow benefits over RxJava

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

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

Android Ecosystem Cheat Sheet 2020

Визуализация наиболее популярных частей Android экосистемы в виде схемы. С какими-то вы знакомы и регулярно пользуетесь, какие-то будут в новинку
#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)
👉 Улучшение документации
#Service

Android Foreground Service Restrictions

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

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

Understanding Kotlin Coroutines with this mental model

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

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

Вышел Retrofit 2.9.0

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

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

Should I use Jetpack ViewModel?

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

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

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

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

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

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

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

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

Рассказ о принципах S.O.L.I.D. не только словами, но и визуализацией, которая позволит понять правила, скрывающиеся за аббревиатурой
#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.
#Kotlin

Reification of the Erased

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

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

Building apps for everyone: discover why inclusivity and accessibility truly matter

Разработчики из ВВС делятся опытом адаптации своих приложений для людей с ограниченными возможностями.

Советы по адаптации:
👉 Сделайте accessibility одним из приоритетов вашего приложения
👉Отслеживайте "accessibility долг"
👉Следуйте рекомендациям из Material Design
👉 Привлекайте специалистов по accessibility для работы в командах
👉 Слушайте отзывы пользователей
👉 Воспользуйтесь преимуществами инструментов Google
👉 Интегрируйте AccessibilityChecks API для автоматизации проверок
👉 Используйте приложение Accessibility Scanner для ручной проверки
👉 Изучайте pre-launch report в Google Play
👉 Развивайте практически навыки для разработки приложений с высоким уровнем доступности

Руководство "Build more accessible apps"
User Feedback Handbook.pdf
1.2 MB
User Feedback Handbook for Mobile Apps

Руководство по работе с обратной связью от Instabug