Think before using BuildConfig.DEBUG
Я уверен, что в большинстве проектах, если не во всех используется константы из
Хорошо это или плохо - вы сможете найти в статье, но уже в название автор спойлерит что не всегда это удачное решение. Суть проста - константа не дает гибкости (
Я уверен, что в большинстве проектах, если не во всех используется константы из
BuildConfig
, а в особенности BuildConfig.DEBUG
. Хорошо это или плохо - вы сможете найти в статье, но уже в название автор спойлерит что не всегда это удачное решение. Суть проста - константа не дает гибкости (
Medium
Think before using BuildConfig.DEBUG
Last week I was working in a feature that syncs data between phone and backend. That sync mechanism is triggered under certain conditions…
#Material #Animation
Implementing Motion
Google показала новую утилиту, которая позволит упростить коммуникацию между разработчиками и дизайнерами для создания прекрасных анимаций - Direct.
Implementing Motion
Google показала новую утилиту, которая позволит упростить коммуникацию между разработчиками и дизайнерами для создания прекрасных анимаций - Direct.
Medium
Implementing Motion
An introduction to Material Design’s new motion system and transition patterns
#Meetup #НижнийНовгород
Материалы с нижегородского Android-митапа компании Avito
Стали доступны записи докладов с Android совместного митапа Avito и GDG Gorky в Нижнем Новгороде, который прошёл 29 февраля.
Я рассказал о том, почему стоит выбрать Kotlin Coroutine для выполнения асинхронных задач в Android.
Жители Львова не смотрите, я еду к вам! В конце марта я выступлю на митапе Kotlin User Group, расскажу этот доклад с добавлением нового контента. Анонс совсем скоро
Материалы с нижегородского Android-митапа компании Avito
Стали доступны записи докладов с Android совместного митапа Avito и GDG Gorky в Нижнем Новгороде, который прошёл 29 февраля.
Я рассказал о том, почему стоит выбрать Kotlin Coroutine для выполнения асинхронных задач в Android.
Жители Львова не смотрите, я еду к вам! В конце марта я выступлю на митапе Kotlin User Group, расскажу этот доклад с добавлением нового контента. Анонс совсем скоро
Хабр
Материалы с нижегородского Android-митапа. MotionLayout, Kotlin Coroutines, CI/CD инфраструктура и дизайн-системы
Всем привет! В прошлую субботу, 29 февраля, прошёл наш первый митап для Android-разработчиков в Нижнем Новгороде. Спикеры выступали с докладами о создании красивых...
#Conference #Минск #Flutter
FlutterConf.by - первая конференция по Flutter в Беларуси
18 апреля 2020 (сб) пройдет первая конференция по Flutter в Беларуси. Мы хотим собрать всех Flutter энтузиастов и компании, которые хотят развивать это направление или уже сделали это и ищут специалистов. В программе вас ждут доклады, воркшоп и возможность пообщаться с коллегами.
Уже среди заявленных спикеров (список пополнится):
👉 Remi Rousselet, автор пакетов Provider and Flutter Hooks
👉 Геннадий Евстратов, Lead первого проекта на Flutter в Яндекс
👉 Александр Денисов, возглавляет Flutter компетенцию в EPAM
До 20 марта есть шанс купить билеты по сниженной цене - 20 рублей!
На тему воркшопа вы можете повлиять - пишите свои пожелания в чате конференции и чтобы вам в целом хотелось увидеть на конференции.
Организаторами выступают Android Broadcast и SUP.
FlutterConf.by - первая конференция по Flutter в Беларуси
18 апреля 2020 (сб) пройдет первая конференция по Flutter в Беларуси. Мы хотим собрать всех Flutter энтузиастов и компании, которые хотят развивать это направление или уже сделали это и ищут специалистов. В программе вас ждут доклады, воркшоп и возможность пообщаться с коллегами.
Уже среди заявленных спикеров (список пополнится):
👉 Remi Rousselet, автор пакетов Provider and Flutter Hooks
👉 Геннадий Евстратов, Lead первого проекта на Flutter в Яндекс
👉 Александр Денисов, возглавляет Flutter компетенцию в EPAM
До 20 марта есть шанс купить билеты по сниженной цене - 20 рублей!
На тему воркшопа вы можете повлиять - пишите свои пожелания в чате конференции и чтобы вам в целом хотелось увидеть на конференции.
Организаторами выступают Android Broadcast и SUP.
Принимайте участие в розыгрыше билетов на FlutterConf.by.
Условия участия простые:
1️⃣ Подписаться на Telegram канал
2️⃣ Подписаться на YouTube канал Android Broadcast (тут появятся записи докладов)
3️⃣ Заполнить анкету участника розыгрыша
Розыгрыш состоится 12 марта в 21.00
Условия участия простые:
1️⃣ Подписаться на Telegram канал
2️⃣ Подписаться на YouTube канал Android Broadcast (тут появятся записи докладов)
3️⃣ Заполнить анкету участника розыгрыша
Розыгрыш состоится 12 марта в 21.00
#ProGuard #R8 #Navigation
How to generate Proguard/R8 rules for Navigation component arguments
Navigation Architecture Component не имеет поддержки работы с ProGuard/R8, точнее параметры, которые вы указываете в XML графе не добавляет в исключения типы, которые указываются как аргументы.
Исправляется это добавлением всех этих типов в
How to generate Proguard/R8 rules for Navigation component arguments
Navigation Architecture Component не имеет поддержки работы с ProGuard/R8, точнее параметры, которые вы указываете в XML графе не добавляет в исключения типы, которые указываются как аргументы.
Исправляется это добавлением всех этих типов в
proguard-rules.pro
вашего проекта, но будет правильнее автоматизировать этот процесс, что и приводится в статье.#OkHttp #Networking
OkHttp Interceptor - Making the most of it
Популярная библиотека для работы по сети по протоколу HTTP OkHttp используется во всех проектах на Android, где есть выход в сеть.
Библиотека имеет одну удобную возможность - перехват любого запроса (Intercepting). С помощью нее можно логировать любой запрос (например, OkHttp Logging Interceptor).
В статье показывается пример как вы сможете использовать мощь Interceptor в своем коде.
OkHttp Interceptor - Making the most of it
Популярная библиотека для работы по сети по протоколу HTTP OkHttp используется во всех проектах на Android, где есть выход в сеть.
Библиотека имеет одну удобную возможность - перехват любого запроса (Intercepting). С помощью нее можно логировать любой запрос (например, OkHttp Logging Interceptor).
В статье показывается пример как вы сможете использовать мощь Interceptor в своем коде.
Outcome School | Get High Paying Tech Job
OkHttp Interceptor
In this blog, we will learn how to work with the OkHttp Interceptors.
#GooglePlay #DynamicFeature #DynamicDelivery
Dynamic Delivery в многомодульных проектах (часть 2)
Продолжение статей о возможности загрузки функционала вашего приложения динамически на основе Dynamic Delivery.
В новой части статьи рассказывает об:
👉 организации архитектуры в приложения с учетом Dynamic Delivery
👉 как настроить проект в Gradle
👉 как тестировать приложения с таким функционалом
Первая часть статьи здесь
Dynamic Delivery в многомодульных проектах (часть 2)
Продолжение статей о возможности загрузки функционала вашего приложения динамически на основе Dynamic Delivery.
В новой части статьи рассказывает об:
👉 организации архитектуры в приложения с учетом Dynamic Delivery
👉 как настроить проект в Gradle
👉 как тестировать приложения с таким функционалом
Первая часть статьи здесь
Хабр
Dynamic Delivery в многомодульных проектах (часть 2)
Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Я уже рассказывал, что такое Dynam...
#UI #Animation
TransformationLayout
Хотите быстро превратить кнопку в карточку с анимацией? Может даже красиво открывать элемент списка в целый экран?
Все это вы сможете сделать с помощью библиотеки TransformationLayout, которая упростит работу с Transition и Activity Transition.
TransformationLayout
Хотите быстро превратить кнопку в карточку с анимацией? Может даже красиво открывать элемент списка в целый экран?
Все это вы сможете сделать с помощью библиотеки TransformationLayout, которая упростит работу с Transition и Activity Transition.
GitHub
GitHub - skydoves/TransformationLayout: 🌠 Transform between two Views, Activities, and Fragments, or a View to a Fragment with…
🌠 Transform between two Views, Activities, and Fragments, or a View to a Fragment with container transform animations for Android. - skydoves/TransformationLayout
#UI
CompoundTextView
Библиотека упрощает работу с compound drawable в TextView, позволяя задавать множество параметров:
👉 положение
👉 размер
👉 отступ
👉 tint
Также вы можете задать ClickListener и проделать другие трюки
CompoundTextView
Библиотека упрощает работу с compound drawable в TextView, позволяя задавать множество параметров:
👉 положение
👉 размер
👉 отступ
👉 tint
Также вы можете задать ClickListener и проделать другие трюки
GitHub
GitHub - imbeerus/compound-text-view: Change gravity of Image Drawable in TextView 🌌
Change gravity of Image Drawable in TextView 🌌. Contribute to imbeerus/compound-text-view development by creating an account on GitHub.
Как вы работаете с уведомлениями в ваших приложениях?
Final Results
10%
Нет уведомлений
15%
Управляются через Firebase, в приложении нету кода по обработки
54%
Показываем уведомления из приложения
6%
Другой вариант
16%
Смотрю результаты
#Gradle #AndroidStudio
deep-clean
Kotlin скрипт, который удаляет все кэши сборки из Gradle/Android проектов. Полезно когда у вас возникают проблема в Gradle или IDE.
deep-clean
Kotlin скрипт, который удаляет все кэши сборки из Gradle/Android проектов. Полезно когда у вас возникают проблема в Gradle или IDE.
#AndroidBroadcast #Patron
Хочу выразить благодарность новым патроном проекта:
👉 Дмитрий Воронин
👉 Алексей Петров
👉 Stanislav Protskiy
Хочу выразить благодарность новым патроном проекта:
👉 Дмитрий Воронин
👉 Алексей Петров
👉 Stanislav Protskiy
#DependencyInjection #Video #AndroidBroadcast
Почему Koin?
Android разработка строится вокруг определенных рекомендаций-правил и одним из таких является использование Dagger 2. Для себя я решил, что так нельзя и для Kotlin мы заслуживаем лучшего решения.
В видео я осветил почему перешел на Koin, свои впечатления и чего я боюсь в будущем от использования этой библиотеки для DI.
Хотите больше видео и качественнее? Поддержите проект на Boosty
Почему Koin?
Android разработка строится вокруг определенных рекомендаций-правил и одним из таких является использование Dagger 2. Для себя я решил, что так нельзя и для Kotlin мы заслуживаем лучшего решения.
В видео я осветил почему перешел на Koin, свои впечатления и чего я боюсь в будущем от использования этой библиотеки для DI.
Хотите больше видео и качественнее? Поддержите проект на Boosty
#GC #Android
Collecting the Garbage: A brief history of GC over Android versions
Garbage Collector (сборщик мусора) в Android отличается от используемого в стандартной JVM. В статье разбирается разные версии GC в Android и принципы его работы.
Collecting the Garbage: A brief history of GC over Android versions
Garbage Collector (сборщик мусора) в Android отличается от используемого в стандартной JVM. В статье разбирается разные версии GC в Android и принципы его работы.
Medium
Collecting the Garbage: A brief history of GC over Android versions
When I come to the Android world, about 2 years ago, I didn’t know anything about how the things were done. I came from a Java world…
#Conference #Иннополис
Конференция "Мир. Труд. Мобайл"
30 - 31 мая в Иннополисе пройдет конференция для мобильных разработчиков — Мир. Труд. Мобайл📲
В самом молодом городе соберутся мобильные разработчик и UX/UI дизайнеры, чтобы обсудить архитектуру, технологии, фреймворки, инструменты и дизайн в современных приложениях под Android/iOS
Кроме 2 дней и множества треков с докладами, вас ждет вечеринка с шашлыками, песни у костра 🔥под гитару, наблюдение за звёздным небом и прочая «дачная» романтика. А для заядлых туристов есть вариант размещения с палаткой 😏
Купить билет со скидкой в 10% по промокоду Android_broadcast
Также вы можете принять участие в розыгрыше билета на конференцию от Android Broadcast. Для этого вам надо заполнить анкету.
Конференция "Мир. Труд. Мобайл"
30 - 31 мая в Иннополисе пройдет конференция для мобильных разработчиков — Мир. Труд. Мобайл📲
В самом молодом городе соберутся мобильные разработчик и UX/UI дизайнеры, чтобы обсудить архитектуру, технологии, фреймворки, инструменты и дизайн в современных приложениях под Android/iOS
Кроме 2 дней и множества треков с докладами, вас ждет вечеринка с шашлыками, песни у костра 🔥под гитару, наблюдение за звёздным небом и прочая «дачная» романтика. А для заядлых туристов есть вариант размещения с палаткой 😏
Купить билет со скидкой в 10% по промокоду Android_broadcast
Также вы можете принять участие в розыгрыше билета на конференцию от Android Broadcast. Для этого вам надо заполнить анкету.
#Coroutines #Flow
flow-preferences
Версия rx-preferences на основе Kotlin Flow. Добавляет возможность работать с Android SharedPreferences на основе Kotlin Coroutines
flow-preferences
Версия rx-preferences на основе Kotlin Flow. Добавляет возможность работать с Android SharedPreferences на основе Kotlin Coroutines
GitHub
GitHub - tfcporciuncula/flow-preferences: Kotlin Flow version of rx-preferences -- Coroutines support for Android SharedPreferences
Kotlin Flow version of rx-preferences -- Coroutines support for Android SharedPreferences - tfcporciuncula/flow-preferences
В какие магазины приложений выкладываете вы свои приложения?
(можно выбрать несколько вариантов)
(можно выбрать несколько вариантов)
Final Results
74%
Google Play
9%
Huawei App Gallery
3%
Amazon Appstore
1%
Aptoide
3%
Samsung Galaxy Apps
2%
F-Droid
2%
Другие магазины
10%
Распостраняю вне магазинов
11%
Нет опубликованных приложений
17%
Смотрю ответы
#AndroidStudio #Bug #AndroidLint
Android Lint стал тормозить в AGP 4.0-beta01
Столкнулись с багами в Android Gradle Plugin 4.0 beta 1 - Android Lint стали работать заметно медленнее. Скорость упала в разы. Особенно если у вас стоит флаг
Будьте осторожнее с миграцией, если активно используете Android Lint.
Android Lint стал тормозить в AGP 4.0-beta01
Столкнулись с багами в Android Gradle Plugin 4.0 beta 1 - Android Lint стали работать заметно медленнее. Скорость упала в разы. Особенно если у вас стоит флаг
LintOptions.isCheckDependencies = true
.Будьте осторожнее с миграцией, если активно используете Android Lint.