Size: a a a

Android Broadcast

2019 October 24
Android Broadcast
#DontKillMyApp

Победи проблемы на устройстве каждого производителя с помощью сайта Don't kill my app! Больше подробностей ➡️ здесь
источник
Android Broadcast
#AndroidDevSummit

По итогам Android Dev Summit буду делать обзор:
👉  новинки: Jetpack Compose, Android Studio 4.0, Motion Editor, Kotlin + Android, Android 11, Scoped Storage и пр
👉  высказывать своё мнение
👉  и конечно ванговать о будущем

Буду пробовать новый формат - 📺 видео на канале в YouTube.

Все те кто смог побывать лично на этой конференции - буду рад с вами пообщаться как для сбора материала или для участия в обзоре. Пишите мне в личку @krlrozov
источник
2019 October 25
Android Broadcast
#Kotlin #BestPractices

Дмитрий Жемеров — Идиоматичный Kotlin от форматирования до DSL

Насколько полностью вы используете возможности Kotlin? Насколько правильно вы это делаете? Может есть путь, который рекомендуют создатели? Да, он есть в первую очередь это Kotlin Coding Conventions и доклад от Дмитрия Жемерова.

Дмитрий Жемеров - это старожила JetBrains. Он участвовал в разработке многих проектов компании, включая Kotlin. Заглавное фото с маяком - его работа. Соавтор книги «Kotlin in Action».
источник
2019 October 26
Android Broadcast
#DependencyInjection #Dagger #Jetpack

Появилось официальное руководство по Dependency Injection в Android, а также важные новости:
👉 Dagger - официальная рекомендация как DI для Android приложения
👉 Используйте Dagger для больших приложений (8+ экранов)
👉 В Google работают над сокращение кода для работы с Dagger

Больше подробностей читайте в статье
источник
Android Broadcast
#R8 #ProGuard

Comparison of ProGuard vs. R8: October 2019 edition

Proguard уходит из Android. Уже начиная с Android Gradle Plugin 3.4.0 по умолчанию используется R8. Смогла ли Google сделать продукт лучше? Однозначно сказать нельзя. Что-то лучше в R8, что-то в ProGuard, а что-то ProGuard уже скопировал у R8 😁

Разработчики ProGuard уже проводили сравнение, но решили это сделать повторно т.к. R8 развивается быстро. Новое сравнение предназначено для продвижение, но позволяет понять отдельные детали.
источник
2019 October 28
Android Broadcast
#AndroidX #JetpackWeekly #Coroutines #Benchmark

Android Jetpack Weekly #10

Android Dev Summit принес большое обновление
🔥Улучшена поддержка Kotlin Coroutines в Lifecycle и LiveData
🔥Сохранение состояния в ViewModel
🎁ViewPager 2 RC - новый ViewPager на основе RecyclerView
🎁Android Benchmark RC - теперь можно писать тесты под Android правильно
🚀 Улучшенные анимации
источник
Android Broadcast
#Emulator #HyperV

Android Emulator Hypervisor Driver for AMD Processors - Canary SDK Package

Для всех те кто использует Android эмулятор, знают наверняка, что лучше иметь процессор от Intel, так как на нём есть аппаратное ускорение для x86. Но почему были обделены процессоры AMD ?

Теперь это решено и технология Hyper-V поддерживается в Windows 10. Хотите попробовать - смотрите руководство по установке.
источник
Android Broadcast
На чем вы пишете под Android?
Окончательные результаты
49%
macOS
28%
Windows + Intel
4%
Windows + AMD
17%
Linux
1%
Chrome OS
1%
Не пишу код
Проголосовало: 398
источник
Android Broadcast
#WebView #AndroidX

Google решила напомнить о библиотеки AndroidX Webkit, которая портирует возможности WebView с более новых версий Android на старые (5.0+). Смотрите быстрый обзор в коротком видео
источник
2019 October 29
Android Broadcast
#ArhitectureComponents #LiveData

When NOT to Use LiveData

Android Architecture Components - это популярное решение. Одна из его самых популярных частей - LiveData. Ее поддерживает множество библиотек и позволяет вам получать данные с помощью нее.

Но всегда ли стоит использовать ее? Хорошее решение ли это для слоя данных и бизнес логики? В статье рассматривается когда не стоит использовать LiveData:
1️⃣  В вашем приложение испольуются потоки данных и вам нужно обрабатывать ошибки, backpressure и пр.
2️⃣ Не хватает операторов (спорный случай, так как есть сторонние библиотеки)
3️⃣ У вас нет взаимодействия с данными из UI
4️⃣ У вас одноразовая асинхронная операция (опять же спорно, так как с LiveData удобно доставить результат и получить ее обновления, которое запрашивается пользователем в UI)
5️⃣ Вам не нужно сохранять данные в UI
источник
Android Broadcast
#Library #Security #Network

Certificate Transparency for Android

Хотите сделать защиту сетевого слоя более надежной и обезопасить от себя атак от "man-in-the-middle" ? Тогда вы можете использовать библиотеку, которая позволит вам реализовать Certificate Transparency, которая позволяет определить, что SSL сертификат не был подменен злоумышленником.

Библиотека поддерживает OkHttp, Volley, HttpURLConnection
источник
2019 October 30
Android Broadcast
#RoboScripts #Firebase #GooglePlay

Test Robo Scripts Locally: Useful For Firebase Test Lab & Pre-launch Reports

Используете ли вы Google Play Console Pre-launch Report ? Это хороший способ проверить работоспособность вашего приложения перед релизом. У меня ни один релиз не уходит дальше Альфа канала, пока не придёт успешный отчет о прохождении проверок.

По умолчанию механизм работает на основе автоматического прохождения вашего приложения, что порой может его вовсе увести из приложения. Чтобы избежать этого можно использовать Robo Scripts из Firebase Test Lab. Эти скрипты позволят вам описать сценарий прохождения вашего приложения, чтобы проверить самые важные места

В статье рассматривается как проверить Robo Script локально, не ограничивая себя лимитами Google Play Console и Firebase Test Lab. Спойлер - App Crawler (официальный инструмент)
источник
Android Broadcast
#JetpackCompose

Exploring Jetpack Compose: Button

Высокоуровневый разбор добавления кнопок в Jetpack Compose: API, стили, кастомизация.
источник
Android Broadcast
#Kotlin #InlineClass

Inline classes, the next level of type safety

Система типа Kotlin замечательна. Она решила проблему null safety, дала нам sealed классы и inline классы. В чем прелесть inline классов? По сути они дают вам нулевую цену за обертку одних объектов в другие.

Но когда это может быть полезно? Подумайте сколько у вас использование Int и String в коде для представления различных наборов значений или кодов. Например, в Android Int используется для представления ресурсов разных типов и единственная защита от ошибки - это аннотации, которые проверяет Android Lint.

В статье разбирается как inline класс улучшает разграничение типов
источник
2019 October 31
Android Broadcast
#Fragment

Simplifying the FragmentManager API: Multiple Fragment backstacks on Android

Обсуждение поддержки множества back stack для Fragment API - уже долго обсуждаемая тема. Особенно это стало важно, когда шаблон "Bottom Navigation" набрал популярность. Пока все ждут стандартной реализации (о которой разработчики Fragment уже говорят), можно сделать собственный вариант. Пример этого можно найти в статье.
источник
2019 November 04
Android Broadcast
#Architecture #Reactive

Building a system of reactive components with Kotlin

Продолжение рассказа о том, какую архитектуру используют в Badoo для разработки приложений. В новой статье речь зайдет о базовых блоках для построения реактивной архитектуры
источник
Android Broadcast
#Animation

BottomNavigationView: Animating Icons

Руководство по анимированию иконок в BottomNavigationView на основе AnimatedStateListDrawable.
источник
Android Broadcast
#Architecture #MVI #Reactive

Introducing Orbit MVI for Kotlin and Android

Разработчики из компании Babylon Health показали свое собственное решение для архитектуры - OrbitMVI. В статье рассматриваются базовые принципы MVI и особенности решения.
источник
Android Broadcast
#Podcast #Reaktive #Kotlin #Multiplatform

Подкаст "Reaktive на Kotlin Multiplatform"

Взял интервью у разработчиков библиотеки Reaktive: Аркадия Иванова и Юрий Влада. Ребята рассказали о реализации, с каким трудностями столкнулись при разработке на Kotlin Multiplatform, готовность к проду, производительность и пр.

Полезные ссылки:
👉 Reaktive Github
👉 Reaktive JMH Benchmark
👉 Доклад "Kotlin Multiplatform с точки зрения бизнеса"
источник
2019 November 05
Android Broadcast
#Coroutines #Flow

Binding Android UI with Kotlin Flow

Помните библиотеку RxBinding? Она позволяет получать события от Android виджетов в Rx стиле. Kotlin Flow -это реактивный подход, основанный на Coroutines. Так вот, энтузиасты совместили подходы RxBinding, заменив механизм на Flow, получили новую библиотеку - FlowBinding. В статье рассматриваются все подробности работы с библиотекой.
источник