#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
#UI #Compose
Server-Driven UI for Android with Jetpack Compose
Jetpack Compose открывает новые горизонты, меняя взгляд на построения UI. Когда все переезжает из XML в код и становится ближе к бизнес логике, то этим становится проще управлять через сервер.
Например, сделать Server-Driven UI более эффективно чем это делалось на View. Автор статьи приводит в пример свое видение такой реализации
Server-Driven UI for Android with Jetpack Compose
Jetpack Compose открывает новые горизонты, меняя взгляд на построения UI. Когда все переезжает из XML в код и становится ближе к бизнес логике, то этим становится проще управлять через сервер.
Например, сделать Server-Driven UI более эффективно чем это делалось на View. Автор статьи приводит в пример свое видение такой реализации
#UI
Рисование собственных представлений (View) в Android
Android хоть и имеет богатый набор виджетов, но всегда приходится прибегать к специфичным кастомизациям или вовсе сделать что-то свое. Также ожно из важных причин является производительность, так как сложная иерархия View, которая позволит достичь результата, может получиться напорядок медленее.
В статье вы найдете руководство как сделать простой кастомный виджет на Kotlin
Рисование собственных представлений (View) в Android
Android хоть и имеет богатый набор виджетов, но всегда приходится прибегать к специфичным кастомизациям или вовсе сделать что-то свое. Также ожно из важных причин является производительность, так как сложная иерархия View, которая позволит достичь результата, может получиться напорядок медленее.
В статье вы найдете руководство как сделать простой кастомный виджет на Kotlin
#Location
Improving urban GPS accuracy for your app
Google улучшает позиционирование в больших городах. Заработает это для тех кто использует Fused Location Provider. Улучшения затрагивают 3850 городов, но Россия и Украина в них не попадает (
Improving urban GPS accuracy for your app
Google улучшает позиционирование в больших городах. Заработает это для тех кто использует Fused Location Provider. Улучшения затрагивают 3850 городов, но Россия и Украина в них не попадает (
Android Developers Blog
Improving urban GPS accuracy for your app
Posted by Frank van Diggelen, Principal Engineer and Jennifer Wang, Product Manager At Android, we want to make it as easy as possibl...