Size: a a a

Android Broadcast

2020 March 24
Android Broadcast
#Testing #BestPractices

Unit Testing Best Practices

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

В статье рассматриваются чему способствует практика написания тестов, а также лучшие практики в Unit тестировании.
источник
Android Broadcast
#Testing

Stress-testing Android apps

При разработке приложений большинство разработчиков не уделяет внимание проверке приложений в стрессовых ситуациях:
👉  проблемы с сетью
👉  малое количество свободной памяти на диске
👉  проблемы с сервером
👉  убийство процесса приложения
и множество других ситуаций

В статье рассказывается про основные такие проблемы и как их можно протестировать в вашем приложении
источник
Android Broadcast
#Tooling

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

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

В статье вы найдете инструкции по настройке, описание возможностей программы, как анализировать результаты, как подменять результаты и с какими стоит это делать
источник
Android Broadcast
android_broadcast
#Conference #SaintPetersburg

Mobius 2020 Piter

23-24 июня пройдет крупнейшая конференция по мобильной разработке Mobius. В рамках неё вы сможете встретиться с ведущими специалистами в мобильной разработке и узнать какие тренды нас ждут.

Уже в программе:
🚀 Карьерный рокет-джамп от Дениса Неклюдова@Lyft
🔥 Матвей Мальков@Google расскажет как он делает Jetpack Compose
👉 Ася Свириденко@Yandex покажет лучшие практики адаптации работы приложений для медленной сети
👉 Степан Гончаров@Grab, Всея билд систем, оставит Gradle в покое и расскажет о Bazel на Android

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

До 1 марта действует сниженная цена, а по промокоду AndroidBC2020pc вы получите дополнительную скидку.
#Conference #SaintPetersburg #Mobius

Конференция Mobius переехала на 1 день раньше. Теперь она пройдет 22 - 23 июня.
источник
Android Broadcast
#Android11

Exploring WindowInsets on Android 11

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

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

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

Evolution of location access on Android

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

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

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

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

Gradle плагин, который поможет вам визуализировать граф зависимостей модулей в вашем проекте и позволит проанализировать его визуально.
источник
Android Broadcast
#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 🔥🔥🔥
источник
Android Broadcast
#Kotlin #Coroutines #UnderTheHood

The suspend modifier — Under the hood

Текстовая версия выпущенного ранее ролика о том, как работает ключевое слово suspend в Kotlin.
источник
2020 March 26
Android Broadcast
#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-тестирования

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

Ведущий - Кирилл Розов (https://twitter.com/kirill_rozov)
Гости:
👨‍✈️Евгений Мацюк, Software Expert в Kaspersky Lab, (https://twitter.com/e_matsyuk)
👨‍🔧Егор Курников, Android разработчик в Яндекс (http://t.me/eakurnikov)

Полезные ссылки
📰Telegram канал с полезными материалами для Android разработчиков - https://TgStata.ru/2ab28b
💬Telegram группа обсуждения Kaspresso и Adb Server (RU) - https://TgStata.ru/345d30
🧰Kaspresso Github - https://github.com/KasperskyLab/Kaspresso
📚Kaspresso Wiki - https://github.com/KasperskyLab/Kaspresso/blob/master/wiki/00_Home.md
🔨Kakao - https://github.com/agoda-com/Kakao
⚒️Espresso - https://developer.android.com/training/testing/espresso

Записи докладов по Kaspresso:
📺Воркшоп по автотестам от Kaspersky…
источник
2020 March 27
Android Broadcast
#Emulator

Run ARM apps on the Android Emulator

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

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

x86 эмулятор в Android 11 стал поддерживать выполнение ARM инструкций, транслируя их в x86.
источник
Android Broadcast
Новый эмулятор Android 11 vs старый
источник
Android Broadcast
Стрим "Как устроен Android Broadcast"

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

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

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

Приложение от Android Academy Израиль с примером использования новомодных технологий:
👉 Kotlin
👉 Coroutines & Flow
👉 Koin
👉 Arch Components
источник
2020 March 28
Android Broadcast
​​#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
источник
2020 March 29
Android Broadcast
#News

О Android Broadcast

Собрал всю информацию о проекте в одном месте и добавил ее в описание каналов и чатиков.
источник
2020 March 30
Android Broadcast
#Testing #Mock

Mocking is not practical — Use fakes

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

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

Accessibility of text over random background colors

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

Android 11: WindowInsets

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

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