#AppBundle #DynamicFeature
Local development and testing with on-demand modules
Возможность загрузки модулей вашего приложения динамически - прекрасная возможность Google Play, но тестировать ее можно было только через публикацию App Bundle через Google Play Console ☹️.
В утилите bundletool 0.13.0 появилась возможность тестировать эту фичу локально. Все подробности в статье
Local development and testing with on-demand modules
Возможность загрузки модулей вашего приложения динамически - прекрасная возможность Google Play, но тестировать ее можно было только через публикацию App Bundle через Google Play Console ☹️.
В утилите bundletool 0.13.0 появилась возможность тестировать эту фичу локально. Все подробности в статье
Medium
Local development and testing with on-demand modules
New releases of Bundletool and the Play Core library made local iteration faster and testing possible with on-demand dynamic feature…
#UI
How to implement skeletons and shimmering effects on layouts and recyclerViews for Android
Вместо того чтобы показывать прогресс посередине экрана или вообще ничего (надеюсь так не делаете) можно рассмотреть модный вариант - skeleton + анимация с эффектом Шиммера.
Это похоже на то что у нас отображается примерный контент, но все данные пустые и заполняются когда загружаются.
В статье разбирается как это реализовать при помощи библиотеки AndroidVeil
How to implement skeletons and shimmering effects on layouts and recyclerViews for Android
Вместо того чтобы показывать прогресс посередине экрана или вообще ничего (надеюсь так не делаете) можно рассмотреть модный вариант - skeleton + анимация с эффектом Шиммера.
Это похоже на то что у нас отображается примерный контент, но все данные пустые и заполняются когда загружаются.
В статье разбирается как это реализовать при помощи библиотеки AndroidVeil
Medium
How to implement veil skeletons and shimmering effects to your layouts and recyclerView on Android.
W e should load much of the data from the network or external/internal storage from devices. It is best if there is no delay to get data…
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%
Смотрю ответы