#HMS #Location
Встраиваем геолокацию от Huawei в Android приложение
Руководство для всех кто интегрируется поддержку HMS и готовится к публикации в Huawei App Gallery. В новой части серии рассказывается об интеграции работы с местоположением
Встраиваем геолокацию от Huawei в Android приложение
Руководство для всех кто интегрируется поддержку HMS и готовится к публикации в Huawei App Gallery. В новой части серии рассказывается об интеграции работы с местоположением
Хабр
Встраиваем геолокацию от Huawei в Android приложение
В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. И использовали анали...
#AndroidAuto
Introducing the Android for Cars App Library
Google открывает возможность создавать сторонние приложения для Android Auto. Библиотека для разработки вышла в открытую beta. Разрабатывать приложения можно в 3 категориях: навигация, парковки и приложения для зарядки электромобилей.
Introducing the Android for Cars App Library
Google открывает возможность создавать сторонние приложения для Android Auto. Библиотека для разработки вышла в открытую beta. Разрабатывать приложения можно в 3 категориях: навигация, парковки и приложения для зарядки электромобилей.
Android Developers Blog
Introducing the Android for Cars App Library
News and insights on the Android platform, developer tools, and events.
#Conference #Online
GDG DevFest Ukraine 2020 состоится уже в это воскресенье, 18 октября.
Будут выступать спикеры с Google, Microsoft, Atlassian и других компаний. Вас ждут актуальные темы по Web, Cloud, Android, Kotlin и Flutter. Также будет много развлечений 🔥
GDG DevFest Ukraine 2020 состоится уже в это воскресенье, 18 октября.
Будут выступать спикеры с Google, Microsoft, Atlassian и других компаний. Вас ждут актуальные темы по Web, Cloud, Android, Kotlin и Flutter. Также будет много развлечений 🔥
#Koin #DependencyInjection
What’s next with Koin? — 2.2 & 3.0 releases
Koin - одно из популярных решений для DI для проектов на Kotlin. По сравнению с Dagger он убрал долгую компиляцию, упростил объявление зависимостей, но потерял проверку графа во время компиляции.
Совсем скоро выйдет релиз 2.2 этой библиотеки в которой будет:
👉
👉 Поддержка
👉 Поддержка Jetpack Compose
👉 Более простой способ описания Android Scope-ов
👉 Проведены работы под капотом: создать объект Koin Context становится проще
👉 Возможность положить параметр, который inject-ится в зависимость, в граф. По аналогии с
👉 Поддержка JUnit 5
В Koin 3.0 нас ждет поддержка Kotlin Multiplatform
What’s next with Koin? — 2.2 & 3.0 releases
Koin - одно из популярных решений для DI для проектов на Kotlin. По сравнению с Dagger он убрал долгую компиляцию, упростил объявление зависимостей, но потерял проверку графа во время компиляции.
Совсем скоро выйдет релиз 2.2 этой библиотеки в которой будет:
👉
stateViewModel()
и viewModel()
буду заменены на viewModel()
👉 Поддержка
WorkManager
👉 Поддержка Jetpack Compose
👉 Более простой способ описания Android Scope-ов
👉 Проведены работы под капотом: создать объект Koin Context становится проще
👉 Возможность положить параметр, который inject-ится в зависимость, в граф. По аналогии с
StateHandleBundle
👉 Поддержка JUnit 5
В Koin 3.0 нас ждет поддержка Kotlin Multiplatform
Medium
What’s next with Koin? — 2.2 & 3.0 releases
Hi Koin users 👋, Koin 2.2.0 is almost there. This new milestone brings better stability, some API rework and also, helps you inject Work…
#Architecture #JetPack
Navigation Component: An Overview
Повторение - мать учения. Нам вновь рассказывают о возможностях этого компонента и как он может решить навигацию в вашем проекте. Это неправда, но тем кто еще не знает - рекомендую узнать базис
Navigation Component: An Overview
Повторение - мать учения. Нам вновь рассказывают о возможностях этого компонента и как он может решить навигацию в вашем проекте. Это неправда, но тем кто еще не знает - рекомендую узнать базис
Medium
Navigation Component: An Overview
In which I introduce some fundamental concepts of the Navigation component tool and APIs
#Architecture #JetPack
Navigating to Dialog Destinations
Развитие темы в котором говорят уже о навигации в диалоги
Navigating to Dialog Destinations
Развитие темы в котором говорят уже о навигации в диалоги
Medium
Navigating to Dialog Destinations
Navigation component isn’t limited to destinations inside of NavHostFragment
#JetPack #Navigation
AndroidX Navigation: Building on the Wrong Abstraction
JetPack Navigation получилась не самой удачной библиотекой, так как не решает эффективно задачи навигации в проектах среднего и большого объема. Особенно где есть многомодульность.
В статье разбирается альтернативный взгляд на навигацию в коде с помощью аннотаций
AndroidX Navigation: Building on the Wrong Abstraction
JetPack Navigation получилась не самой удачной библиотекой, так как не решает эффективно задачи навигации в проектах среднего и большого объема. Особенно где есть многомодульность.
В статье разбирается альтернативный взгляд на навигацию в коде с помощью аннотаций
Medium
AndroidX Navigation: Building on the Wrong Abstraction
I recently read an article by Jesse Wilson titled “Building on the Wrong Abstraction”. If you haven’t read the article already, I would…
Избегайте внедрения внешних библиотек в свой проект
Все мы используем библиотеки с целью чтобы сократить время на разработку, переложив усилия на поддержку их на других разработчиков. Всегда ли оправдан такой подход? Могут ли быть в нем проблемы?
В статье автор рассматривает потенциальные проблемы интеграции сторонних библиотек:
👉 Негативный эффект на размер приложения
👉 Усложнения проекта (автор приводит в пример EventBus)
👉 Сложность погружения в библиотеку для существующих и новых разработчиков в компании
👉 Эффект на скорость сборки
👉 Баги, которые не дают использовать либу, и которые не исправляются
👉 Уязвимости в библиотеках, которые позволят злоумышленникам воспользоваться ими и получить доступ к данным
👉 Доверие разработчику и гарантии поддержки библиотеки
👉 Библиотека проникает во все слои кода (RxJava)
👉 Накладываемый ограничения на код из-за библиотеки
В конце автор добавляет хороший список вопрос, для того чтобы проанализировать стоит ли добавить библиотеку в ваш проект
Все мы используем библиотеки с целью чтобы сократить время на разработку, переложив усилия на поддержку их на других разработчиков. Всегда ли оправдан такой подход? Могут ли быть в нем проблемы?
В статье автор рассматривает потенциальные проблемы интеграции сторонних библиотек:
👉 Негативный эффект на размер приложения
👉 Усложнения проекта (автор приводит в пример EventBus)
👉 Сложность погружения в библиотеку для существующих и новых разработчиков в компании
👉 Эффект на скорость сборки
👉 Баги, которые не дают использовать либу, и которые не исправляются
👉 Уязвимости в библиотеках, которые позволят злоумышленникам воспользоваться ими и получить доступ к данным
👉 Доверие разработчику и гарантии поддержки библиотеки
👉 Библиотека проникает во все слои кода (RxJava)
👉 Накладываемый ограничения на код из-за библиотеки
В конце автор добавляет хороший список вопрос, для того чтобы проанализировать стоит ли добавить библиотеку в ваш проект
Хабр
Избегайте внедрения внешних библиотек в свой проект
Часто можно услышать фразу: «Зачем писать свой велосипед? Возьми готовую либу и пользуйся! За тебя уже все написали». Особенно часто подобные выражения слышат на...
#GooglePlay
Developer tips and guides: Common policy violations and how you can avoid them
Насколько хорошо вы знаете политики Google Play? Я ими никогда не запаривался, но те кто сталкивался мог запомнить надолго. Разработчики Google Play решили поделиться нарушениями основных политик:
👉 Ссылки на другие приложения в Google Play из
👉 Наличие слов в описании приложения, которые не относятся к вашему приложению, но добавляются туда ради улучшения поисковой выдачи
👉 Неподдерживаемые приложения в аккаунте разработчики, которые лучше отключить
👉 Приложения, которые содержат только WebView, предназначенные для перенаправления трафика на сайт запрещены к публикации
Подробно узнать обо всех политиках можно в Play Developer Policy Center, также рекомендуется пройти специальный тренинг Google Play Academy
Developer tips and guides: Common policy violations and how you can avoid them
Насколько хорошо вы знаете политики Google Play? Я ими никогда не запаривался, но те кто сталкивался мог запомнить надолго. Разработчики Google Play решили поделиться нарушениями основных политик:
👉 Ссылки на другие приложения в Google Play из
👉 Наличие слов в описании приложения, которые не относятся к вашему приложению, но добавляются туда ради улучшения поисковой выдачи
👉 Неподдерживаемые приложения в аккаунте разработчики, которые лучше отключить
👉 Приложения, которые содержат только WebView, предназначенные для перенаправления трафика на сайт запрещены к публикации
Подробно узнать обо всех политиках можно в Play Developer Policy Center, также рекомендуется пройти специальный тренинг Google Play Academy
Android Developers Blog
Developer tips and guides: Common policy violations and how you can avoid them
News and insights on the Android platform, developer tools, and events.
Что используете в Unit тестах больше?
Anonymous Poll
41%
Mock
5%
Stub
9%
В чем разница?
36%
Не пишу тесты
10%
Не участвую в опросе
#Kotlin
Слышали о Kotlin Android Extensions? На оф сайте уже не найти информации о них, а в Kotlin 1.4.20 этот плагина будет помечен как deprecated.
Рекомендуют мигрировать на View Binding. Чтобы было проще использовать его - рекомендую мою библиотеку ViewBindingPropertyDelegate
Слышали о Kotlin Android Extensions? На оф сайте уже не найти информации о них, а в Kotlin 1.4.20 этот плагина будет помечен как deprecated.
Рекомендуют мигрировать на View Binding. Чтобы было проще использовать его - рекомендую мою библиотеку ViewBindingPropertyDelegate
#Testing
Паттерн PageObject в Kotlin для UI-тестирования Android
PageObject - это подход, который давно использовался в тестирование за пределами Android, но в платформе от Google стал адаптироваться не так давно.
В статье рассматривается этот подход, его плюсы и как его реализовать
Паттерн PageObject в Kotlin для UI-тестирования Android
PageObject - это подход, который давно использовался в тестирование за пределами Android, но в платформе от Google стал адаптироваться не так давно.
В статье рассматривается этот подход, его плюсы и как его реализовать
Хабр
Паттерн PageObject в Kotlin для UI-тестирования Android
Это перевод статьи ведущего Android & iOS разработчика Yahoo (Verizon Media) Брама Йе. Он рассказывает о внедрении паттерна PageObject в свои инструментальные тесты, который делает их более...
#Architecture
Создание SDK под Android в стиле Single-Activity
Описание подхода разработки SDK в котором отказываются от Activity как точки входа в SDK и смещают точки входа в Fragment. В статье освещаются плюсы и минусы такого подхода, как использовать Dagger в таком SDK и др. особенности
Создание SDK под Android в стиле Single-Activity
Описание подхода разработки SDK в котором отказываются от Activity как точки входа в SDK и смещают точки входа в Fragment. В статье освещаются плюсы и минусы такого подхода, как использовать Dagger в таком SDK и др. особенности
Хабр
Создание SDK под Android в стиле Single-Activity
Single activity подходом при создании конечного приложения под Android никого не удивишь. Но мы пошли дальше и использовали No-Activity при разработке SDK. Сейча...
#Image #Bitmap
Большие картинки? Deal with it
Android-разработчикам редко приходится решать проблему оптимизации изображений внутри приложений, как правило, всё заканчивается заменой PNG на векторные изображения. Но в случае когда вам всё же необходимо грузить большие изображения вас могут ждать подводные камни.
Автор статьи рассказывает как решалась подобная проблема с помощью BitmapRegionDecoder и какие нюансы могут ждать при использовании этого инструмента из стандартной библиотеки.
Большие картинки? Deal with it
Android-разработчикам редко приходится решать проблему оптимизации изображений внутри приложений, как правило, всё заканчивается заменой PNG на векторные изображения. Но в случае когда вам всё же необходимо грузить большие изображения вас могут ждать подводные камни.
Автор статьи рассказывает как решалась подобная проблема с помощью BitmapRegionDecoder и какие нюансы могут ждать при использовании этого инструмента из стандартной библиотеки.
Хабр
Большие картинки? Deal with it
Привет, Хабр! Приложение iFunny создано, чтобы показывать контент, который генерируют пользователи. Это могут быть видео, гифки и картинки. Очень большие карти...
#Navigation #Arhitecture
Вышли релизы Cicerone 6.0 и 6.1
В новой версии популярной библиотеки для навигации в Android приложение произошел ряд важных изменений:
👉 Переход на Kotlin
👉 Изменен пакет библиотеки (breaking changes)
👉 Возможность выбрать стратегию открытия нового экрана (add или replace)
👉 Добавлена поддержка
👉 Поддержка результатов
👉
Вышли релизы Cicerone 6.0 и 6.1
В новой версии популярной библиотеки для навигации в Android приложение произошел ряд важных изменений:
👉 Переход на Kotlin
👉 Изменен пакет библиотеки (breaking changes)
👉 Возможность выбрать стратегию открытия нового экрана (add или replace)
👉 Добавлена поддержка
FragmentFactory
👉 Поддержка результатов
👉
screenKey
используется как тэг Fragment
GitHub
Release Version 6.0 · terrakok/Cicerone
Fully rewritten on Kotlin! (breaking changes: a lot of external API was changed for more smoothy experience in Kotlin)
root package changed to com.github.terrakok for avoid migration problems
Added...
root package changed to com.github.terrakok for avoid migration problems
Added...
#course #online #free
26 октября стартует базовый курс Android Academy по Android-разработке (Android Fundamentals)
Что за курс?
Абсолютно бесплатный курс по разработке приложений под платформу Android. Формат: 13 воркшопов по 2 часа.
Для кого?
Для тех кто хочет стать мобильным разработчиком, либо для уже опытных специалистов, которые ищут чего-то новенького!
⚠️ Требования к участникам: знания Java/Kotlin или любого другого языка программирования
Для регистрации - пишите боту @ohMyEventBot в Телеграме о том, что вы хотите к нам присоединиться. Переходим по этой ссылке и следуйте инструкциям. Как получите сообщение об успехе - вы в списках! .
26 октября стартует базовый курс Android Academy по Android-разработке (Android Fundamentals)
Что за курс?
Абсолютно бесплатный курс по разработке приложений под платформу Android. Формат: 13 воркшопов по 2 часа.
Для кого?
Для тех кто хочет стать мобильным разработчиком, либо для уже опытных специалистов, которые ищут чего-то новенького!
⚠️ Требования к участникам: знания Java/Kotlin или любого другого языка программирования
Для регистрации - пишите боту @ohMyEventBot в Телеграме о том, что вы хотите к нам присоединиться. Переходим по этой ссылке и следуйте инструкциям. Как получите сообщение об успехе - вы в списках! .
#course #online #free
22 октября стартует продвинутый курс Android Academy Advanced, который рассчитан на практикующих разработчиков.
Первая тема — Views & Graphics! Расскажут, как в Android работают View. На примерах покажут, как писать свои вьюхи и
22 октября стартует продвинутый курс Android Academy Advanced, который рассчитан на практикующих разработчиков.
Первая тема — Views & Graphics! Расскажут, как в Android работают View. На примерах покажут, как писать свои вьюхи и
ViewGroup
, Drawable
и ItemDecoration
.#Tooling #Gradle
Change Tracker Plugin
Gradle плагин, который позволит находить модули, в которых произошли изменения и все модули, которые зависят от него.
Будет полезно чтобы уменьшить объем работы на CI, выполняет проверки запуская тесты, только в заданных модулях.
Плагин из коробки создаст Gradle таски
Единственное требование - использование Git
Change Tracker Plugin
Gradle плагин, который позволит находить модули, в которых произошли изменения и все модули, которые зависят от него.
Будет полезно чтобы уменьшить объем работы на CI, выполняет проверки запуская тесты, только в заданных модулях.
Плагин из коробки создаст Gradle таски
testDebugUnitTestChangedModules
и lintChangedModules
, которые запустят соответствующие проверки, только в измененных модуляхЕдинственное требование - использование Git
JAICF – первый фреймворк для разработки разговорных ботов и голосовых навыков на Kotlin
Компания Just AI, российский разработчик технологий разговорного искусственного интеллекта, выложила в открытый доступ JAICF – фреймворк для разработки чатботов и голосовых ассистентов на Kotlin.
Бесплатный фреймворк с готовой диалоговой машиной, интеграциями с NLU-движком, средой исполнения и инструментами аналитики поможет разработчикам быстро создавать диалоговые и голосовые решения любой сложности для умных устройств, мобильных приложений, мессенджеров и с легкостью осваивать перспективный рынок разговорного AI.
Я сам работаю в компании Replika.ai и знаю сколько усилий тратится на такие разработки и как они помогают людям и меняют их опыт работы с мобильными приложения и технологиями, поэтому вы можете уже попробовать реализовать свою идею.
Компания Just AI, российский разработчик технологий разговорного искусственного интеллекта, выложила в открытый доступ JAICF – фреймворк для разработки чатботов и голосовых ассистентов на Kotlin.
Бесплатный фреймворк с готовой диалоговой машиной, интеграциями с NLU-движком, средой исполнения и инструментами аналитики поможет разработчикам быстро создавать диалоговые и голосовые решения любой сложности для умных устройств, мобильных приложений, мессенджеров и с легкостью осваивать перспективный рынок разговорного AI.
Я сам работаю в компании Replika.ai и знаю сколько усилий тратится на такие разработки и как они помогают людям и меняют их опыт работы с мобильными приложения и технологиями, поэтому вы можете уже попробовать реализовать свою идею.
Умные чат-боты и голосовые ассистенты для сложных бизнес-задач
JAICF – первый фреймворк для разработки разговорных ботов и голосовых навыков на Kotlin
#DarkTheme #Android10
Как сократить время реализации тёмной темы с пары месяцев до недели
Интеграция темной темы в существующих приложения - это всегда боль. Мало кто сделал темы и стили в приложении гибкими, чтобы легко адаптировать новые цвета, когда пару лет назад стартанул разработку.
Redmadrobot рассказывают о своих набитых шишках, которыми вы можете воспользоваться, чтобы упростить себе интеграцию темной темы. Рассматриваются вопросы:
👉 Создание UI Kit для Android и iOS
👉 Работа c Zeplin и Figma
👉 Реализация UI Kit
👉 Переиспользование графики
👉 Поддержка Edge-to-Edge
👉 Интеграция темной темы
Труд проделан титанический по описанию такой статьи - он как минимум заслужил, чтобы вы зашли на Хабр и посмотрели ее и поставили палец вверх!
Как сократить время реализации тёмной темы с пары месяцев до недели
Интеграция темной темы в существующих приложения - это всегда боль. Мало кто сделал темы и стили в приложении гибкими, чтобы легко адаптировать новые цвета, когда пару лет назад стартанул разработку.
Redmadrobot рассказывают о своих набитых шишках, которыми вы можете воспользоваться, чтобы упростить себе интеграцию темной темы. Рассматриваются вопросы:
👉 Создание UI Kit для Android и iOS
👉 Работа c Zeplin и Figma
👉 Реализация UI Kit
👉 Переиспользование графики
👉 Поддержка Edge-to-Edge
👉 Интеграция темной темы
Труд проделан титанический по описанию такой статьи - он как минимум заслужил, чтобы вы зашли на Хабр и посмотрели ее и поставили палец вверх!
Хабр
Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели
Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации тёмной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров....