Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#Jetpack #Fragment #Security

Обновления Android Jetpack библиотек

Обовились библиотеки (ниже только beta и стабильнее версии):
👉 Fragment 1.2.3: Bugfix
👉 Paging 2.1.2: Bugfix
👉 Room 2.2.5: Bugfix
👉 Security 1.0.0-beta01. Больше подробностей и библиотеке здесь
👉 WorkManager 2.3.4: Bugfix

Полный список обновлений здесь
#GoogleIO #COVID19

Google I/O 2020 отменили полностью. Даже онлайн

Коронавирус распространяется все активнее и мы больше чувствуем эффект. Google I/O отменяется, боюсь что и релиз Android 11 будет отложен. Ждем Android Dev Summit в ноябре.
​​#Tooling #Debug

Facebook Flipper (formerly Sonar)

Flipper - это для платформа для отладки Android и iOS приложений. С помощью нее вы можете визуализировать, проверять и управлять вашими приложениями с вашего компьютера с помощью удобного графического интерфейса.

Из коробки у вас есть возможности
👉просматривать логи
👉проверять разметку и свойства View
👉навигация с помощью deep link
👉отслеживание сетевых запросов
👉просмотр данных в БД
👉просмотр загруженных изображений (пока поддерживается только Fresco)
👉Sandbox
👉Работа с SharedPreferences
👉интеграция с LeakCanary
👉перехват крэшей приложения
👉шаринг данных из Flipper для отладки их на другом устройстве

Помимо прочего Flitter имеет возможность создания собственных расширений.
#Coroutines #Kotlin

Preventing coroutine cancellation for important actions

Kotlin Coroutines базируются в своей работе на Structured Concurrency, но если выбрать неправильный CoroutineScope легко может выйти ситуация, что ваша операция не выполнится. Например, сообщение не отправится на сервер или данные не будут обновлены.

В статье разбирается как сделать чтобы все было хорошо с помощью специальной Job - NonCancellable
#CodeQuality #Kotlin

Detekt 1.7.0

🚀Увеличена скорость работы Gradle плагина
☑️Новое правило AbsentOrWrongFileLicense - проверка что каждый Kotlin файл имеет описание лицензии в шапке Kotlin файла
👉Множество мелких улучшение и исправлений
#Material #Animation

Implementing the Motion System With Material Components for Android

Система Material Design развивается и в ней появляются все новые возможности, как и библиотека Material Components Android реализует спецификацию. В новой версии библиотеки (1.2.0-alpha05) появилась реализация системы анимаций перемещения.

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

Раскладываем на части FragmentLifecycleCallbacks

Разбор возможностей FragmentLifecycleCallbacks:
👉 Отслеживание жизненного цикла Fragment
👉 Возможность выполнения действий на различных стадиях жизненного цикла Fragment (как до так и после) централизовано
👉 Примеры использования: Dagger и аналитика
#Network #OkHttp

Authorization and retrying of web requests for OkHttp and Retrofit

Рецепт как с помощью OkHttp Interceptors можно реализовать повтор неудавшегося выполненного запроса и или обновить Auth Token, в случае если он истек.

Такой способ позволяет автоматизировать выполнение операций, которые стандартно приходится реализовать при работе с REST.
#Kotlin

Kotlin 1.4-M1 Released

Мы ждали, ждали, и ждали и снова ждали и наконец дождались! Первая превью следующей мажорной версии языка уже доступна

Что нового:
👉 Новый алгоритм Type Inference теперь включен по умолчанию: поддержка SAM, лучший вывод типов, smart cast для lambda
👉 Kotlin/JVM компилятор стали генерировать новые аннотации типов в байткоде для Java 8+
👉 Новый бекенд для Kotlin/JS
👉 Улучшения в standard library: удалено deprecated API, а что-то теперь помечено как deprecated

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

Пока выкачена только первая партия изменений, но много чего еще впереди. Подробнее что стоит ждать можно найти здесь
#DynamicFeature

Exploring Dynamic Feature Navigation on Android

Navigation Component дал не только способ для реализации навигации в Android стандартным путем, но визуальный редактор.

Решение все же еще выглядит сырым т.к. не решен вопрос с возвращением результата (Activity.startActivityForResult) и навигацией в многомодульном приложение, когда у вас есть Dynamic Feature модуль. Обе этих функции будут поддерживаться в следующей версии библиотеки - Navigation 2.3.0.

В статье разбирается реализация работы с Dynamic Feature модулями в Navigation Component
#Testing #BestPractices

Unit Testing Best Practices

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

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

Stress-testing Android apps

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

В статье рассказывается про основные такие проблемы и как их можно протестировать в вашем приложении
#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 ввели ревью приложений на то, чтобы разрешение для доступа к местоположению не использовалось если вы не сможете убедить ревьюверов то, что оно нужно вам. Подробнее читайте здесь