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
#GooglePlay

Google Play PolicyBytes - Spring 2020 Policy Updates

Google решила что видео формат нужно использовать по полной и рассказывать о изменениях в политики Google Play с помощью него.

В программе:
👉 Правила загрузки дополнительных ресурсов
👉 Malware - обновление политик по приложениям, которые пытаются использовать данные пользователя недобросовестно
👉 Запрет на приложения, призывающие или помогающие создавать ложную или вводящую в заблуждение информацию
👉 Отсутсвующая функциональность - запрет на приложения, которые вводят пользователей в заблуждение о функциональности или обещают функциональность, которйо нет
👉 Семья - новые требования для приложений, которые собирают важную информацию о детях: сбор данных, реклама и др.
👉 Доступ к местоположению в фоне - напоминание о введении процесса одобрения использования местоположения в фоне
👉 Подписки - уточнение требований по тому что пользователь должен понимать что включается подписка, условия пробного периода и управление подпиской

Большая часть требований вступит в силу уже через 30 дней, остальные - 60 дней
Библиотека Colonist: поиск классов во время компиляции Android-приложения

Сталкивались с ситуациями, когда нужно что-то сделать с набором классов, объединенных некоторым признаком? Например, зарегистрировать адаптеры типов для парсинга JSON.

Разработчики из Joom создали библиотеку Colonist, чтобы упростить задачу по поиску всех типов, удовлетворяющих некоторому условию, преобразовать их во что-то при необходимости и зарегистрировать результат в каком-нибудь контейнере.

В статье вы найдете как эта библиотека помогла авторам решить задачу экспериментов A/B тестов с параметрами
#WebView

Developer tools to debug WebView in Beta

Для лучшей отладки вашего контента в WebView, слежение за крешами встречайте новый инструмент - WebView DevTools.

WebView DevTools является часть WebView и вы можете попробовать его в последней Beta версии (M83). Запустить новый инструмент вы можете с помощью новой иконки в лаунчере
#AndroidStudio #SQLite #Room

Database Inspector - A live database tool we’ve been waiting for!

Android Studio 4.1 Canary 5 порадовала нас новым инструментом - Database Inspector.

В статье вы найдете разбор возможностей этого инструмента:
👉 Получение доступа к БД
👉 Модификация и отладка БД
#HuaweiMobileServices

Как в inDriver добавили поддержку Huawei Mobile Services

Последние устройства Huawei лишены возможности использовать Google сервисы и магазин Google Play. Huawei сделала ход конем и разработала свою альтернативу - Huawei Mobile Services.

В статье вы найдете как произошла адаптация Android приложения с заменой карт, пушей и провайдера местоположения.

Совсем скоро в гости в Android Broadcast Podcast придет Android разработчик из Huawei, который ответит на вопросы по Huawei Mobile Services.
#Podcast #Security

В гости в Android Broadcast Podcast пришел исследователь безопасности Android приложений - Андрей Манкевич, чтобы рассказать о Android SafetyNet. Помимо всего он смог взломать его и расскажет, что там внутри и насколько безопасно использовать. Спойлер - взлом действителен совсем недолго, порядка недели, потому что ....

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

Dagger dependencies beyond the basics

Dagger - очень популярное решения для организации DI в Android проектах. Одна печаль - инструмент мощный, но в нем легко запутаться, так как точных рекомендаций по использованию от авторов нет.

В статье разбирается как лучше доставлять зависимости с помощью Dagger в Android из всех возможных вариантов.
#Network

Connectivity State on Android 10 and Above

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

В статье разбирается решение на основе NetworkCallback и бекпорт его на API Level 23 и ниже
#Performance

Analyze and improve Android app performance with System Tracing

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

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

Detekt 1.8.0

Вышла новая версия утилиты, которая позволяет позволяет следить за качеством вашего Kotlin кода. Новая версия может похвастаться следующим:
👉 Новое правило UnnecessaryNotNullOperator
👉 Новое правило UnnecessarySafeCall
👉 Отдельный исполнительный файл detekt на странице релизов в Github
👉 Большинство правил поддерживает списки yaml вместе со списком, разделенными запятыми
👉 Багфикс

Некоторые фиксы багов потребуют от вас сгенерировать baseline файл снова
This media is not supported in your browser
VIEW IN TELEGRAM
#Auth

One Tap sign in for Android apps

One Tap sign-in и sign-up поможет вам упростить авторизацию пользователей в вашем приложении. Хотите узнать как - читайте статью
Android Broadcast
Вы мигрировали на AndroidX / Jetpack (это не про Jetpack Compose) с Android Support?
Как видно что еще часть разработчиков не ушил с Android Support Library на AndroidX. Интересно почему? Отзовитесь в @android_broadcast_talks и расскажите почему, а также что вам не позволяет отключить Jetifier
#AndroidAcademy #Minsk #Online

Android Academy Minsk Topic #6 - Оптимизация приложений

Мобильные устройства хоть и становятся сильнее каждый год, но за собой Android тянем множество старых и дает возможность пользователям покупать бюджетные устройства. Задача нас как разработчиков обеспечить должный уровень производительности и сделать приложение быстрым и не тормозить всю работу устройства.

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

Когда: 27 апреля 2020, понедельник, 19:00 (Москва)
Где: YouTube канал Android Academy
#ADVM #Online

Так же рекомендую вам подключиться на ближайший Android Dev Virtual Meetup, на котором Александра Боброва из Яндекс расскажет об измерении потребления батарейки приложением и его оптимизации.

Когда: 23 апреля 2020, четверг, 19.00 (Москва)
Где: YouTube канал ADVM

Организовано при поддержке Android Dev Podcast и Android Broadcast
#Coroutines #LiveData #Architecture

Flow and LiveData in MVVM architecture

Пример использования LiveData и Kotlin Flow в архитектуре Android приложений:
👉 Что выбрать в качестве источника данных Flow или LiveData?
👉 Flow в ViewModel
👉 Flow и Channel
#Avito

Avito Android 2020.4.4

Вышло обновление инфраструктуры Android от Avito:
👉 Test runner получил более гибкий и понятный DSL для фильтрации тестов
👉 Test runner научился запускать тесты из library модулей
👉 Тестовое приложение с Kaspresso. На нем будут проверять test runner
👉 Описали плагин для проверки типовых проблем со сборкой. В нем можно подсмотреть с чем сталкивались и как обходим проблемы.

Полный список изменений здесь
#JetpackCompose #KotlinMultiplatform

Jetpack Compose для UI на десктопе

Подоспел интересный коммит, где декларативный UI Jetpack Compose используется для UI на десктопе на основе Skia. Вот и подтвердились наши ожидания - Jetpack Compose будет Multiplatform!

Обратите внимание на класс Main
#UI

Android at Large: How to Bring Optimized Experiences to the Big Screen

Android - это не только телефоны, но и часы, планшеты, складные устройства, десктопы и телевизоры. Только жалко, что все кроме телефонов разработчиками поддерживает неактивно.

В чем причина такого? Для меня это замкнутый круг: разработчики не адаптируют UI на экраны отличные от смартфонов, потому что такие устройства непопулярны, а устройства непопулярны, потому что мало адаптированного софта.

Автор статьи делится тем как адаптировать приложение под большие экраны, а именно:
👉 Навигация
👉 UI
👉 Способы ввода информации: сенсорный экран, клавиатура + мышь, пульт
👉 Продолжить работу там же где и был пользователь после смены конфигурации устройства: поворот экрана, смена языка, раскрытие устройства и др.
👉 Поддержка множества окон
👉 Drag-&-Drop

Изучить больше о поддержке складных устройств и десктопов (Chrome OS)
Для каких устройств адаптируете Android приложения? Не просто даёте запускаться, а именно используете возможности

МОЖНО ВЫБРАТЬ НЕСКОЛЬКО ВАРИАНТОВ
Final Results
89%
Телефоны
28%
Планшеты
1%
Десктоп (ChromeOS)
5%
Телевизор (Android TV)
3%
Часы (Android Wear)
9%
Не участвую в опросе