#Gradle #Performance
Incremental testing for Gradle multi-projects
Когда ваш проект имеет множество модулей, это позволяет ускорить сборку. А как насчет того чтобы выполнять задачи только на модулях, в которых произошли изменения и зависимых от них? Например тесты и проверку стиля кода
В статье рассматривается как из Gradle найти изменения в Git и запустить тесты только для измененных модулей.
Incremental testing for Gradle multi-projects
Когда ваш проект имеет множество модулей, это позволяет ускорить сборку. А как насчет того чтобы выполнять задачи только на модулях, в которых произошли изменения и зависимых от них? Например тесты и проверку стиля кода
В статье рассматривается как из Gradle найти изменения в Git и запустить тесты только для измененных модулей.
Medium
Incremental testing for Gradle multi-projects
Application modularization is something pretty common on Android, even Google talked about it in last I/O. Whether you use it just to…
#AndroidX #AndroidXWeekly
AndrodX Weekly Update #2
Последняя неделя подарила нам только один апдейт - WorkManager 2.2.0-rc01, который содержит багфиксы по сравнению с последней beta версией.
AndrodX Weekly Update #2
Последняя неделя подарила нам только один апдейт - WorkManager 2.2.0-rc01, который содержит багфиксы по сравнению с последней beta версией.
#AndroidLint #DarkTheme
Making Android Lint Theme Aware
При добавление поддержкой темной темы в ваше приложение необходимо убедиться, что вы не используете хардкорно заданные цвета. Лучший вариант - это автоматизировать такую проверку. Например, с помощь Android Lint.
В статье рассматривает как написать такую проверку самостоятельно. Исходный код примера можно найти здесь.
Making Android Lint Theme Aware
При добавление поддержкой темной темы в ваше приложение необходимо убедиться, что вы не используете хардкорно заданные цвета. Лучший вариант - это автоматизировать такую проверку. Например, с помощь Android Lint.
В статье рассматривает как написать такую проверку самостоятельно. Исходный код примера можно найти здесь.
Medium
Making Android Lint Theme Aware
Use Android Lint API to identify screens and drawable not ready for dark theme. Also, use it to maintain dark theme apps.
#Kotlin #KotlinAndroidExtensions
Kotlin Android Extensions: Using View Binding the right way
Для всех тех кто использует Kotlin Android Extensions для View Binding важно знать как правильно реализовывать его эффективно. LayoutContainer позволяет использовать кэширование View для кастомных контейнеров, например
Kotlin Android Extensions: Using View Binding the right way
Для всех тех кто использует Kotlin Android Extensions для View Binding важно знать как правильно реализовывать его эффективно. LayoutContainer позволяет использовать кэширование View для кастомных контейнеров, например
ViewHolder
в RecyclerView
.Medium
Kotlin Android Extensions: Using View Binding the right way
TL;DR
#GooglePlay
Как я разочаровался в Google Play
История того как большая корпорация в лице Google Play боролась с разработчиком одиночкой, а он пытался сопротивляться.
Как я разочаровался в Google Play
История того как большая корпорация в лице Google Play боролась с разработчиком одиночкой, а он пытался сопротивляться.
Хабр
Как я разочаровался в Google Play
Наверняка в последнее время вы слышали истории, как служба поддержки Google Play удаляет программы из магазина приложений, которые не соответствуют каким-то прав...
#Architecture #ArchitectureComponents #AndroidX #MVVM
С появлением Architecture Components в Android реализация MVVM на основе этих компонентов стала очень популярна. Я и сам выбираю такое решение в связи с тем, что она имеет множество позитивных моментов:
👉 Решение популярных задач в архитектуре Android приложений
👉 Хорошая документация: статьи, видео, примеры и Codelab-ы
👉 Интеграция с инструментарием для разработки
👉 Поддержка от Google
👉 Большинство разработчиков знают как ее реализовывать и это способ единообразен из-за одного источника правды (Google). Это уменьшает время на обучение стажеров и интеграцию новых людей + между проектами становится общий стандарт
👉 Интеграция между различными библиотеками из Architecture Component так и сторонними (RxJava, Kotlin Coroutines)
Я не считаю ее идеалом, но Arch Components значительно упрощают создание приложений на Android и дает взгляд на архитектуру приложений от создателя Android SDK.
С появлением Architecture Components в Android реализация MVVM на основе этих компонентов стала очень популярна. Я и сам выбираю такое решение в связи с тем, что она имеет множество позитивных моментов:
👉 Решение популярных задач в архитектуре Android приложений
👉 Хорошая документация: статьи, видео, примеры и Codelab-ы
👉 Интеграция с инструментарием для разработки
👉 Поддержка от Google
👉 Большинство разработчиков знают как ее реализовывать и это способ единообразен из-за одного источника правды (Google). Это уменьшает время на обучение стажеров и интеграцию новых людей + между проектами становится общий стандарт
👉 Интеграция между различными библиотеками из Architecture Component так и сторонними (RxJava, Kotlin Coroutines)
Я не считаю ее идеалом, но Arch Components значительно упрощают создание приложений на Android и дает взгляд на архитектуру приложений от создателя Android SDK.
#Conference #Minsk
Йонатан Левин приедет 9 августа на Mobile People Day и расскажет как строить архитектуру на современном стеке, который предлагает Google, эффективно и правильно.
Йонатан Левин приедет 9 августа на Mobile People Day и расскажет как строить архитектуру на современном стеке, который предлагает Google, эффективно и правильно.
#Style #DarkTheme #Material #BestPractices
Темы и стили в Android-приложениях
Возможности кастомизации View на основе ресурсов style и атрибутов довольно обширны. В статье вы найдете подробный разбор:
👉 Отличия между темой, стилей, ThemeOverlay
👉 Что такое атрибут
👉 Как работает механизм кастомизации View на основе стилей
👉 Реализация Material Design 2.0 (Material Components)
👉 Как правильно работать со стилями, чтобы поддержать темную тему
👉 Советы по работе со стилями
Темы и стили в Android-приложениях
Возможности кастомизации View на основе ресурсов style и атрибутов довольно обширны. В статье вы найдете подробный разбор:
👉 Отличия между темой, стилей, ThemeOverlay
👉 Что такое атрибут
👉 Как работает механизм кастомизации View на основе стилей
👉 Реализация Material Design 2.0 (Material Components)
👉 Как правильно работать со стилями, чтобы поддержать темную тему
👉 Советы по работе со стилями
Хабр
Темы и стили в Android-приложениях
Каждому Android-разработчику так или иначе приходилось работать со стилями. Кто-то чувствует себя с ними уверенно, у кого-то есть только поверхностные знания, к...
#Firebase #RoboTest #Testing
Firebase Robo Test - это инструмент, которые умеет анализировать структуру UI вашего приложения и затем осуществлять клики по элементам, осуществляю навигацию, так же как это делают пользователи. Robo Test также используются для Google Play Pre-launch отчетов.
Firebase Robo Test - это инструмент, которые умеет анализировать структуру UI вашего приложения и затем осуществлять клики по элементам, осуществляю навигацию, так же как это делают пользователи. Robo Test также используются для Google Play Pre-launch отчетов.
#Kotlin #Coroutines #StructuredConcurrency
Roman Elizarov — Structured concurrency
Продолжительность: 1 час
Запись доклада о Structured Concurrency от Романа Елизарова с конференции Hydra. В докладе освещается какие задачи решались в Kotlin при проектировании библиотеки concurrency. Как пришли и реализовывали концепцию Structured Concurrency в Coroutine.
Roman Elizarov — Structured concurrency
Продолжительность: 1 час
Запись доклада о Structured Concurrency от Романа Елизарова с конференции Hydra. В докладе освещается какие задачи решались в Kotlin при проектировании библиотеки concurrency. Как пришли и реализовывали концепцию Structured Concurrency в Coroutine.
YouTube
Roman Elizarov — Structured concurrency
Hydra 2022 — June 2-3
Info and tickets: https://bit.ly/3ni5Hem
— —
A traditional approach to concurrency in programming languages is well known — you are given primitives that launch concurrent processes, threads, tasks, coroutines, actors (you name it!)…
Info and tickets: https://bit.ly/3ni5Hem
— —
A traditional approach to concurrency in programming languages is well known — you are given primitives that launch concurrent processes, threads, tasks, coroutines, actors (you name it!)…
#Retrofit
Building your own Retrofit Call Adapter
Всем мы любим Retrofit за то, как он упрощает работу с описанием REST сервисов. Также его легко интегрировать с Rx, Coroutine и пр. библиотеками. Хотите интегрировать его с собственными типами или понять как это работает впринципе? Узнать об этом сможете из статьи
Building your own Retrofit Call Adapter
Всем мы любим Retrofit за то, как он упрощает работу с описанием REST сервисов. Также его легко интегрировать с Rx, Coroutine и пр. библиотеками. Хотите интегрировать его с собственными типами или понять как это работает впринципе? Узнать об этом сможете из статьи
Medium
Building your own Retrofit Call Adapter
The use of RxJava has really shielded us away from topics like this because RxJava is now a ubiquitous term with android development, so…
#Firebase #Analytics
Upgrade your Firebase project to our next generation of app analytics capabilities!
Обновилась Firebase Analytics:
👉 Возможность трекинга события одного пользователя на различных устройствах. Необходимо реализовать User-ID функцию аналитики
👉Создание специальных воронок для лучшего понимания пути к конверсии.Например, теперь можно ответить на вопрос: "На каком шаге выходит из приложения, не осуществляя покупки" Больше подробностей здесь
👉Улучшенный анализ и визуализация данных для сравнения поведения пользователей их различных сегментов
Чтобы активировать новую функциональность вам необходимо upgrade вашей аналитики в Firebase консоли
Upgrade your Firebase project to our next generation of app analytics capabilities!
Обновилась Firebase Analytics:
👉 Возможность трекинга события одного пользователя на различных устройствах. Необходимо реализовать User-ID функцию аналитики
👉Создание специальных воронок для лучшего понимания пути к конверсии.Например, теперь можно ответить на вопрос: "На каком шаге выходит из приложения, не осуществляя покупки" Больше подробностей здесь
👉Улучшенный анализ и визуализация данных для сравнения поведения пользователей их различных сегментов
Чтобы активировать новую функциональность вам необходимо upgrade вашей аналитики в Firebase консоли
The Firebase Blog
Upgrade your Firebase project to our next generation of app analytics capabilities!
Analytics is the key to understanding your app's users: Where are they spending the most time in your app? When do they churn? What actions are they taking? To answer these questions, you need the right set of tools – and that’s why analytics has been a core…
#SMS #Verification #GooglePlayServices
Automatic SMS Verification with SMS User Consent
Не так давно Google Play прошелся жестко по всем приложениям, которые необосновано запрашивали доступ к SMS. В такую категорию попали все приложения, которые осуществляют верификацию через SMS. Для всех тех, кто реализует этот функционал, стоит обратить внимание на SMS User Consent API.
Не стоит путать это SMS User Consent API с SMS Retriever API. Отличие заключается в том что вы можете получить доступ к содержимому одной SMS в SMS User Consent API, а SMS Retriever API предназначено для автоматической проверки и требует особый формат содержимого в SMS.
Automatic SMS Verification with SMS User Consent
Не так давно Google Play прошелся жестко по всем приложениям, которые необосновано запрашивали доступ к SMS. В такую категорию попали все приложения, которые осуществляют верификацию через SMS. Для всех тех, кто реализует этот функционал, стоит обратить внимание на SMS User Consent API.
Не стоит путать это SMS User Consent API с SMS Retriever API. Отличие заключается в том что вы можете получить доступ к содержимому одной SMS в SMS User Consent API, а SMS Retriever API предназначено для автоматической проверки и требует особый формат содержимого в SMS.
Medium
Automatic SMS Verification with SMS user consent
If you’re implementing SMS verification using one-time-codes into your app, check out the new SMS User Consent API.
This media is not supported in your browser
VIEW IN TELEGRAM
Пример работы SMS User Consent API для верификации
#Keyboard
Seamless Integration of Android’s Soft Keyboard
Всем пользователям Android приходится сталкиваться с клавиатурой: ответить на сообщение, ввести пароль, вбить адрес в браузере и пр.
Насколько удобно если при нажатии клавиши "Enter" (action button) ваше приложение сразу откроет Web страницу или начнет процесс логина без необходимости нажимать кнопки в интерфейсе вашего приложения?
В статье вы найдете руководство по интеграции вашего приложения с клавиатурой.
Seamless Integration of Android’s Soft Keyboard
Всем пользователям Android приходится сталкиваться с клавиатурой: ответить на сообщение, ввести пароль, вбить адрес в браузере и пр.
Насколько удобно если при нажатии клавиши "Enter" (action button) ваше приложение сразу откроет Web страницу или начнет процесс логина без необходимости нажимать кнопки в интерфейсе вашего приложения?
В статье вы найдете руководство по интеграции вашего приложения с клавиатурой.
Atomic Spin
Seamless Integration of Android's Soft Keyboard
Android's soft-keyboard can be a struggle to integrate, but it doesn't have to be! Learn the basics of this ubiquitous interface and see basic examples.
#Kotlin #Multiplatform #Rx
Вышел Reaktive 1.0.0-rc1
Reaktive - реализация Reactive спецификации на Kotlin Multiplatform. На текущий момент поддерживаются JVM, Android, iOS, JavaScript, Linux X64, Linux ARM 32 hfp
Больше никакой Java и все Safety в ваших проектах. Для JVM и Android есть библиотека обратной совместимости с RxJava 2.
Вышел Reaktive 1.0.0-rc1
Reaktive - реализация Reactive спецификации на Kotlin Multiplatform. На текущий момент поддерживаются JVM, Android, iOS, JavaScript, Linux X64, Linux ARM 32 hfp
Больше никакой Java и все Safety в ваших проектах. Для JVM и Android есть библиотека обратной совместимости с RxJava 2.
#Kotlin #Conference #Minsk #Rx
Что может быть приятнее чем прочитать предыдущий пост и увидеть что Kotlin в мире становится все больше, а Kotlin Multiplatform Project используются в реальных проектах все активнее?
Я узнал 5 минут назад что может - получить подтверждение того, что основной контрибьютор в Reaktive Аркадий Иванов из Badoo выступит с докладом на Kotlin/Everywhere Minsk 7 сентября и расскажет больше подробностей о библиотеке!
Что может быть приятнее чем прочитать предыдущий пост и увидеть что Kotlin в мире становится все больше, а Kotlin Multiplatform Project используются в реальных проектах все активнее?
Я узнал 5 минут назад что может - получить подтверждение того, что основной контрибьютор в Reaktive Аркадий Иванов из Badoo выступит с докладом на Kotlin/Everywhere Minsk 7 сентября и расскажет больше подробностей о библиотеке!