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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#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.
Новый способ узнать показывается ли клавиатура на экране и реагировать на это
#Kotlin #NullSafety

No more NPE: Converting Java to Kotlin safely

Для тех кто не успел мигрировать код с Java на Kotlin или делает это постепенно, а может и вовсе имеет legacy код на Java, о которого не уйти, то рекомендую вам ознакомиться со статьей.

Автор рассказывает как правильно подготовить ваш код для совместимости с Kotlin, конвертации его и аннотирования полученного кода для максимальной совместимости на уровне байт-кода с исходной версией в Java.
#AndroidAcademy #UI

Android Academy Minsk Topic #6 - Themes & Styles

6 апреля в 19.00 пройдет вебинар о кастомизации UI через темы и стили в Android.

План:
- Theme attributes
- Styles
- Theme.Overlay
- TextAppearance
- Применение style
- Библиотека Material Components
- Custom views & styles
- Лучшие практики по работе со стилями и темами
#Jetpack

Обновление библиотек Jetpack 01.04.2020

Новинки:
👉 ExifInterface 1.2.0. Поддержка EXIF в PNG и WebP и возможность проверки поддержки заданного mime type
👉 AppCompat 1.2.0-beta01 с важными исправлениями в Window Insets и новыми проверками в Android Lint
👉 RecyclerView 1.2.0-alpha02. Новый MergeAdapter для объединения нескольких адаптеров
👉 Activity 1.2.0-alpha03 - улучшения в Activity Result API. Рекомендуется перечитать документацию "Getting a result from an activity"
👉 Вторая beta CameraX
👉 Fragment 1.2.4 - исправление работы ProGuard для Fragment
👉 Новые бета Core, CustomView, DrawerLayout, Emoji, SlidingPaneLayout
👉 Новые альфы WorkManager, ViewPager2, Fragment