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

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

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

Cancellation and Exceptions in Coroutines: "Cancellation in coroutines" (Часть 2/3)
⏱️8 минут

Во второй части серии статей рассматриваются особенности работы отмены выполнения Coroutine и как сделать это правильно
#Coroutines

Cancellation and Exceptions in Coroutines: "Exceptions in Coroutines" (Часть 3/3)
⏱️7 минут

В заключительной части серии статей рассматривается как Coroutine реагируют на Exception, произошедшие во время их выполнения, и как правильно обрабатывать их.

В статье вы найдете:
👉 Job или SupervisorJob
👉 Обработка исключений
👉 CoroutineExceptionHandler
#Conference #Flutter #Minsk

Состоялся розыгрыш билетов на FlutterConf.by. Поздравляю Павел З. и Виталий Я. с победой.

Одновременно с этой радостной новостью я вынужден сказать, что конференция перенесена. Мы заботимся о здоровье всех участников и не хотим подвергать никого риску. Мы держим руку на пульсе всех событий и если ситуация улучшится, то мы оповестим вас о новостях.
Android Broadcast
В какие магазины приложений выкладываете вы свои приложения?
(можно выбрать несколько вариантов)
Ожидаемо победил Google Play. Huawei смогла пробиться на второое место из магазинов, но не смогла победить способ распространения вне магазинов. Присоединяйтесь чтобы поделиться своим опытом к @android_broadcast_talks
#oEmbed

Open video links like Telegram do with oEmbed and Kotlin

Хотите чтобы в вашем приложение был полноценный предпросмотр видео по ссылке? Это легко можно сделать с помощью oEmbed.

В статье автор показывает как это сделать для YouTube, а также библиотека, которая сможет сделать все это сразу для вас для самых популярных видео сервисов.
#Kotlin #Android11

Handling Nullability in Android 11 and Beyond

Google улучшает Android SDK для поддержки nullability в Kotlin, добавляя аннотации @Nullable/@NonNull и @RecentlyNullable/@RecentlyNonNull.

Также часть методов, аннотированных @RecentlyXXX, перестали быть Recenlty. Это значит, что теперь вместо предупреждения, будет происходить ошибка.
#Firebase #Benchmark

Jetpack Benchmark on Firebase Test Lab

Библиотека Jetpack Benchmark позволяет вам сделать тест производительности UI вашего приложения. Эффективно интегрировать эту библиотеку на CI, чтобы определять регрессии в скорости работы приложения до мержа в основную ветку.

В статье разбирается как запускать тесты производительности на Jenkins, используя Firebase Test Lab.
#Dagger #DependencyInjection

Вышел Dagger 2.27

Новая версия популярного DI фреймворка привнесла следующий улучшения:
👉 Экспериментальный формат сообщений об ошибках (подробнее ниже)
👉 Более оптимальная генерация кода в зависимости от того как в класс происходит inject зависимостей
👉 Поддержка конструкторов с layout id из AndroidX
👉 Убрали использование Guava API, которое недоступно для использования в Android
👉 Улучшена работа с Kotlin
👉 Исправление багов

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

Для включения надо использовать -Adagger.experimentalDaggerErrorMessages=enabled
#Podcast #Mobius

Android Broadcast Podcast #9 - "Как сделать крутую конференцию"

Получить новые знания, послушать доклады от крутых специалистов, пообщаться с коллегами по цеху и провести классно время - это основные причины по которым мы посещаем конференции. Но что стоит за тем чтобы сделать крупнейшую конференцию по мобильным технологиях в России? 

Позвал команду Mobius, которая поделилась как происходит организация конференции. Зачем члены программного комитета тратят много времени вне работы на это и как это помогает им в их профессиональной работе, а главное как вступить в ПК и помочь сделать Mobius.

Гости:
Оксана Мирошниченко - Программный координатор Mobius
Евгений Кателла - Член ПК Mobius, Android
Алексей Кудрявцев - Член ПК Mobius, iOS

Купить билет со скидкой по промокоду "AndroidBC2020pc"

Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
#Google #Maps

Announcing Google Maps Android Utility Library v1.0

Вышла первая стабильная версия утилит для Google Maps на Android. Библиотека добавляет множество новых возможностей:
👉 Marker clustering - отображения множество pin-ов
👉 Heat maps
👉 Icon Generator - отображение текста на картах
👉 Poly decoding and encoding
👉 Spherical geometry
👉 Поддержка отображения KML
👉 Отображение и стилизация GeoJSON
Исследование российских команд мобильной разработки, 2020

Егор Толстой проводит ежегодное исследование о состоянии мобильной разработки. Хоть в названии и 2020, но ответы надо дать за прошедший 2019 год. Прохождение опроса не займёт больше 10 минут. Результаты будут через месяц и я обязательно скину их в канале.

В этом году в вариантах ответов уже появился Android Broadcast!
#Android11 #Storage

Modern User Storage on Android

Google уже четко поняла, что давать свободу разработчикам - это плохо и эти люди будут делать все что угодно без контроля. Одним из инструментов закручиванием болтов становится ограничения доступа приложений на файловой системе на External Storage.

Изменения не были введены в боевой режим в Android 10, но в Android 11 нам не открутится, хоть и ограничения будут применяться к приложения с targetSdk R+.

В статье рассказывается про:
👉 В чем необходимость ввода изменений
👉 Почему стоит использовать MediaStore API
👉 Возможность редактирования множества файлов в Android 11
👉 Изменения в Storage Access Framework (SAF)
👉 Новый permission MANAGE_EXTERNAL_STORAGE - предоставляет доступ на чтение и запись ко всем файлам на External Storage. Новый permission предзназначен для файловых менеджеров и приложений для резервных копий.
Есть ли в вашем приложение App Widget (размещаются на главном экране вашего устройства)?
Final Results
18%
Да
61%
Нет
5%
Планирую добавить
7%
Что это?
9%
Смотрю результаты
This media is not supported in your browser
VIEW IN TELEGRAM
#JetpackCompose #DeclarativeUI

ComposeClock

Jetpack Compose еще далек от релиза, но сообщество активно экспериментирует на dev версиях. Вставляют ли они его в production?
#GooglePlay

Developer Tools on Play Store

Google делиться тем, как можно тестировать приложения через Google Play до публичного релиза:
👉 Различные тестовые треки
👉 Возможности Internal Test Track: debug APK, один и тот же version code для всех APK, тестирование Dynamic Delivery
👉 История релизов (Internal Test Track): возможность скачать предыдущие сборки

Для того чтобы скачать старую сборку перейдите по ссылке https://play.google.com/apps/test/<package name>/<version code>
#AppWidget

Виджеты на Android. Редкая фича, в которой придется разобраться

Возможно забытый, но еще неутраченный функционал Android - виджеты на главном экране (ныне App Widget), которые позволяют вам отображать информацию или управлять вашим приложением без его открытия.

В статье автор рассматривает свой опыт разработки App Widget. Возможно и в вашем приложении этот функционал может пригодится.
#Kotlin #Coroutines #UnderTheHood

Kotlin Vocabulary - Suspend functions

Kotlin Coroutines - то что делает громкий заявления об упрощение работы с асинхронными операциями и выдерживает множество запущенных операций.

На основе чего работает вся эта магия? Что происходит под капотом? Во что превращается функция с модификатором suspend, если в JVM нет такого понятия. Обо всем этом можно найти ответы в видео
Вышло официально приложение для GitHub

Официальный клиент на текущий момент обладает базовыми возможностями:
👉 Просмотр списка своих репозиториев
👉 Просмотр issues
👉 Просмотр файлов с подсветкой
👉 Поддерживается темная тема
👉 Работа с уведомлениями
👉 Поиск по GitHub