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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
Количество подписчиков догнало по номеру последний флагманский процессор от Qualcomm
Когда вы покупали свой телефон был ли там флагманский процессор?
Anonymous Poll
32%
Да
38%
Нет
18%
Никогда об этом не задумывался
13%
Я даже не знаю какой там процессор
Сегодня 11 лет с выпуска первого Android устройства HTC G1. Дисплей у телефона был всего 3.2 дюйма, 192 Мб оперативной памяти и простенький процессор Qualcomm MSM7201A 528 MHz ARM 11 + Adreno 130. Сейчас в мире уже 2.5 миллиарда устройств на Android.
#Kotlin #Detekt #SealedClass #CustomRule

Kotlin: when statement, when expression… oh my! or How we created our custom Detekt rule

Kotlin Sealed Classes - это интересная фича языка Kotlin, которая расширяет дает ограничение в иерархии наследования.

Если иерархия ограниченная и все подклассы известны, то это практически enum и значит в when или if..else мы можем перебрать все варианты без добавления else. Но это работает не всегда...

В статье рассматривается как это работает, и как ребята написали собственное правило для Detekt, чтобы не допустить ошибки.
#Crashlytics #Firebase #BestPractices

How to set up Crashlytics alerting to monitor app stability

Firebase Crashlytics - это стандарт де-факто для трекинга крешей в ваших приложениях. В статье создатели сервиса рассказывают про возможности настройки уведомлений о крешах, регрессий стабильности и интеграции уведомлений с разными каналами: Slack, Jira и др.
#Architecture #MVP

Почему вам стоит выкинуть MVP из своих проектов

Выбор архитектуры для проекты всегда сложный вопрос. Часто это мода технологий (Architecture Components + MVVM) или устоявшиеся традиции в команде, компании (MVP, MVI и др.)

В статье сравниваются MVP, MVVM, MVI и как решаются проблемы одной архитектуры в другом и что не так с MVP
#Test #Automation

Kaspresso: фреймворк для автотестирования, который вы ждали

Союз ребят из Лаборатории Касперского, HeadHunter и Авито создали фреймворк для автотестирование, который сделает ваши отношения с автотестами лучше и плодотворнее.

Чем же отличился Kaspresso:
👉 Возможность использования adb, а значит можно настраивать систему для теста
👉 Создание скриншотов
👉 Красивый DSL
👉 Решения flaky тестов из коробки
👉 Легкая интеграция если у вы используете Kakao
👉 Гибкость и легкая настраиваемость

В статье рассказывается зачем был нужен еще один инструмент для написания автотестов, чем не угодил Espresso, Kakao, нужен ли DSL для написания тестов и пр.
#GooglePlay #Publishing

Как быть опубликованным в Google Play в 2019

Рынок мобильных приложений - это огромные деньги (оценка в 120 млрд на 2019 год). Много конкуренции и стать успешным становится все труднее. Также усложнят жизнь GDPR

В статье вы найдете рекомендации по:
👉 Интеграции AdMob и как на это повлиял GDPR
👉 Возрастные ограничения
👉 Политика конфиденциальности
👉 Copyright
#Firebase

What's new at Firebase Summit 2019

Сегодня в Мадриде проходит Firebase Summit на котором были представлены обновления:
👉 Firebase Extensions - готовые решения для выполнения распространенных задач: изменения размера картинок, укорачивание ссылок и пр.
👉 Улучшения в Firebase Emulator Suite
👉 Представлена Firebase App Distribution - это замена Fabric Beta, которая позволяет распространять предрелизные версии вашего приложения
👉 Firebase Analytics теперь доступен для Web

Что в итоге? Появилась полная альтернатива всем сервисам из Fabric и теперь можно делать полную миграцию.
Совсем недавно ребята из Android Dev Podcast организовали продажу своих фирменных маек. Но вот незадача, раздавать они их будут только на российских конференциях. Я решил устранить это досадную несправедливость - Android Broadcast организовал возможность получить футболки в Беларуси.

Цена одной футболки: 40 бел. рублей
Сбор заказов будет проходить до 7 октября 00:00.

Футболку можно будет заказать только по полной предоплате. Все подробности вы узнаете из письма после окончания приема заказов: где можно получить, когда будет заказ и как можно получить.
#DependencyInjection #Koin #Modularization

Setting Up Android Modules with Koin

Dependency Injection - стандарт для современных приложений и как самое популярное решение для этого Dagger 2 на Android. С некотор пор я предпочитаю Koin, так как она более простая и pure Kotlin 😍.

Пригоден ли Koin для модуляризации проект? Сможет ли он поддерживать Dynamic Features? В статье рассматривается как это сделать
#Kotlin #Multiplatform

Переиспользование кода между платформами - горячая тема в мобильной разработке, так как всем сейчас необходимо приложение под популярные мобильные ОС: Android и iOS. Уже было много попыток: Apache Cordova, Xamarin, React Native, Flutter, Ionic, PhoneGap

Kotlin/Multiplatform взглянул на эту тему по новому - разработчики не пишут общий код, которые интерпретируется на конечной платформе с помощью виртуальной машины или запускается в браузере, а вы пишите единый Kotlin код, который потом компилируется в нативный код для конечной платформы. Наиболее близкое к этому решения - Flutter.

Ребята из IceRock запустили канал по мобильной разработке на с использованием Kotlin Multiplatform - @kotlinmpp
#Span #Text #HTML

Making Nested Lists with Android Spannables in Kotlin

Span - это мощный инструмент для форматирования текста в Android. С ним можно и ссылку в тексте сделать или поменять часть стиля текста.

В статье разбирается как сделать многоуровневые bullet в тексте, реализовать Html.TagHandler
#Conference #Moscow #Promo

Mobius Москва 2019

Вы можете купить билет со скидкой предоставленной специально для Android Broadcast - используйте промокод mobius19mskAndroidBpc и купите билет здесь.

7-8 декабря в Москве пройдет конференция о мобильных технологиях Mobius. Спикеры из компаний LG, Яндекс, Tinkoff, Сбербанк, Вконтакте, JFrog, Amazon, Badoo, Lyft, Mail.Ru расскажут о:
👉 Лучших практиках тестирования
👉 Эффективный UI с Litho
👉 Как создать собственное правило для Android Lint
👉 Лучшие практики Kotlin
👉 Устройство шрифтов
👉 Как защитить ваше приложение
👉 Создание гибких и расширяемых архитектур
👉 Разбор в зоопарке Android систем: Things, Auto, Automotive, Wear, TV и классический вариант для телефонов
👉 Как продвинуть ваше приложение в Google Play и какие пути есть чтобы понравиться поддержке этого сервиса
#Architecture #MVI #PureKotlin

MVIDroid - MVIDroid is a framework written 100% in Kotlin that brings MVI pattern to Android

Хорошая архитектура приложения - это залог успеха вашего приложения. Она позволит вам расширять функционал, покрывать тестами код и другие полезные вещи.

Сам я никогда не был фанатом MVI, но архитектура довольная интересная. MVIDroid - это хороший пример реализации это архитектуры на чистом Kotlin без лишнего обвеса и оптимизированная под Android.
#Architecture #MVI #PureKotlin

Debugging with MVIDroid

Помимо всего библиотека имеет обширные возможности по отладке: логирование, подмена MviStore через Factory.

Также библиотека имеет функцию Time Travel - сохранение всех событий, благодаря чему вы может делать различные интересные вещи:
👉 Переключение между состояниями вперед или назад
👉 Просмотр всех событий
👉 Просмотр информации о любом событии
👉 Возможность вызова любого события снова
👉 Поставить breakpoint для любого события
👉 Возможность сериализации/десериализации для передачи событий между устройства
👉 Remote debug
#Firebase #FirebaseAppDistribution #Fastlane

Firebase App Distribution, Fastlane, Docker, Bitbucket Pipelines, Telegram, and all that jazz

На днях был представлен публично Firebase App Distribution, который упрощает доставку сборок вашего приложения тестерам.

В статье рассматривается как настроить новый способ доставки сборок на вашем CI с помощью Docker и Fastlane
#Gradle #AndroidGradlePugin

Трансформация кода в Android

Писать boilerplate никто не любит. Сначала это упростили написанием библиотек, потом была рефлексия, затем Annotation Processor и наконец генерация кода с помощью Gradle плагина. Например, с помощью этого работает Android Data Binding.

В статье рассматривается как с помощь Transfrom API написать Gradle плагин, который сохраняет указанные данные в состояние Activity и какие эффекты это несет на время сборки