#HMS #ML #AI
Снятся ли телефонам с HMS электроовцы? Обзор функций и возможностей инструментов AI от Huawei
Разбор возможностей ML Kit от Huawei, который является частью HMS. В состав этого инструмента входит:
👉 Распознание текста
👉 Распознание речи: диктовка, транскрипция аудиофайлов, TTS, переводы, создание интерактивных обучающих роликов
👉 Работа с изображениями: классификация, обнаружение и отслеживание объектов, распознание, улучшение разрешения и качества и др.
👉 Распознание лица и позы человека
Все возможность работают как онлайн, так и оффлайн, но в более урезанном формате. В отличие от ML Kit от Google, Huawei больше уделяет внимания русскому языку.
Также не стоит забывать, что устройства Huawei имеет свои чипы Kirin с высокопроизводительным NPU, который позволит ускорить весь этот процессинг в разы.
Помимо всего возможна работа с собственными моделями, есть расширенные возможности для приложений с AI и много других интересных сервисов от Huawei.
Снятся ли телефонам с 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
Магическая шаблонизация для Android-проектов
Иметь шаблон для создания проекта или его частей в UI Android Studio позволяет сокращать время на разработку, убирая необходимость писать однообразный код.
До Android Studio 4.1 можно было использовать FreeMarker шаблоны, но теперь так больше сделать нельзя. В HeadHunter решили исправить эту ситуацию и разработали плагин Geminio
В статье автор делиться тем как работает новый механизм, какие есть альтернативы и как все это улучшает Geminio
#Performance #Testing
Testing App Startup Performance
Сделать быстрый старт вашего приложения (как холодный, так и горячий). Чтобы делать это, надо понять как правильно его замерять, что и разбирается в статье в виде разных трюков с adb, API и немного библиотеки AndroidX Performance
Testing App Startup Performance
Сделать быстрый старт вашего приложения (как холодный, так и горячий). Чтобы делать это, надо понять как правильно его замерять, что и разбирается в статье в виде разных трюков с adb, API и немного библиотеки AndroidX Performance
#UI
AsyncLayoutInflater
Проблема заключается в том, что не все API в Android готово к асинхронному рендерингу, например
AsyncLayoutInflater
AsyncLayoutInflater - это возможность инфлейтить Layout XML асинхронно, что может использоваться для ускорения работы вашего приложения и разгрузки Main/UI потока вашего приложения.Проблема заключается в том, что не все API в Android готово к асинхронному рендерингу, например
Fragment, который требует вернуть View как результат выполнения onCreateView()#IDEA
Keep Shortcuts close, but Quick Lists and Favorites closer
Быстрая навигация и выполнение действий - одна из ключевых функций, которая отличает качественную IDE от простого текстового редактора. В статье разбираются Quick List (собственные списки действий) и Избранное (файлы, папки и пакеты, которые будут доступны быстрее)
Keep Shortcuts close, but Quick Lists and Favorites closer
Быстрая навигация и выполнение действий - одна из ключевых функций, которая отличает качественную IDE от простого текстового редактора. В статье разбираются Quick List (собственные списки действий) и Избранное (файлы, папки и пакеты, которые будут доступны быстрее)
Записи докладов с конференции Android Summit 2020
На конференции есть доклады про Kotlin Coroutines, тестирование, безопасности, Kotlin Multiplatform, UI, анимациям и др.
На конференции есть доклады про Kotlin Coroutines, тестирование, безопасности, Kotlin Multiplatform, UI, анимациям и др.
#Performance
Decrease memory usage of your Android app in half
История разработчиков, которые столкнулись с необходимостью уменьшим расход RAM c 150 Мб до 70. Автор статьи делиться советами:
👉 Включение LeakCanary и проверить утечки памяти
👉 Изменение режима кодировки для Glide по умолчанию на
👉 Используйте
👉 Отменяйте загрузки, когда скрываются элементы в
👉 Проблема с повторным обновлением данных в
👉 Утечки
👉 Не увлекайтесь Singleton в Dagger и object в Kotlin. Оцените насколько нужно вам постоянное хранение объекта в памяти. Обычно это нужно только для объектов, у которых нужно глобальное состояние.
Важно: Чистка памяти и создание объекта в Android -дешевые операции
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
Android Vitals - Profiling App Startup
Инструкция по профилированию запуска Android приложений:
👉 Как настроить устройство и сборку
👉 Когда запускать и останавливать запись
👉 Профилирование с Nanoscope
AndroidX Activity Result APIs — Taking a Picture
Разбор нового способа получения результата вместо
Разбор нового способа получения результата вместо
onActivityResult() - Activity Result API. Автор разбирает пример получения разрешений и создание фото#Стажировка
Стажировка для мобильных разработчиков в Redmadrobot
Redmadrobot открывает оплачиваемую стажировку для начинающих iOS- и Android-разработчиков в марте 2021 года, которая пройдёт в самарском офисе. Поможем раскрыть внутреннюю силу джедая и поделимся 11-летним опытом разработки мобильных приложений.
Стажировка для мобильных разработчиков в Redmadrobot
Redmadrobot открывает оплачиваемую стажировку для начинающих iOS- и Android-разработчиков в марте 2021 года, которая пройдёт в самарском офисе. Поможем раскрыть внутреннюю силу джедая и поделимся 11-летним опытом разработки мобильных приложений.
#HMS #Camera
Работа с камерой на платформе HMS
Google имеет расширенные возможности по работе с камерой - Jetpack CameraX. Huawei, отлученная от технологий Google и обновлений Android, сделал свой API для разработчиков, которые позволяют задействовать весь потенциал камеры - Camera Engine
В статье разбирается
👉 как начать работать с Camera Engine
👉 сделать ночную съемку
👉 сделать фото с эффектом Боке
👉 HDR
👉 Slow-mo
👉 Pro режим
👉 снять видео
Работа с камерой на платформе 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.
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
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#AndroidBroadcast
Стартуем обсуждение того, как правильно просить повышение ЗП и какие пути для этого есть.
Запись будет доступна сразу на YouTube
Стартуем обсуждение того, как правильно просить повышение ЗП и какие пути для этого есть.
Запись будет доступна сразу на YouTube
YouTube
Как повысить ЗП
#AndroidBroadcast
Советы по повышению ЗП в IT: как правильно сделать, обязательно ли менять работу, KPI и прочие вопросы не останутся без ответа
Гости выпуска:
- Денис Неклюдов, Staff Software Engineer в Lyft. Хотел создать свой тик ток хаус с блэкджеком…
Советы по повышению ЗП в IT: как правильно сделать, обязательно ли менять работу, KPI и прочие вопросы не останутся без ответа
Гости выпуска:
- Денис Неклюдов, Staff Software Engineer в Lyft. Хотел создать свой тик ток хаус с блэкджеком…
#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
Чтобы получить уведомление за день до вебинара и приглашение для вашего календаря зарегистрируйтесь по ссылке
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
Чтобы получить уведомление за день до вебинара и приглашение для вашего календаря зарегистрируйтесь по ссылке
Forwarded from Kotlin Multiplatform Broadcast
#KMP
Okio's Kotlin Multiplatform Files API
Авторы библиотеки Okio (OkHttp, Retrofit и др.) активно работают над реализацией мультиплатформенного API для работы с файлами и потоками. Сделано уже много чего, ждем полноценного релиза библиотеки в 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 -
👉 AuthPrompt API для построения
Exifinterface 1.3.2
👉 Исправление багов
Что еще:
👉 Произошли важные фиксы в Activity Result API
👉
👉 RecyclerView 1.2.0-beta01 не принес изменений с альфы, что говорит о уже неплохой стабильности
👉 Множество beta и rc релизов
Обновление 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
Simple Settings Activity
Библиотека для создания экранов настроек на основе стандартного фреймворка. Библиотека имеет удобный DSL на основе Kotlin для создания экрана настроек в runtime
#Fragment
Обновлена документация по Fragment
Документация по Fragment была написана давным давно (5+ лет назад). Что нового:
Создание Fragment:
👉 передача layout res в конструктор
👉
👉 получение аргументов
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
Обновлена документация по 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
Прокачиваем Android проект с GitHub Actions
GitHub - самый популярный сервис для хранения кода, особенно open source проектов. Не так давно на сервисе появилась фича GitHub Actions, которая позволяет автоматизировать ваши процессы, связанные с кодом в рамках GitHub.
В первой части статьи рассматривается настройка автоматической проверки кода на Pull Request и сборка релизных артефактов. Во второй части запускаются UI тесты в Firebase Test Lab