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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Meetup #Online #COVID19 #ADVM

Android Dev Virtual Meetups

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

Начиная с понедельника 23 марта 2020, известные вам всем представители Android разработки говорящие на русском языке запускают новый открытый для любого желающего проект Android Dev Virtual Meetups:
👉 Мы будем проводить митапы два раза в неделю на YouTube, с последующей возможностью поболтать лично со спикером
👉 Все доклады будут делать через онлайн трансляцию. Никакого монтажа! Всё максимально откровенно и открыто.
👉 Вы можете присоединяться к интересующим вас докладам и обсуждениям или посмотреть их позже в записи
Media is too big
VIEW IN TELEGRAM
#Meetup #Online #ADVM

Первый митап пройдет в понедельник 23 марта в 19:00 (время Московское). Денис Неклюдов расскажет о IoT хобби в связке с Android

Денис разложит по полочкам, что за ESP8266, Raspberry Pi, Arduino, MQQT и как это все контролировать с Android устройства
#Fragment #Activity

Смерть startActivityForResult объявлена в Fragment 1.3.0 и Activity 1.2.0

Стандартный механизм для получения результата из Activity (например Uri сделанного фото) - это Activity.startActivityForResult. API не самое удобное и заставляющее писать кучу кода, но теперь нас ждет улучшение.

В следующей стабильной версии появляется API ActivityResultRegistry, которое будет инкапсулировать в себе работу с startActivityForResult() + onActivityResult(), а также requestPermissions() + onRequestPermissionsResult(). Добавить работу с получением результата можно будет в любой класс, API гибкое и предоставляет такие возможности.

Попробовать изменения можно в Fragment 1.3.0 Alpha 02 и Activity 1.2.0 Alpha 02
Пример как будет выглядеть работы с ActivityResultRegistry из Activity
#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

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

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