Size: a a a

Android Broadcast

2019 July 31
Android Broadcast
#AppBundle #ManifestMerger

Hunting a bug — A True App Bundle Debugging Story

При сборке вашего приложения одним из шагов является запуск Manifest Merger - утилиту, отвечающую за сбор манифестов из всех aar зависимостей, модулей и основного приложения, и получения финального AndroidManifest, который добавляется в APK.

В статье рассказывается как при использование App Bundle разработчик столкнулся с непонятным багом и каким путем прошел, чтобы найти проблему с объединением AndroidManifest. Я сам сталкивался с такими же проблемами, так как не всегда ошибки, не позволяющие вашему приложению нормально работать, приводят к ошибки во время сборки.
источник
2019 August 01
Android Broadcast
#GooglePlay

Make stronger decisions with new Google Play Console data

Google Play представило обновление, которое позволяет вам эффективнее измерять и анализировать статистику вашего приложения!
источник
2019 August 02
Android Broadcast
#GestureNavigation #AndroidQ

Gesture Navigation: Going edge-to-edge

В Android Q была добавлена новая система навигация жестами. Это новинка позволяет приложениям отображаться от края до края вашего экрана! В статье разбирается все особенности новой фичи и адаптации вашего приложения к ней.
источник
Android Broadcast
#UnderTheHood #Text #Performance

Отображение текста в Android

Отображение текста одна из самых тяжелых графических операций в UI, так как для того чтобы нарисовать текст нужно сделать множество просчетов. Отключение переноса слов и перенос measuring текста в фоновый поток значительно разгружают ваш UI. Что же такого происходит под капотом в TextView?

В статье вы найдете подробный разбор как объекта строки превращается в картинку на экране:
👉 Нативные библиотеки под капотом
👉 Как происходит перенос текста на новую строку
👉 Использование различных стилей в TextView
👉 Spanы
👉 Как текст располагается в TextView
👉 Оптимизация производительность TextView
источник
Android Broadcast
#Retrofit #Coroutines #UnderTheHood #JakeWharton

Exceptions and proxies and coroutines, oh my!

В Retrofit 2.6.0 была добавлена поддержка Kotlin Coroutine - функции в интерфейсе Retrofit можно помечать ключевым словом
suspend
. Что стоит за этой реализацией? Какие образом Java Dynamic Proxy может работать с Coroutine? В своей статье Jake делает разбор
источник
2019 August 03
Android Broadcast
#Gradle #Performance

Incremental testing for Gradle multi-projects

Когда ваш проект имеет множество модулей, это позволяет ускорить сборку. А как насчет того чтобы выполнять задачи только на модулях, в которых произошли изменения и зависимых от них? Например тесты и проверку стиля кода

В статье рассматривается как из Gradle найти изменения в Git и запустить тесты только для измененных модулей.
источник
Android Broadcast
#AndroidX #AndroidXWeekly

AndrodX Weekly Update #2

Последняя неделя подарила нам только один апдейт - WorkManager 2.2.0-rc01, который содержит багфиксы по сравнению с последней beta версией.
источник
Android Broadcast
#AndroidLint #DarkTheme

Making Android Lint Theme Aware

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

В статье рассматривает как написать такую проверку самостоятельно. Исходный код примера можно найти здесь.
источник
Android Broadcast
#Kotlin #KotlinAndroidExtensions

Kotlin Android Extensions: Using View Binding the right way

Для всех тех кто использует Kotlin Android Extensions для View Binding важно знать как правильно реализовывать его эффективно. LayoutContainer позволяет использовать кэширование View для кастомных контейнеров, например ViewHolder в RecyclerView.
источник
Android Broadcast
Пример использования Layout Container
источник
2019 August 05
Android Broadcast
#GooglePlay

Как я разочаровался в Google Play

История того как большая корпорация в лице Google Play боролась с разработчиком одиночкой, а он пытался сопротивляться.
источник
Android Broadcast
#Architecture #ArchitectureComponents #AndroidX #MVVM

С появлением Architecture Components в Android реализация MVVM на основе этих компонентов стала очень популярна. Я и сам выбираю такое решение в связи с тем, что она имеет множество позитивных моментов:
👉 Решение популярных задач в архитектуре Android приложений
👉 Хорошая документация: статьи, видео, примеры и Codelab
👉 Интеграция с инструментарием для разработки
👉 Поддержка от Google
👉 Большинство разработчиков знают как ее реализовывать и это способ единообразен из-за одного источника правды (Google). Это уменьшает время на обучение стажеров и интеграцию новых людей + между проектами становится общий стандарт
👉 Интеграция между различными библиотеками из Architecture Component так и сторонними (RxJava, Kotlin Coroutines)

Я не считаю ее идеалом, но Arch Components значительно упрощают создание приложений на Android и дает взгляд на архитектуру приложений от создателя Android SDK.
источник
Android Broadcast
#Conference #Minsk

Йонатан Левин приедет 9 августа на Mobile People Day и расскажет как строить архитектуру на современном стеке, который предлагает Google, эффективно и правильно.
источник
Android Broadcast
#Style #DarkTheme #Material #BestPractices

Темы и стили в Android-приложениях

Возможности кастомизации View на основе ресурсов style и атрибутов довольно обширны. В статье вы найдете подробный разбор:
👉 Отличия между темой, стилей, ThemeOverlay
👉 Что такое атрибут
👉 Как работает механизм кастомизации View на основе стилей
👉 Реализация Material Design 2.0 (Material Components)
👉 Как правильно работать со стилями, чтобы поддержать темную тему
👉 Советы по работе со стилями
источник
Android Broadcast
#Firebase #RoboTest #Testing

Firebase Robo Test - это инструмент, которые умеет анализировать структуру UI вашего приложения и затем осуществлять клики по элементам, осуществляю навигацию, так же как это делают пользователи. Robo Test также используются для Google Play Pre-launch отчетов.
источник
Android Broadcast
#Kotlin #Coroutines #StructuredConcurrency

Roman Elizarov — Structured concurrency
Продолжительность: 1 час

Запись доклада о Structured Concurrency от Романа Елизарова с конференции Hydra. В докладе освещается какие задачи решались в Kotlin при проектировании библиотеки concurrency. Как пришли и реализовывали концепцию Structured Concurrency в Coroutine.
источник
2019 August 06
Android Broadcast
#Retrofit

Building your own Retrofit Call Adapter

Всем мы любим Retrofit за то, как он упрощает работу с описанием REST сервисов. Также его легко интегрировать с Rx, Coroutine и пр. библиотеками. Хотите интегрировать его с собственными типами или понять как это работает впринципе? Узнать об этом сможете из статьи
источник
Android Broadcast
#Firebase #Analytics

Upgrade your Firebase project to our next generation of app analytics capabilities!

Обновилась Firebase Analytics:
👉 Возможность трекинга события одного пользователя на различных устройствах. Необходимо реализовать User-ID функцию аналитики
👉Создание специальных воронок для лучшего понимания пути к конверсии.Например, теперь можно ответить на вопрос: "На каком шаге выходит из приложения, не осуществляя покупки" Больше подробностей здесь
👉Улучшенный анализ и визуализация данных для сравнения поведения пользователей их различных сегментов

Чтобы активировать новую функциональность вам необходимо upgrade вашей аналитики в Firebase консоли
источник
2019 August 07
Android Broadcast
#SMS #Verification #GooglePlayServices

Automatic SMS Verification with SMS User Consent

Не так давно Google Play прошелся жестко по всем приложениям, которые необосновано запрашивали доступ к SMS. В такую категорию попали все приложения, которые осуществляют верификацию через SMS. Для всех тех, кто реализует этот функционал, стоит обратить внимание на SMS User Consent API.

Не стоит путать это SMS User Consent API с SMS Retriever API. Отличие заключается в том что вы можете получить доступ к содержимому одной SMS в SMS User Consent API, а SMS Retriever API предназначено для автоматической проверки и требует особый формат содержимого в SMS.
источник
Android Broadcast
Пример работы SMS User Consent API для верификации
источник