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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Архитектура #Coroutines #Reaktive

MVI Architecture with Kotlin Flows and Channels

Разбор построения архитектуры Model — View — Intent (MVI) на основе Coroutines. В статье разбирается:
👉 Основы MVI
👉 Разница StateFlow, SharedFlow, Channel
👉 Пример реализации простого приложения
Какой голосовой помощник вы используете на регулярной основе? (МНОЖЕСТВЕННЫЙ ВЫБОР)
Final Results
22%
Google Assistant
5%
Apple Siri
1%
Amazon Alexa
12%
Яндекс Алиса
1%
Решения от Сбер
66%
Не пользуюсь
1%
Другой ассистент
4%
Не участвую в опросе
#Dagger #Hilt

Hilt: custom entry points

Руководство по созданию собственных Entry Point в Dagger Hilt. Полезно если вам нужно отвязать компоненты от жизненного цикла компонентов Android: Application, Activity, Fragment, View, Service, BroadcastReceiver
Всем привет. Решил обратиться к сообществу за помощью. Порой возникают задачки, на которые тратится много времени. Буду очень признателен, если кто-то отзовётся, чтобы помочь в
👉 Делать таймкоды для выпусков подкаста
👉 Разработка сайта
👉 Бот в Telegram
👉 Публикация анонсов в соц. сетях

Со своей стороны я могу предложить свою помощь в рамках моих компетенций. Пишите Кириллу @krlrozov, чтобы откликнуться.
#AndroidBroadcast #Multiplatfrom #Livecoding

🔴 Превращаем Android приложение в Kotlin Multiplatform
Понедельник, 25 января, 10:00 GMT+3

В прямом эфире переведём приложение из Android в Kotlin Multiplatform для поддержки Android и iOS одновременно.

Эксперт - Анна Жаркова, Mobile Lead Developer/Usetech
Разработчик с опытом более 7, пишет нативно под IOS (Swift/Objective-C), Android (Kotlin/Java) и кросс-платформу. Интересуется Kotlin Multiplatform. Помимо этого преподаёт в Otus на курсах по iOS. В свободное время изучает немецкий и китайский языки, увлекается живописью
Peeking behind the forbidden door of Reflection

Reflection API в Java/Kotlin может разрушить ваш код, так как сможет вызвать ваше приватное API. Будьте осторожны
#Jetpack #Compose

Helping You Understand The Syntax of Jetpack Compose

Приход Jetpack Compose не только поменяет то как мы пишем UI, но и подход в коде. Вместо ООП подхода мы будем использовать функциональную композицию.
#Hilt #ViewModel

Using Hilt’s ViewModelComponent

В Dagger 2.31 появился ViewModelComponent и соответствующий Scope. Для того чтобы переиспользовать сущности за пределами жизни Activity у нас существует теперь 2 scope: @ViewModelScoped и @ActivityRetainedScoped
#Тестирование

Вышел Robolectric 4.5 в котором появилась поддержка Android API 30 (Android 11), множество исправлений багов и улучшений
#Fragment #Navigation

Началась работа над поддержкой множества back стеков в Fragment. Подробности на официальном issue tracker. Ждать нововведение раньше версии AndroidX Fragment 1.4.0. Также поддержку множества back стеков получит и Navigation Component 2.4.0
Вам нужна комплектный блок для проводной зарядки со смартфоном/планшетом?
Anonymous Poll
46%
Да
15%
Пусть будет, про запас
21%
Нет
17%
Не участвую в опросе
#Navigation #Архитектура #Модуляризация

Разделяй и властвуй: Navigation Component в многомодульном проекте

В статье описывается подход к организации работы с Navigation Component в многомодульном проекте с множеством feature модулей.
#Coroutines

How runBlocking May Surprise You

runBlocking - самый простой Coroutine Builder, который не заставляет использовать CoroutineScope и подружить синхронный мир с асинхронным.

Вызов кода runBlocking(Dispatchers.Main) { ... } на UI потоке в Android приведет к deadlock вашего приложения. И это полностью ожидаемое поведение. В статье автор делает подробный разбор как происходит работа этого кода.
#Performance #Benchmark

Don’t Run Benchmarks on a Debuggable Android App

Объяснение почему делать тесты производительность на dev сборка делать не стоит и как режим работы debuggable приложений отличается от релизных приложений. Результаты тестов вы можете увидеть в таблице.

Кстати, разбор от автора статьи "Android App Startup Tip: Don’t Use Kotlin Coroutines", который понял свою ошибку
#Chrome #CustomTab

Better content sharing with Custom Tabs

Custom Tabs позволяют отображать в приложении веб контент с синхронизацией Cookies, паролей, истории поиска из браузера. Причём открытие ссылки в Custom Tab происходит быстрее чем в отдельном приложении.

В Chrome 88 Custiom Tab теперь по умолчанию будет добавлять действие шаринга («поделиться»). Чтобы изменить это поведение вам надо использовать библиотеку androidx.browser 1.3.0 и новое API Share State.
#Kotlin #stdlib

Kotlin Standard Library Safari. Strings (7 минут)

Новый подкаст с обзором различных API из стандартной Kotlin библиотеки. В первом эпизоде рассматривается API класс String
#UI #UX #Дизайн

Сага о мобильном дизайне, часть 2

В статье разбираются, хоть и известные для любого, кто близок к UI/UX, вещи, но все равно полезные, чтобы напомнить еще раз:
👉 UI – это про внешний вид (цвета, шрифты, тени и т.д.). UX – это про опыт пользователя (как пользователь взаимодействует с приложением, насколько успешно и удобно выполняет целевой сценарий)
👉 Тап-зона должна быть достаточной для любых пальцев
👉 Важные кнопки, элементы управления нужно располагать в области досягаемости большого пальца. Много людей управляют смартфоном большим пальцем и держат смартфон одной рукой
👉 Внимание пользователей очень ограничено. Нужно фокусировать пользователя на главном, убирать информационный шум.
👉 У пользователей разных платформ есть разные привычки. Важно соблюдать гайдлайны плаформ.
Непривычный паттерн вызывает растерянность.
👉 Выработанные UI/UX практики чаще надежнее новых инновационных подходов
#AndroidBroadcast #Новости

Новостной дайджест: Fragment Multi Backstack // Gradle 6.8 // Kotlin Roadmap

Первый выпуск новостей вам понравился и поэтому рубрика теперь становится регулярной. В новом выпуске вас ждут самые важные новости, интереснейшие статьи и события мобильной индустрии.
#ConstraintLayout #Анимация

MAD Skills - MotionLayout

Серия видео по анимациям с использованием MotionLayout (ConstraintLayout 2.0). Уже вышло 2 части:
👉 Анимация на основе ConstraintSet
👉 Анимация на основе Keyframe
#GooglePlay #Location #Security

New guidelines for accessing background location in Android

В этом году в Google Play вступают ограничения для приложений, которые используют доступ к местоположению пользователя в фоновом режиме работы приложения. Чтобы оставить эту функцию у себя, вам надо подать специальную форму.

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

Официальная документация