Android Broadcast
14.1K subscribers
3.4K photos
294 videos
11 files
5.7K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#UserSession

Managing User Sessions In Android

Большинство приложений сталкиваются с авторизацией пользователя, следовательно, есть и управление сессией пользователя: хранение данных, токенов для работы с сервером и прочее.

Автор статьи рассказывает, что ему надоело реализовывать управление сессий в каждом приложении и он написал небольшую библиотеку для этого про которую он и рассказывает.
#Coroutines #Networking

Do I need to call suspend functions of Retrofit and Room on a background thread?

Библиотека Retrofit поддерживает объявление suspend функций, но многие совершают ошибку и при вызове таких функций вызывают их на фоновом потоке. Этого не нужно делать! Хотите узнать почему? Читайте статью.
Forwarded from Mobile People Talks (Mybot_vasya)
Jetpack Compose. Взгляд изнутри.

Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose. Пришло время вернуться к ней, так как гостем этого эпизода стал Матвей Мальков из имеющего самое непосредственное к этой теме места - компании Google. И мы точно можем сказать, что он каждый день видит этот тулкит изнутри, так как вместе с командой его и разрабатывает.

Выпуск начинается под вой сирен лондонской полиции, ведущие даже в какой то момент начинают волноваться, что происходит что-то серьезное и в дверь к Матвею скоро начнут врываться суровые полисмены, а выпуск останется незаписанным.

(СПОЙЛЕР) Все обходится благополучно, и ничто не прерывает запись этого эпизода.

Что произошло с Compose за последний год? Насколько он готов к использованию в продакшене? Зачем нужен плагин к Kotlin компилятору? Использует ли Compose нативные компоненты Android SDK или рисует их на канвасе, как Flutter? И наконец, какие вообще есть отличия в подходах к декларативному UI у Jetpack Compose, SwiftUI, ReactNative и Flutter?

Ответы на все эти, и многие другие ХОРОШИЕ вопросы, из первых рук, не пропустите)

🎧 SoundCloud
🎧 Apple Podcasts
#Gradle

Вышел Gradle 6.5

Новая версия системы сборки добавляет новую возможность - "File-system watching". Фактически теперь Gradle подписывается на изменения файлов с помощью API в ОС и получает уведомлением о таких событиях. Это позволят увеличить скорость инкрементальной сборки до 20%!

Помимо этого также появилось:
👉 Улучшенное управление приоритетами версий зависимостей
👉 Улучшение документации и новые примеры
👉 IDE теперь смогут убивать демонов при закрытии
#Automation #Espresso #UIAutomator

"Лаборатория Касперского" и "Авито" представляют Avokado Project

Компании анонсируют старт сотрудничества в формате open-source между «Авито» и «Лабораторией Касперского» — Avokado. Главная цель этого проекта — разработать инструменты, которые упростят жизнь мобильных разработчиков.

Что есть уже сейчас:
👉 Kaspresso framework — фреймворк для написания UI-тестов, использующий Espresso и UI Automator.
👉 Avito Android Infrastructure — инфраструктура Android-приложений «Авито».
👉 Автотесты — процесс создания и запуска UI-тестов под Android.

Главная задача Avokado (на текущий момент) — создать продукт, который позволит развернуть автотесты в проекте за условные 15 минут

Узнать о проекте и помочь можно разными способами:
👉 Следить за обновлениями на сайте и в официальном чате.
👉 Проголосовать за темы, о которых хотелось бы почитать и послушать.
👉 Написать любому из участников команды, предложить помощь и свои идеи. Мы будем этому рады.
#CodeQuality

Вышел KtLint 0.37.0

В новой версии статического анализатора кода нас ждет:
👉 Валидация Gradle Wrapper
👉 Поддержка Kotlin 1.3.70
👉 Исправление багов, улучшения существующих правил
Выбираю какой доклад сделать для GDG Dev Fest. Что вы хотите услышать (подробности о докладах bit.ly/2MFfk3G )
Final Results
14%
Новинки Android 11
34%
Секреты AndroidX
32%
Koin 2 - Лучший DI для Android
12%
Бороздим просторы Android KTX
0%
Другая тема (пишите @krlrozov)
7%
Не участвую в опросе
#Розыгрыш

По итогам опроса от Android Broadcast разыграл билеты на конференции. Правила розыгрыша: генерировал 4 случайных числа. Последний - победитель.

👉 Билет на TechLead Conf 2020 Online (8-10 июня) выиграл(а) phoeniks346@gmail.com (видео с розыгрышем)

👉 Билет на Mobius Online (22-25 июня) выиграл(а) @tegorov (видео с розыгрышем)
#Storage

Android storage use cases and best practices

В Android документации появился новый раздел, который описывает лучшие практики по работе файлами на Android такие, как:
👉 Отображение всех фото/видео с устройства или из определенной папки
👉 Модификация медиа файлов
👉 Работа с фотографиями
👉 Работа с прочими типами файлов (не медиа)

Все это важно, так как уже совсем скоро в игру вступит Android 11 и Scoped Storage
#AndroidStudio

Explore the New Layout Inspector in Android Studio 4.0

Обновленный Layout Inspector из Android Studio 4.0 добавил множество новых возможностей:
👉 Просмотр изменения в реальном времени
👉 3D вид
👉 Возможность скрыть часть иерархии View
👉 Навигация по аттрибутам и ресурсам
👉 Поиск по свойствам view

Подробнее обо всем этом в статье
#Kotlin

The hidden Kotlin gem you didn't think you'll love: Deprecations with ReplaceWith

Аннотация Deprecated в Kotlin позволяет не только пометить код, но и так же сразу добавить информацию на что его заменить (ReplaceWith), а также указать насколько важно заменить это deprecated API (DeprecationLevel).

Это эффективно работает в связке с IDEA и улучшается жизнь пользователей вашего API и коллег
#GraphQL

Introducing GraphQL Kotlin Client

GraphQL - технология, активно набирающая обороты в последнее время для коммуникации с сервером. Почему не REST? Потому что GraphQL позволяет клиентам самим указывать что им нужно получить

Недавно я имел удовольствие поработать с это технологией, но одновременно и разочароваться - хорошего решения с поддержкой Kotlin не было. Точнее оно только одно - Apollo GraphQL.

На арены вышел новый игрок - библиотека Kotlin GraphQL от Expedia. Больше подробностей в статье
#Architecture

Scalable Architecture For Big Mobile Projects

Важность архитектуры - позволять приложению развиваться и масштабироваться легко. В статье разбираются принципы и на примере экрана профиля разбирается как правильно подойти к масштабированию с помощью декомпозиции его на более мелкие компоненты
​​#Animation

AnimatedIcon: Infinity

Анимированные иконки положительно влияют на UX вашего приложения. В статье описано как самому создать векторную анимированную иконку с помощью AnimatedVectorDrawable на примере значка бесконечности взамен стандартной круглой иконки загрузки.

Так же в статье вы найдёте ссылки на библиотеки с готовыми наборами иконок, которые можно бесплатно использовать в своих приложениях, а у автора в блоге можно найти ещё несколько примеров использования AnimatedVectorDrawable.
#GooglePlay #DynamicDelivery

Introducing Google Play Asset Delivery

Google Play расширяет возможности DynamicDelivery и теперь добавляет поддержка asset-ов, которое может содержать любые файлы, несвязанные с кодом: текстуры, шейдеры, звуки и др. Возможность будет полезна в первую очередь игроделам

Asset-ы могут быть загружены во время установки, в фоне после установки APK и по запросу. Новая функция уже поддерживается в Android Studio 4.0, Unreal engine и есть плагин для Unity.
Start в Android
Когда: Четверг, 11 июня, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast

Уже завтра возьмем интервью у автора проекта StartAndroid.ru Дмитрия Виноградова и обсудим онлайн образование:
👉 Можно ли выучить Android по видео
👉 Роль сообщества в образовании
👉 Нужен ли ментор?
👉 На какой стадии можно начать учить других
👉 Платные vs free курсы
#Kotlin

Kotlin and Exceptions
Автор: Роман Елизаров

В статье разбирается отличия механизма exception в Java и Kotlin:
👉 как правильно работать с исключениями в Kotlin
👉 в каких случаях можно избежать
👉 как проектировать свое API аналогично подходу Kotlin
👉 роль sealed классов в обработке ошибок
👉 Kotlin Coroutine и exception