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

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

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

Погружение в Charles Proxy

Рассказ о тестирование сетевого взаимодействия в мобильных приложениях с помощью утилиты Charles

В статье вы найдете инструкции по настройке, описание возможностей программы, как анализировать результаты, как подменять результаты и с какими стоит это делать
#Android11

Exploring WindowInsets on Android 11

В Android 11 DP 2 появилась долгожданная функция - возможность синхронизации контента вашего приложения с виртуальной клавиатурой через WindowInsets

В статье рассматриваются изменения в WindowInsets в Android 11, WindowInsetsController и пример синхронизации контента приложения с клавиатурой
#Gradle

Вышел Gradle 6.3
👉 Поддержка Java 14
👉 Улучшены сообщения об ошибках
👉 Небольшие улучшения для авторов плагинов
👉 Исправления багов
#Permissions #Location

Evolution of location access on Android

Последние пару лет изменения в получении доступа к местоположению разработчикам приложения значительно усложняется. Android 11 также продолжает эту тенденцию.

Автор статьи решил сделать обзор изменений:
👉 Android 8 и разграничения доступа к местоположению между активными (foreground) и фоновыми (background) приложениями
👉 Android 9 и ужесточение практик
👉 Android 10 и отдельно разрешения для получения местоположения в фоне
👉 Android 11 и одноразовое получение доступа к местоположению, а также изменение предоставления разрешения доступа к местоположению при работе приложений в фоне

Помимо всего этого в Google Play ввели ревью приложений на то, чтобы разрешение для доступа к местоположению не использовалось если вы не сможете убедить ревьюверов то, что оно нужно вам. Подробнее читайте здесь
​​#Gradle

Module Graph Assert - Gradle plugin to keep your modules graph healthy and lean

Gradle плагин, который поможет вам визуализировать граф зависимостей модулей в вашем проекте и позволит проанализировать его визуально.
#DependencyInjection

Unboxing Koin 2.1

Не так давно вышла следующая версия популярного DI фреймворка на чистом Kotlin - Koin 2.1.

Улучшения в новой версии:
🚀 Изменения во внутренней архитектуре и лучшая производительность
👉 Изменения в работе со Scope
👉 Koin Gradle plugin — проверка графа во время компиляции
👉 Inject зависимостей через setter (experimental)
👉 Новые JUnit правила, которые избавляют от зависимости на какую либо mock библиотеку
👉 Лучшая совместимость с Ktor

Обновления для Android:
👉 Android Lifecycle Scopes
👉 Поддержка SavedState для ViewModel
👉 Поддержка inject в конструкторы Fragment

Следующая версия будет 3.0, которая принесет поддержку Kotlin MPP 🔥🔥🔥
#Podcast #Automation

Android Broadcast #10: "Kaspresso" с Евгением Мацюком и Егором Курниковым

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

Гости:
👨‍✈️Евгений Мацюк, Software Expert в Kaspersky Lab
👨‍🔧Егор Курников, Android разработчик в Яндекс

Полезные ссылки
💬Telegram группа обсуждения Kaspresso и Adb Server (RU)
🧰Kaspresso Github
📚Kaspresso Wiki
🔨Kakao
⚒️Espresso

Записи докладов по Kaspresso:
📺Воркшоп по автотестам от Kaspersky
📺Единственное, что вам нужно для UI-тестирования

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

Run ARM apps on the Android Emulator

В современном мире, чтобы нормально работать с приложением на эмуляторе, то необходимо собирать сборку под x86 и использовать Intel based эмулятор.

Но что если вам нужно протестировать именно ARM сборку? ARM эмулятор - имеет очень низкую производительность на Android. Приходилось использовать реальные устройства.

x86 эмулятор в Android 11 стал поддерживать выполнение ARM инструкций, транслируя их в x86.
This media is not supported in your browser
VIEW IN TELEGRAM
Новый эмулятор Android 11 vs старый
Стрим "Как устроен Android Broadcast"

Больше года уже проекту "Android Broadcast" и он успел собрать несколько тысяч аудитории на разных платформах: Telegram канал, подкасты и YouTube канал.

Хочу рассказать о том как устроен проект, как отбирается контент, как выдерживается нагрузка и самое главное - ответить на ваши вопросы. Касательно всего что вам интересно: улучшения, планы, команды, донатов и прочего

1 апреля (и это не шутка), среда, 19.00 (время московское)
#Coroutines #Sample #AndroidAcademy

Приложение от Android Academy Израиль с примером использования новомодных технологий:
👉 Kotlin
👉 Coroutines & Flow
👉 Koin
👉 Arch Components
​​#Firebase #KTX

Firebase Kotlin Extensions are out of Beta!

KTX расширения для Firebase вышли из Beta и теперь строго рекомендуются для всех, кто использует Kotlin и Firebase в своих Android проектах

Документация по всем KTX расширениям

Доступные Firebase KTX библиотеки:
👉 firebase-common-ktx
👉 firebase-config-ktx
👉 firebase-database-ktx
👉 firebase-dynamic-links-ktx
👉 firebase-firestore-ktx
👉 firebase-functions-ktx
👉 firebase-inappmessaging-ktx
👉 firebase-inappmessaging-display-ktx
👉 firebase-storage-ktx
#Testing #Mock

Mocking is not practical — Use fakes

Чтобы подменить работу объектов в тестах разработчики зачастую прибегают к мокированию объектов. Альтернативой мокированию выступают stub и fake объекты.

Автор приводит свои доводы на счет замены моков и почему они лучше
#Accessibility #UI

Accessibility of text over random background colors

Рассказ о том как перекрашивать текст в зависимости от фонового изображения, чтобы пользователь всегда мог легко прочитать информацию.
​​#Android11 #WindowInstets

Android 11: WindowInsets

В Android 11 DP2 появилось новое более удобное API для работы с WindowInsets. Вместо int флагов теперь надо использовать различные типы WindowInsets.

Работа над переносом этого API в AndroidX ведутся, но точно не будет доступно до финального релиза Android 11.
Новый способ узнать показывается ли клавиатура на экране и реагировать на это