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
#HMS #ML #AI

Снятся ли телефонам с HMS электроовцы? Обзор функций и возможностей инструментов AI от Huawei

Разбор возможностей ML Kit от Huawei, который является частью HMS. В состав этого инструмента входит:
👉 Распознание текста
👉 Распознание речи: диктовка, транскрипция аудиофайлов, TTS, переводы, создание интерактивных обучающих роликов
👉 Работа с изображениями: классификация, обнаружение и отслеживание объектов, распознание, улучшение разрешения и качества и др.
👉 Распознание лица и позы человека

Все возможность работают как онлайн, так и оффлайн, но в более урезанном формате. В отличие от ML Kit от Google, Huawei больше уделяет внимания русскому языку.

Также не стоит забывать, что устройства Huawei имеет свои чипы Kirin с высокопроизводительным NPU, который позволит ускорить весь этот процессинг в разы.

Помимо всего возможна работа с собственными моделями, есть расширенные возможности для приложений с AI и много других интересных сервисов от Huawei.
#AndroidStudio

Магическая шаблонизация для Android-проектов

Иметь шаблон для создания проекта или его частей в UI Android Studio позволяет сокращать время на разработку, убирая необходимость писать однообразный код.

До Android Studio 4.1 можно было использовать FreeMarker шаблоны, но теперь так больше сделать нельзя. В HeadHunter решили исправить эту ситуацию и разработали плагин Geminio

В статье автор делиться тем как работает новый механизм, какие есть альтернативы и как все это улучшает Geminio
#Performance #Testing

Testing App Startup Performance

Сделать быстрый старт вашего приложения (как холодный, так и горячий). Чтобы делать это, надо понять как правильно его замерять, что и разбирается в статье в виде разных трюков с adb, API и немного библиотеки AndroidX Performance
#UI

AsyncLayoutInflater

AsyncLayoutInflater - это возможность инфлейтить Layout XML асинхронно, что может использоваться для ускорения работы вашего приложения и разгрузки Main/UI потока вашего приложения.

Проблема заключается в том, что не все API в Android готово к асинхронному рендерингу, например Fragment, который требует вернуть View как результат выполнения onCreateView()
#IDEA

Keep Shortcuts close, but Quick Lists and Favorites closer

Быстрая навигация и выполнение действий - одна из ключевых функций, которая отличает качественную IDE от простого текстового редактора. В статье разбираются Quick List (собственные списки действий) и Избранное (файлы, папки и пакеты, которые будут доступны быстрее)
Записи докладов с конференции Android Summit 2020

На конференции есть доклады про Kotlin Coroutines, тестирование, безопасности, Kotlin Multiplatform, UI, анимациям и др.
#Performance

Decrease memory usage of your Android app in half

История разработчиков, которые столкнулись с необходимостью уменьшим расход RAM c 150 Мб до 70. Автор статьи делиться советами:
👉 Включение LeakCanary и проверить утечки памяти
👉 Изменение режима кодировки для Glide по умолчанию на RGB_565. Стандартный режим ARGB_8888
👉 Используйте Application.onTrimMemory(), чтобы расчищать память при ее нехватке
👉 Отменяйте загрузки, когда скрываются элементы в RecyclerView
👉 Проблема с повторным обновлением данных в Room, исправляется банальной проверкой на уникальность данных
👉 Утечки Fragment из-за хранения ссылки на ViewBinding. Не забывайте чистить ссылки, связанные с UI, и отменять подписки/слушатели в Fragment.onDestroyView()
👉 Не увлекайтесь Singleton в Dagger и object в Kotlin. Оцените насколько нужно вам постоянное хранение объекта в памяти. Обычно это нужно только для объектов, у которых нужно глобальное состояние.

Важно: Чистка памяти и создание объекта в Android -дешевые операции
#Performance

Android Vitals - Profiling App Startup

Инструкция по профилированию запуска Android приложений:
👉 Как настроить устройство и сборку
👉 Когда запускать и останавливать запись
👉 Профилирование с Nanoscope
AndroidX Activity Result APIs — Taking a Picture

Разбор нового способа получения результата вместо onActivityResult() - Activity Result API. Автор разбирает пример получения разрешений и создание фото
#Стажировка

Стажировка для мобильных разработчиков в Redmadrobot

Redmadrobot открывает оплачиваемую стажировку для начинающих iOS- и Android-разработчиков в марте 2021 года, которая пройдёт в самарском офисе. Поможем раскрыть внутреннюю силу джедая и поделимся 11-летним опытом разработки мобильных приложений.
#HMS #Camera

Работа с камерой на платформе HMS

Google имеет расширенные возможности по работе с камерой - Jetpack CameraX. Huawei, отлученная от технологий Google и обновлений Android, сделал свой API для разработчиков, которые позволяют задействовать весь потенциал камеры - Camera Engine

В статье разбирается
👉 как начать работать с Camera Engine
👉 сделать ночную съемку
👉 сделать фото с эффектом Боке
👉 HDR
👉 Slow-mo
👉 Pro режим
👉 снять видео
#AndroidStudio

Announcing Android Studio Arctic Fox (2020.3.1) & Android Gradle plugin 7.0

Android Studio (AS) и Android Gradle Plugin (AGP) меняют версионирование. Вместо версии 4.3 нас ждут AS 2020.3.1 и AGP 7.0.0.

Теперь версия AS совпадает с версией IntelliJ, на которой базируется IDE от Google. Версия AGP будет совпадать с версией Gradle, которая требуется для работы

Помимо прочего у каждой версии Android Studio появится новое кодовое имя. У следующей оно будет Arctic Fox.
#Gradle

AGP 7.0: Next major release for the Android Gradle plugin

Следующий Android Gradle Plugin показал свою первую альфу. Из новинок нас ждет:
👉 Новая схема версионирования, следующая принципам семантического версионирования
👉 Обратная совместимость в API и deprecation циклы
👉 Java 11 теперь минимальная версия для работы AGP
👉 Изменения в API по сравнению с AGP 4.2
👉 Новое API androidComponents
#Webinar #Kotlin #Kafka

Apache Kafka® Event Streaming Platform For Kotlin Developers
10 декабря в 19.30 (GMT+ 3). Язык - английский

10 декабря JetBrains организует вебинар, посвященный использованию Kafka в серверных приложениях на Kotlin.

Вебинар будет интересен разработчикам, которые уже использую Kotlin для серверных приложений, а также тем, кто только планирует начать. Написать сервер для своего приложения, и расширить применение Kotlin за пределы Android будут очень полезным навыком!
 
Ведущие: 
😎 Антон Архипов, Dev Advocate в JetBrains 
😎 Виктор Гамов, Dev Advocate в Confluent

Чтобы получить уведомление за день до вебинара и приглашение для вашего календаря зарегистрируйтесь по ссылке
#KMP

Okio's Kotlin Multiplatform Files API

Авторы библиотеки Okio (OkHttp, Retrofit и др.) активно работают над реализацией мультиплатформенного API для работы с файлами и потоками. Сделано уже много чего, ждем полноценного релиза библиотеки в KMP варианте
#Jetpack

Обновление Android Jetpack 2 декабря 2020

Browser 1.3.0
👉 Улучшения Trusted Web Activity API с помощью возможности отправки команд
👉 Возможность управлять показом опции шаринга
👉 Больше возможностей по управлению цветом Custom Tab

Wear Input 1.0.0
👉 Возможность обработки физических клавиш из Jetpack библиотеки
👉 API для тестирования работы с кнопками

Navigation 2.3.2
👉 Safe Args API теперь совместимо с Kotlin explicit API mode
👉 Испралвение багов

Biometric 1.2.0-alpha01
👉 Kotlin расширения для biometric - biometric-ktx
👉 AuthPrompt API для построения BiometricPrompt при выполнение авторизации

Exifinterface 1.3.2
👉 Исправление багов

Что еще:
👉 Произошли важные фиксы в Activity Result API
👉 FragmentScenario переезжает полностью на Kotlin
👉 RecyclerView 1.2.0-beta01 не принес изменений с альфы, что говорит о уже неплохой стабильности
👉 Множество beta и rc релизов
#UI

Simple Settings Activity

Библиотека для создания экранов настроек на основе стандартного фреймворка. Библиотека имеет удобный DSL на основе Kotlin для создания экрана настроек в runtime
#Fragment

Обновлена документация по Fragment

Документация по Fragment была написана давным давно (5+ лет назад). Что нового:

Создание Fragment:
👉 передача layout res в конструктор
👉 FragmentContainerView
👉 получение аргументов

FragmentManager:
👉 отношения между fragment (parent и child)
👉 back stack
👉 setPrimaryNavigationFragment()
👉 FragmentFactory

FragmentTransaction:
👉 Почему всегда надо использовать setReorderingAllowed(true). Связано с анимациями и back stack
👉 setMaxLifecycle()
👉 Особенности show()/hide()
👉 Особенности attach()/detach()

Что еще нового:
👉 Fragment Shared Element Transition
👉 Обновление документации по жизненному циклу Fragment
👉 Особенности сохранения состояния Fragment
👉 Взаимодействие с Fragment: Shared ViewModel, Fragment Result API
👉 Взаимодействие с AppBar
👉 Использование DialogFragment
👉 Тестирование Fragment
#CI #CD

Прокачиваем Android проект с GitHub Actions

GitHub - самый популярный сервис для хранения кода, особенно open source проектов. Не так давно на сервисе появилась фича GitHub Actions, которая позволяет автоматизировать ваши процессы, связанные с кодом в рамках GitHub.

В первой части статьи рассматривается настройка автоматической проверки кода на Pull Request и сборка релизных артефактов. Во второй части запускаются UI тесты в Firebase Test Lab