#BottomNavigation #Navigation
Announcing Bottom Navigator
Используете ли вы Bottom Navigation в своих приложениях? Тогда вполне возможно вы сталкивались с проблемой, что стандартное поведение этого виджета подразумевает под собой сброс стека предыдущего таба при переключении.
Google все еще работает над фичей поддержки множества стеков в Jetpack Navigation, поэтому эта библиотека из Architecture Components не решит вашей проблемы. Подробности здесь.
Это не устроило ребят из Pandora и они реализовали свой собственный Bottom Navigation виджет, который удовлетворяет их точке (а вполне возможно и значительного количества людей) на работу этого виджета.
Announcing Bottom Navigator
Используете ли вы Bottom Navigation в своих приложениях? Тогда вполне возможно вы сталкивались с проблемой, что стандартное поведение этого виджета подразумевает под собой сброс стека предыдущего таба при переключении.
Google все еще работает над фичей поддержки множества стеков в Jetpack Navigation, поэтому эта библиотека из Architecture Components не решит вашей проблемы. Подробности здесь.
Это не устроило ребят из Pandora и они реализовали свой собственный Bottom Navigation виджет, который удовлетворяет их точке (а вполне возможно и значительного количества людей) на работу этого виджета.
Medium
Announcing Bottom Navigator
An Android Multiple Backstack Bottom Navigation Library
Android Broadcast
#BottomNavigation #Navigation Announcing Bottom Navigator Используете ли вы Bottom Navigation в своих приложениях? Тогда вполне возможно вы сталкивались с проблемой, что стандартное поведение этого виджета подразумевает под собой сброс стека предыдущего…
Грусть и печаль для тех кто не любит RxJava - эта библиотека зависит от нее? Ну зачем там было делать 😔
Android Broadcast
Как вы пишите UI под Android?
Что можно сказать о результатах? XML пока остается самым надежным способом и как бы Google ни старалсь, но Layout Editor так и не получил большую популярность как основого инструмента для разработки UI.
Очень интересно услышать мнение людей кто пишет UI в коде (частая причина это производительность и хотелось бы услышать насколько такое решение ее увеличивает) а также кто ответил "Другой вариант" и что вы используете (возможно вы вообще не пишите UI 😁).
Присоединяйтесь для обсуждения в @android_broadcast_discussions
Очень интересно услышать мнение людей кто пишет UI в коде (частая причина это производительность и хотелось бы услышать насколько такое решение ее увеличивает) а также кто ответил "Другой вариант" и что вы используете (возможно вы вообще не пишите UI 😁).
Присоединяйтесь для обсуждения в @android_broadcast_discussions
#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.