Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#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
#Livestream #Swift #Multiplatform

Swift на Android. Как Spark код между iOS и Android шарили

Когда: Сегодня, 26 мая, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast

Team Lead Android команды разработки Spark Mail расскажет о том, как они шарят код между iOS и Android, используя при этом Swift. Посмотрим появится ли конкурент у Kotlin Multiplatform.

Мы будем вести прямую трансляцию и вы сможете задать свои вопросы

Ведущий Кирилл Розов. Android и Kotlin fan. Mobile Lead в Replika.ai
Гости:
- Андрей Друк. Team Lead Android команды Spark Mail в Readdle
- Данис Тазетдинов. Евангелист платформ Apple. Chief Software Engineer в EPAM. Ведущий подкаста Mobile People Talks
#UX

UX для недизайнеров, или что должен учитывать разработчик мобильных приложений

UX - это забота не только дизайнеров, менеджера продукта и UX-эксперта, а также задача разработчика знать базовые вещи, которые он не должен допустить, а именно:
⚠️ Маленькая область нажатия - должна быть не меньше 48 dp по ширине и высоте для кликабильного элемента
⚠️ Отсутствие реакции на нажатие - view должен меняться при нажатии: смена фона, ripple эффект и другие
⚠️ Реакция когда не надо - например на элементах, клики на которых не приводят к каким либо действия
⚠️ Не учитывается что экраны могут быть маленькими
⚠️ Клавиатура не появляется/скрывается автоматически
⚠️ Отсутствие информация о выполнении операции (напр, показ прогресса)

В статье разбирается множество других проблем, которое разработчик должен не допускать при реализации дизайна

Нашли кейсы которых нет в статье или страдаете от них как пользователь - пишите в @android_broadcast_talks
#Tooling

The Sandbox Show: LeakCanary от Square

Доклад от Square о LeakCanary - библиотеки для поиска утечек памяти в Android приложениях. В рамках видео вы увидите как ищут утечки памяти в новом браузере от Firefox - Fenix и сможете познакомиться с тем как находить и анализировать утечки с LeakCanary.
#Meetup #Online

Tinkoff_IT_Weekly#8. Android

Когда: 27 мая 19.00 (GMT+3)
Где: Zoom

Митап от компании Тинькофф в котором вас ждут 2 доклада:
🤟 Мария Чернядиева из Тинькофф расскажет, чем отличается библиотека и sdk и в чем особенности ее разработки.
🤙 Сергей Боиштян из Avito поделится опытом управления, тестирования и подключения зависимостей к приложению в ci/cd команде
#Kotlin #Delegation

Delegation Pattern in Kotlin

Kotlin поддерживает шаблон Delegation и это позволяет вам не создавать сложных иерархий и упрощать переиспользование логики.

В статье разбирается как это сделать, а также пример как подход можно применить для упрощения работы с ViewBinding в Android
#AndroidAcademy #Minsk #Online

Android Academy Advanced. Optimization. Part 3
Когда: 19.00 28 мая (GMT+3)
Где: YouTube канал Andoid Academy Minsk

В Android имеется встроенная поддержка одной из распространенных систем управления базами данных - SQLite. Для этого в пакете android.database.sqlite определен набор классов, которые позволяют работать с базами данных SQLite.

Как правильно работать с SQLite и что нужно знать, чтобы получить максимальную производительность, все это расскажут на лекции.