Android Broadcast
14.2K subscribers
3.54K photos
348 videos
11 files
5.92K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#AndroidAuto

Introducing the Android for Cars App Library

Google открывает возможность создавать сторонние приложения для Android Auto. Библиотека для разработки вышла в открытую beta. Разрабатывать приложения можно в 3 категориях: навигация, парковки и приложения для зарядки электромобилей.
#Conference #Online

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 этой библиотеки в которой будет:
👉 stateViewModel() и viewModel() буду заменены на viewModel()
👉 Поддержка WorkManager
👉 Поддержка Jetpack Compose
👉 Более простой способ описания Android Scope-ов
👉 Проведены работы под капотом: создать объект Koin Context становится проще
👉 Возможность положить параметр, который inject-ится в зависимость, в граф. По аналогии с StateHandleBundle
👉 Поддержка JUnit 5

В Koin 3.0 нас ждет поддержка Kotlin Multiplatform
#Architecture #JetPack

Navigation Component: An Overview

Повторение - мать учения. Нам вновь рассказывают о возможностях этого компонента и как он может решить навигацию в вашем проекте. Это неправда, но тем кто еще не знает - рекомендую узнать базис
#JetPack #Navigation

AndroidX Navigation: Building on the Wrong Abstraction

JetPack Navigation получилась не самой удачной библиотекой, так как не решает эффективно задачи навигации в проектах среднего и большого объема. Особенно где есть многомодульность.

В статье разбирается альтернативный взгляд на навигацию в коде с помощью аннотаций
Избегайте внедрения внешних библиотек в свой проект

Все мы используем библиотеки с целью чтобы сократить время на разработку, переложив усилия на поддержку их на других разработчиков. Всегда ли оправдан такой подход? Могут ли быть в нем проблемы?

В статье автор рассматривает потенциальные проблемы интеграции сторонних библиотек:
👉 Негативный эффект на размер приложения
👉 Усложнения проекта (автор приводит в пример 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
Что используете в Unit тестах больше?
Anonymous Poll
41%
Mock
5%
Stub
9%
В чем разница?
36%
Не пишу тесты
10%
Не участвую в опросе
#Kotlin

Слышали о Kotlin Android Extensions? На оф сайте уже не найти информации о них, а в Kotlin 1.4.20 этот плагина будет помечен как deprecated.

Рекомендуют мигрировать на View Binding. Чтобы было проще использовать его - рекомендую мою библиотеку ViewBindingPropertyDelegate
#Testing

Паттерн PageObject в Kotlin для UI-тестирования Android

PageObject - это подход, который давно использовался в тестирование за пределами Android, но в платформе от Google стал адаптироваться не так давно.

В статье рассматривается этот подход, его плюсы и как его реализовать
#Architecture

Создание SDK под Android в стиле Single-Activity

Описание подхода разработки SDK в котором отказываются от Activity как точки входа в SDK и смещают точки входа в Fragment. В статье освещаются плюсы и минусы такого подхода, как использовать Dagger в таком SDK и др. особенности
#Image #Bitmap

Большие картинки? Deal with it

Android-разработчикам редко приходится решать проблему оптимизации изображений внутри приложений, как правило, всё заканчивается заменой PNG на векторные изображения. Но в случае когда вам всё же необходимо грузить большие изображения вас могут ждать подводные камни.

Автор статьи рассказывает как решалась подобная проблема с помощью BitmapRegionDecoder и какие нюансы могут ждать при использовании этого инструмента из стандартной библиотеки.
#Navigation #Arhitecture

Вышли релизы Cicerone 6.0 и 6.1

В новой версии популярной библиотеки для навигации в Android приложение произошел ряд важных изменений:
👉 Переход на Kotlin
👉 Изменен пакет библиотеки (breaking changes)
👉 Возможность выбрать стратегию открытия нового экрана (add или replace)
👉 Добавлена поддержка FragmentFactory
👉 Поддержка результатов
👉 screenKey используется как тэг Fragment
#course #online #free

26 октября стартует базовый курс Android Academy по Android-разработке (Android Fundamentals)

Что за курс?
Абсолютно бесплатный курс по разработке приложений под платформу Android. Формат: 13 воркшопов по 2 часа.
 
Для кого?
Для тех кто хочет стать мобильным разработчиком, либо для уже опытных специалистов, которые ищут чего-то новенького! 

⚠️ Требования к участникам: знания Java/Kotlin или любого другого языка программирования

Для регистрации - пишите боту @ohMyEventBot в Телеграме о том, что вы хотите к нам присоединиться. Переходим по этой ссылке и следуйте инструкциям. Как получите сообщение об успехе - вы в списках! .
#course #online #free

22 октября стартует продвинутый курс Android Academy Advanced, который рассчитан на практикующих разработчиков.

Первая тема — Views & Graphics! Расскажут, как в Android работают View. На примерах покажут, как писать свои вьюхи и ViewGroup, Drawable и ItemDecoration.
#Tooling #Gradle

Change Tracker Plugin

Gradle плагин, который позволит находить модули, в которых произошли изменения и все модули, которые зависят от него.

Будет полезно чтобы уменьшить объем работы на CI, выполняет проверки запуская тесты, только в заданных модулях.

Плагин из коробки создаст Gradle таски testDebugUnitTestChangedModules и lintChangedModules, которые запустят соответствующие проверки, только в измененных модулях

Единственное требование - использование Git
JAICF – первый фреймворк для разработки разговорных ботов и голосовых навыков на Kotlin

Компания Just AI, российский разработчик технологий разговорного искусственного интеллекта, выложила в открытый доступ JAICF – фреймворк для разработки чатботов и голосовых ассистентов на Kotlin.

Бесплатный фреймворк с готовой диалоговой машиной, интеграциями с NLU-движком, средой исполнения и инструментами аналитики поможет разработчикам быстро создавать диалоговые и голосовые решения любой сложности для умных устройств, мобильных приложений, мессенджеров и с легкостью осваивать перспективный рынок разговорного AI.

Я сам работаю в компании Replika.ai и знаю сколько усилий тратится на такие разработки и как они помогают людям и меняют их опыт работы с мобильными приложения и технологиями, поэтому вы можете уже попробовать реализовать свою идею.
#DarkTheme #Android10

Как сократить время реализации тёмной темы с пары месяцев до недели

Интеграция темной темы в существующих приложения - это всегда боль. Мало кто сделал темы и стили в приложении гибкими, чтобы легко адаптировать новые цвета, когда пару лет назад стартанул разработку.

Redmadrobot рассказывают о своих набитых шишках, которыми вы можете воспользоваться, чтобы упростить себе интеграцию темной темы. Рассматриваются вопросы:
👉 Создание UI Kit для Android и iOS
👉 Работа c Zeplin и Figma
👉 Реализация UI Kit
👉 Переиспользование графики
👉 Поддержка Edge-to-Edge
👉 Интеграция темной темы

Труд проделан титанический по описанию такой статьи - он как минимум заслужил, чтобы вы зашли на Хабр и посмотрели ее и поставили палец вверх!