#AndroidStudio #Performance
Speed up your Android Studio
Android Studio - программа с большим аппетитом. Разрабатывать под Android на компьютере без 16 гигов оперативки, четырехядерного процессора и SSD сейчас довольно затруднительно 😞.
В статье рассматриваются следующий оптимизации для ускорения работы Android Studio:
👉 Настройка шаринга Gradle демонов между системой и Android Studio
👉 Отключайте ненужные плагины
👉 Правильно настройте
Как вы боретесь с прожорливостью Android Studio? Делитесь советами в @android_broadcast_discussions и попробуем сделать
Speed up your Android Studio
Android Studio - программа с большим аппетитом. Разрабатывать под Android на компьютере без 16 гигов оперативки, четырехядерного процессора и SSD сейчас довольно затруднительно 😞.
В статье рассматриваются следующий оптимизации для ускорения работы Android Studio:
👉 Настройка шаринга Gradle демонов между системой и Android Studio
👉 Отключайте ненужные плагины
👉 Правильно настройте
vmoptions. Android Studio 3.5 уже научилась предлагать некоторые рекомендации, но можно больше!Как вы боретесь с прожорливостью Android Studio? Делитесь советами в @android_broadcast_discussions и попробуем сделать
Kaush’s blog
Speed up your Android Studio
I use a 13” MacBook Pro at work these days. Android Studio frequently sent my machine into a tailspin.
Screenshot testing on Android
История команды как они от написания Unit тестов и instrumentation тестов на Espresso пошли дальше тестирование скриншотов. Цель тестирования скриншотов - проверить, что пользовательский ввод приводит к определённому выводу на экране. Автор статьи делится опытом таких видов тестов с использованием библиотеки Facebook Screenshot Testing for Android
История команды как они от написания Unit тестов и instrumentation тестов на Espresso пошли дальше тестирование скриншотов. Цель тестирования скриншотов - проверить, что пользовательский ввод приводит к определённому выводу на экране. Автор статьи делится опытом таких видов тестов с использованием библиотеки Facebook Screenshot Testing for Android
Medium
Screenshot testing on Android
I just want to sleep well the night after we release a new version of Jobandtalent’s android app. When talking about testing our user…
#DependencyInjection #Dagger
Dagger2: @Component.Factory and @SubComponent.Factory
В Dagger 2.22 добавили возможность использовать фабрики @Component.Factory для создания
Dagger2: @Component.Factory and @SubComponent.Factory
В Dagger 2.22 добавили возможность использовать фабрики @Component.Factory для создания
Component, вместо Builder. Это позволяет вам передать все параметры при создании Dagger Component/Subcomponent в один единственный метод.Medium
Dagger2: @Component.Factory and @SubComponent.Factory
New way to bind instances to your component.
#GooglePlay
Expanding bug bounties on Google Play
Google расширяет программу по поиску уязвимостей и включает в нее все приложения с более 100 миллионов установок, даже если разработчик приложения не имеет, такой программы вы получите премию от Google.
Expanding bug bounties on Google Play
Google расширяет программу по поиску уязвимостей и включает в нее все приложения с более 100 миллионов установок, даже если разработчик приложения не имеет, такой программы вы получите премию от Google.
Android Developers Blog
Expanding bug bounties on Google Play
Posted by Adam Bacchus, Sebastian Porst, and Patrick Mutchler — Android Security & Privacy We’re constantly looking for ways t...
#Firebase #RemoteConfig
Improving your startup times and error handling using the Remote Config V2 SDK
Обновили Firebase Remote Config V2 получило более быстрое время запуска со счет асинхронной инициализации 🚀 and улучшение коммуникации между клиентским SDK и бекэндом
Improving your startup times and error handling using the Remote Config V2 SDK
Обновили Firebase Remote Config V2 получило более быстрое время запуска со счет асинхронной инициализации 🚀 and улучшение коммуникации между клиентским SDK и бекэндом
The Firebase Blog
Improving your startup times and error handling using the Remote Config V2 SDK
Hello Firebase Developers! We recently launched a major refresh for the Remote Config SDK in our v2 release, and it includes a few changes that will help you keep your app responsive and snappy.
#JetpackWeekly #AndroidX #AndroidJetpack
Android Jetpack Weekly #6
За последнюю неделю мы получили только одно обновление - AndroidX Biometric вышла в beta
Android Jetpack Weekly #6
За последнюю неделю мы получили только одно обновление - AndroidX Biometric вышла в beta
Medium
Android Jetpack Weekly #6
Review of the most interesting updates in Android Jetpack libraries
#Git
Using Git Hooks to improve your development workflow
Случалось ли у вас так что вы написали прекрасный код, проверили его работу, а через пару минут ваш CI говорит, что проверка вашего коммита не прошла успешно. Забыли запустить проверки перед тем как отправить код на сервер, а то и вовсе этого не делаете?
Git Hooks - это то что ваш поможет автоматизировать различные команды, которые будут выполняться при различных операциях с Git. Как это сделать вы найдете в статье
Using Git Hooks to improve your development workflow
Случалось ли у вас так что вы написали прекрасный код, проверили его работу, а через пару минут ваш CI говорит, что проверка вашего коммита не прошла успешно. Забыли запустить проверки перед тем как отправить код на сервер, а то и вовсе этого не делаете?
Git Hooks - это то что ваш поможет автоматизировать различные команды, которые будут выполняться при различных операциях с Git. Как это сделать вы найдете в статье
Medium
Using Git Hooks to improve your development workflow
Recently, I was contributing for the first time to a new codebase. I extend some functionality that I needed. After thorough testing on my…
#CameraX #AndroidX #Camera
Core Principles Behind CameraX Jetpack Library
CameraX - одна из главных новинок AndroidX из Google I/O. Она решает проблемы с особенностями работы с камерой на устройствах различных производителей, а также дает доступ к таким возможностям как HDR, ночной режим и прочие, которые ранее были недоступны.
В статье рассматриваются особенности библиотеки:
👉 Интеграция с Lifecycle
👉 Работа на основе сценариев (use-case-driven). Основные сценарии - это предпросмотр, анализ изображения и захват изображения.
👉 Graceful degradation
👉 Совместимость со всеми устройства на Android 5.0+ и поддерживающими Camera 2 API
👉 Поддержка расширений от производителей, для доступа к низкоуровневым API камеры
Библиотека активно развивается и получает улучшения API. Ждем хотя бы beta
Core Principles Behind CameraX Jetpack Library
CameraX - одна из главных новинок AndroidX из Google I/O. Она решает проблемы с особенностями работы с камерой на устройствах различных производителей, а также дает доступ к таким возможностям как HDR, ночной режим и прочие, которые ранее были недоступны.
В статье рассматриваются особенности библиотеки:
👉 Интеграция с Lifecycle
👉 Работа на основе сценариев (use-case-driven). Основные сценарии - это предпросмотр, анализ изображения и захват изображения.
👉 Graceful degradation
👉 Совместимость со всеми устройства на Android 5.0+ и поддерживающими Camera 2 API
👉 Поддержка расширений от производителей, для доступа к низкоуровневым API камеры
Библиотека активно развивается и получает улучшения API. Ждем хотя бы beta
Medium
Core Principles Behind CameraX Jetpack Library
In this blog post, we will cover the basic principles behind the CameraX Jetpack Library in addition to a few ways in which the library…
#Firebase
Using the new list API in Cloud Storage for Firebase
В Firebase добавили поддержку получения списка объектов в корзине и папках
Using the new list API in Cloud Storage for Firebase
В Firebase добавили поддержку получения списка объектов в корзине и папках
Medium
Using the new list API in Cloud Storage for Firebase
Everything you need to know to effectively use the new list API in your app, both code and security rules.
#Firebase #SaaS #8base
5 Reasons Why Developers are Choosing 8base over Firebase
Сравнение 8base и Firebase в плане удобства и функционала который они представляют как Saas.
5 Reasons Why Developers are Choosing 8base over Firebase
Сравнение 8base и Firebase в плане удобства и функционала который они представляют как Saas.
8base отличается работой на основе GraphQL APIMedium
5 Reasons Why Developers are Choosing 8base over Firebase
8base’s latest user growth has been developers hopping over from Firebase. Here’s why
#Widget #Calendar
CalendarView - хорошо кастомизируемый виджет календаря, основанный на RecyclerView.
Возможности библиотеки:
👉 Выбор одного значения или диапазона
👉 Режим недели или месяца
👉 Ограничение дат
👉 Кастомизация внешнего вида ячеек
👉 Кастомизация внешнего вида календаря
👉 Любой день в качестве первого дня недели
👉 Горизонтальный или вертикальный скролл
👉 Добавление headers/footers к любому месяцу
👉 Простой скролл к дате и месяцу
👉 Возможность использования любых кастомизаций RecyclerView
Библиотека работает на основе ThreeTenABP для возможности работы с Java 8 Date Time на старых версиях Android SDK
CalendarView - хорошо кастомизируемый виджет календаря, основанный на RecyclerView.
Возможности библиотеки:
👉 Выбор одного значения или диапазона
👉 Режим недели или месяца
👉 Ограничение дат
👉 Кастомизация внешнего вида ячеек
👉 Кастомизация внешнего вида календаря
👉 Любой день в качестве первого дня недели
👉 Горизонтальный или вертикальный скролл
👉 Добавление headers/footers к любому месяцу
👉 Простой скролл к дате и месяцу
👉 Возможность использования любых кастомизаций RecyclerView
Библиотека работает на основе ThreeTenABP для возможности работы с Java 8 Date Time на старых версиях Android SDK
#ArchitectureComponents #LiveData
Unit-testing LiveData and other common observability problems
Важно помнить, что
В статье рассматриваются ошибки и рекомендации по использованию
👉 Используйте
👉 Используйте InstantTaskExecutorRule для предотвращения проблем с многопоточностью при работе с
👉 Частая ошибка - используйте один и тот же объект
Unit-testing LiveData and other common observability problems
Важно помнить, что
LiveData посылает обновления, только в том случае, когда у нее есть хотя бы один подписчик (observer). Это может привести к ошибкам в ваших тестах (успешно их прохождению или нет).В статье рассматриваются ошибки и рекомендации по использованию
LiveData в тестах:👉 Используйте
LiveData.getOrAwaitValue(timeout: Long) для получения результата из LiveData в unit тестах👉 Используйте InstantTaskExecutorRule для предотвращения проблем с многопоточностью при работе с
LiveData👉 Частая ошибка - используйте один и тот же объект
ViewModel, если он шарится между несколькими FragmentMedium
Unit-testing LiveData and other common observability problems
Next time you’re scratching your head looking at a perfectly fine unit test with LiveDatas that should be passing, or at an empty screen…
#Coroutines
Corbind
Помните RxBinding? Так вот её аналог, только построенный на Kotlin Coroutine-ах. Библиотека позволяет осуществлять биндинги к самым популярным виджетам из Android SDK и AndroidX
Corbind
Помните RxBinding? Так вот её аналог, только построенный на Kotlin Coroutine-ах. Библиотека позволяет осуществлять биндинги к самым популярным виджетам из Android SDK и AndroidX
Corbind поддерживает Channel и Flow.#AndroidQ
Вышел Android 10
Вот и состоялся выход новой стабильной версии ОС Android. Что это привносит? Давайте разбираться:
👉 Теперь нет букв в названиях Android и сладостей. Только цифры. Скатились до iOS 😥
👉 Поддержка складываемых устройств (кстати оба из них не стали выходить 😁)
👉 Поддержка сетей 5G
👉 Темная тема
👉 LiveCaption - теперь можно сделать субтитры для всего что воспроизводится в системе
👉 Новая система навигации жестами, которую Google пытается стандартизировать кросс производителей устройств
👉 Большой упор на приватность данных
👉 Улучшение работы с камерой
👉 Улучшение виртуальной машины ART
👉 Поддержка быстрых обновлений безопасностей и патчей без необходимости перезагрузки
Вышел Android 10
Вот и состоялся выход новой стабильной версии ОС Android. Что это привносит? Давайте разбираться:
👉 Теперь нет букв в названиях Android и сладостей. Только цифры. Скатились до iOS 😥
👉 Поддержка складываемых устройств (кстати оба из них не стали выходить 😁)
👉 Поддержка сетей 5G
👉 Темная тема
👉 LiveCaption - теперь можно сделать субтитры для всего что воспроизводится в системе
👉 Новая система навигации жестами, которую Google пытается стандартизировать кросс производителей устройств
👉 Большой упор на приватность данных
👉 Улучшение работы с камерой
👉 Улучшение виртуальной машины ART
👉 Поддержка быстрых обновлений безопасностей и патчей без необходимости перезагрузки
Android Developers Blog
Welcoming Android 10!
Posted by Stephanie Cuthbertson, Senior Director of Product Management, Android After more than a year of development and months of te...
Вы уже адаптировали приложения для Android 10 ?
Final Results
9%
Да
20%
Сейчас начнём
16%
Начнём когда Google прижмёт
29%
Пока не крешится - забиваем
26%
А надо?
#Coroutines #DynamicProxy
A little reflection about coroutines
Как протестировать код, который использует
A little reflection about coroutines
Как протестировать код, который использует
Retrofit интерфейс? Использовать моки или HttpMocker. Есть более эффективный способ - самому реализовать свою Proxy для Retrofit со стабами. Подробности того как это сделать когда вы используете Coroutine или нет вы найдёте в статьеMedium
A little reflection about coroutines
How Kotlin coroutines can make java reflection a bit more complicated.
#Gradle #Performance
Gradle Remote Build Cache Misses
Gradle дало большую гибкость в сборке приложений. Но за все приходится платить и цена - это скорость сборки. С ростом проектом она увеличивается. Разработчики решили эту проблему, начав разбивать проекты на модули, где каждый из них собирается отдельно и может более эффективно кэшироваться.
Кэширование сборки тоже не самый эффективный механизм Gradle, но есть часть Gradle Enterprise - Remote Build Cache, которая позволяет шарить кэш между различными машинами. Больше подробностей о этой функции в статье от SoundСloud
Gradle Remote Build Cache Misses
Gradle дало большую гибкость в сборке приложений. Но за все приходится платить и цена - это скорость сборки. С ростом проектом она увеличивается. Разработчики решили эту проблему, начав разбивать проекты на модули, где каждый из них собирается отдельно и может более эффективно кэшироваться.
Кэширование сборки тоже не самый эффективный механизм Gradle, но есть часть Gradle Enterprise - Remote Build Cache, которая позволяет шарить кэш между различными машинами. Больше подробностей о этой функции в статье от SoundСloud
Всем привет. На этой неделе я не смог выдерживать ритм по новостям + мало чего интересно + все мои силы между старой и новой работой идут на то, чтобы сделать Kotlin/Everywhere Minsk, которая состоится 7 сентября. Были 3 напряжённых месяца подготовки и остается совсем чуть-чуть. Регистрируйтесь чтобы получить видео, посетить мероприятие или помочь в качестве волонтёра.
Со следующей неделе я вернусь к привычному ритму посту новостей. Спасибо за понимание
Со следующей неделе я вернусь к привычному ритму посту новостей. Спасибо за понимание
gdg-minsk.timepad.ru
KOTLIN/Everywhere Minsk / События на TimePad.ru
7 сентября в Минске состоится первая бесплатная конференция для тех, кто изучает и использует в работе язык Kotlin.
#Tablet #Android10
Expand your app beyond mobile to reach Android users at large
В Google неожиданно решили вспомнить, что у них есть поддержка больших экранов, а вендоры производят планшеты и Chrome OS имеет поддержку Android приложений и там очень эффективно работает планшетный дизайн.
Expand your app beyond mobile to reach Android users at large
В Google неожиданно решили вспомнить, что у них есть поддержка больших экранов, а вендоры производят планшеты и Chrome OS имеет поддержку Android приложений и там очень эффективно работает планшетный дизайн.
Android Developers Blog
Expand your app beyond mobile to reach Android users at large
Posted by Sameer Samat, Vice President, Platforms & Ecosystems From day one, we designed Android to be a flexible, adaptive platform...