Android Broadcast
13.8K subscribers
3.13K photos
225 videos
9 files
5.31K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot
Download Telegram
#Android10 #SmartReply

Generate Auto Suggestion using Android Text Classifier API

В Android 10 было обновлено TextClassifier API и добавлены модели новые модели, который способны распознавать действия для smart reply.

В статье рассматриваются изменения в Android 10 и как улучшить ваши уведомления с помощью машинного обучения на устройстве и TextClassifier API
#Android

Шпаргалка по фичам Android с 6 версии
Продолжительность: 27:29

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

На онлайн митапе в ReadMadRobot Костя Цховребов рассмотрел все функции, которые появились в Android c версии 6.0.
#Gradle #KotlinDSL #Migration

Converting your Android Gradle scripts to Kotlin

Kotlin прекрасен и убрать скриптовый Groovy из Gradle и получить подстветку синтаксиса, автодополнение и единый язык между кодом и Gradle скриптами - это хорошо. Правда за это придется заплатить ценой сборки проекта

В статье поэтапно разбирается миграция на Kotlin Gradle DSL
#Kotlin #InlineClass

Low-overhead wrappers using inline classes

Как много применений имеют значения типа Int в Android приложениях? Это и id, и разные типы ресурсов, и пр. Очень легко ошибиться и промахнуться с типом ресурсов. Это позволяет избегать классы-обертки, но их проблема в том, что они создают новые объекты в памяти и заставят работать GC активнее.

Kotlin Inline классы - это то что совмещает в себе удобство Wrapper классов и вам не придется платить цену за создание доп. объектов, так как их не будет.
#UnderTheHood

Mastering the Android Touch System

Каждый день мы совершаем тысячи событий для системы, касаясь экрана смартфона. Знание особенностей работы этой системы поможет строить ваши собственные View эффективнее, а также понимать принципы работы для другого функционала связанного с обработкой касаний экрана.
#AOSP

Code Search with Cross References for the AOSP

Google представила новый поиск для Android Open Source Project (AOSP) - Code Search (cs.android.com). Что уже можно попробовать сейчас из функционала:
👉 Поиск
👉 Просмотр исходного кода
👉 Навигация между файлами
👉 Переключение между ветками
#AndroidStudio #AppBundle #GooglePlay #DynamicDelivery

Conditional delivery for app bundles - Android Tool Time 3.5 Features

Остается немного до релиза Android Studio 3.6, а Google опомнилась и все рассказывает про AS 3.5. В новой версии появилась возможность для App Bundle - Conditional delivery. Она позволяет вам устанавливать модули приложения в зависимости от того поддерживает ли ваше устройство определенные функции или находится в заданной стране.

Конечно без модуляризация проекта и использования dynamic-feature не обойтись.
The importance of USB SuperSpeed for Android Development

Google решила раскрыть важность качественного USB кабеля, для ускорения разработки. Что важного стоит извлечь из статьи:
👉 Важно искать синий коннектор - это явный признак USB 3.0 и хорошей скорости
👉 Не все кабели USB Type-C являются USB 3.X
👉 Существует прямая корреляция между скоростью USB и скоростью итераций проверки
👉 Переходники с Mini/Micro USB на Type-C зачастую портят скорость. Используйте кабели без переходников!
👉 Зачастую USB Hubы используют USB 2.0. Например, мониторы с множеством портов.

Вполне логично было бы услышать такую рекламу от компании фрукта, которая любит зарабатывать на аксессуарах чтобы продать новый Lighting PRO кабель, но рекомендация идет от разработчика из Google.
#Android10 #GestureNavigation #ImmersiveMode

Immersive mode with Gesture Navigation - Android Development Patterns

Новая системы навигации жестами в Android 10 наделала шума среди разработчиков, так как многих пришлось заняться поддержкой своих собственных виджетов и изменять навигацию в существующих. В видео вы найдете как эффективно связать новую систему навигации и Immersive Mode, который позволяет использовать всё пространство экрана и избегать конфликты с жестами
#Android10 #AndroidTV

Android 10 on Android TV

Платформа Android TV обновилась до Android 10, получив под капотом существующего UI все оптимизации и улучшения в безопасности.

Также был представлено устройство ADT-3, предназначенное для разработчиков, которое будет получать обновление быстрее и позволит разработчикам под Android TV раньше тестировать приложения на реальном устройстве. Фактически у Android TV появилось своё Dev Kit устройство.
This media is not supported in your browser
VIEW IN TELEGRAM
#Animation

Хотите сделать так в своем приложение, тогда читайте "Complex UI/Animation on Android".

Что использовал автор:
👉 Nested Scroll + Coordinator Layout
👉 ValueAnimator
😞 и много кода для расчёта размеров, расстояний и выполнения

К сожалению, пока анимация на Android все еще боль. Посмотрим ли изменит Motion Editor ситуацию и станет ли анимирование сложных иерархий View проще
#Retrofit #DynamicProxy

Understand How does Retrofit work

Retrofit - это библиотека, которая первая приходит на ум Android разработчику при необходимости реализации REST API. С помощью чего работает Retrofit, если она не использует Annotation Processor для генерации кода? Ответ Java Dynamic Proxy API, которое позволяет создавать реализацию интерфейса и проксирует все вызовы через InvocationHandler. Это API поможет вам прятать сложные Builder объекты и делать работу с кодом проще. Рекомендую изучить и однажды но вам пригодиться
#Navigation #ArchitectureComponents #CustomTab

Add Chrome Custom Tabs to the Android Navigation Component

Architecture Components предоставило нам множество возможностей и библиотек, которые решили сложности работы с Android SDK. Одним из таких решений стало Navigation. Она позволяет вам эффективно описывать граф навигации, открывая Fragment, Activity, DialogFragment и deep link.

Как можно расширить и добавить новые типы Destination в графе? Библиотека также позволяет сделать и в статье вы найдете рецепт как сделать это.

Основы рецепта:
1️⃣ Создание собственного Destination
2️⃣ Создание собственного Navigator
3️⃣ Объявление кастомных атрибутов в XML (опционально)
4️⃣ Добавить поддержку нового Navigator в Navigation Host
#ArchitectureComponents #Architecture #Modularization

Android Components Architecture in a Modular Word

Хорошая статья в которой происходит разбор модуляризации Android приложения:
👉 Принципы осуществления модуляризации
👉 Модули и их роли
👉 Множество других полезный статей и примеров
👉 Проблемы со сторонними библиотеками
👉 Собственный пример
#Security #KNOX

Secured by Knox — механизмы мобильной безопасности Samsung

Samsung Knox - это проприетарный механизм, обеспечивающий безопасность устройств Samsung. В чем его особенности? Чем от отличается от стандартной защиты в ОС Android. Даже Google скооперировались с Samsung, чтобы улучшить безопасность в последних версиях Android на основе их опыта.

Knox включает в себя множество компонентов:
👉 Аппаратные ключи: Device Unique Hardware Key и Device Root Key
👉 Secure Boot + Samsung Secure Boot Key
👉 Trusted Boot + TrustZone Secure World
👉 Knox Verified Boot
👉 Knox Warranty Bit
👉 Rollback Prevention
👉 Periodic Kernel Measurement
👉 Knox Attestation
и много много других компонентов.

Я был очень удивлен насколько система безопасности в Android была улучшена Samsung.
#Security #Networking

Secure Communication With the Server From Your Android Client With Certificate Pinning

Обеспечения безопасности данных пользователя в приложениях - важный аспект современной мобильной разработки. Множество данных хранится на устройстве и передаются в сеть. В статье разбирается защита передачи данных по сети, а именно Certificate Pinning:
👉 Стандартная Network Security Configuration (доступна c Android 7.0)
👉 TrustManager
👉 Certificate Pinning в OkHttp
#Architecture #SOLID

S.O.L.I.D Principles Explained In Five Minutes

Когда разработчики говорят о хорошей архитектуре всплывают 2 понятия: Clean Architecture и S.O.L.I.D

В статье вы найдете полный разбор каждой буквы из S.O.L.I.D.:
👉 Single-responsibility principle (SRP)
👉 Open-closed principle (OCP)
👉 Liskov substitution principle (LSP)
👉 Interface segregation principle (ISP)
👉 Dependency inversion Principle (DIP)
#Security #BugHunting

Безопасность Android приложений с Дмитрием Лукьяненко

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

Мы обсудил этот вопрос с Дмитрием Лукьяненко. Дима зарабатывает тем, что ищет уязвимости и крэши в приложениях и сообщает об этом разработчикам приложений. Такие компании как Google и Facebook готовы платить до 1 000 000 $ за уязвимости, причем Google платит даже не только за свои, но и популярные приложения в Google Play.

Связаться с Димой - vulnano.research@gmail.com

Полезные ссылки:
👉 Платформы агрегаторы баг баунти от множества компаний - Hackerone, Bugcrowd
👉 Google Play Security Reward Program
👉 Основные классы Android уязвимостей
👉 Новости о безопасности
👉 Платформа по покупке уязвимостей в ПО, но не с целью их фикса
👉 Manifest Merger Tool
👉 Google Play Protect
👉 OWASP
👉 Android Network Security Config
👉 Настройка Certificate Pinning в Android
👉 Слайды к докладу по оптимизации размера приложения
👉 Хитрые словари для ProGuard/R8 от Facebook
👉 Библиотека AndroidX.Security
#JetpackCompose #UI

Jetpack Compose — A New and Simple Way to Create Material-UI in Android

Несомненно самое ожидаемое нововведение в Android разработке - это Jetpack Compose. Эта библиотека изменит как мы пишем UI и сделает "Kotlin First" неизбежным. В статье происходит краткий обзор и то как попробовать новую библиотеку в Android Studio 4.0
Android Broadcast
​#Retrofit #DynamicProxy Understand How does Retrofit work Retrofit - это библиотека, которая первая приходит на ум Android разработчику при необходимости реализации REST API. С помощью чего работает Retrofit, если она не использует Annotation Processor…
#Retrofit #DynamicProxy #Dex

Dynamic proxy и runtime-кодогенерация на Android / Даниил Попов
Продолжительность 33:30

Для всех тех, кого заитересовала тема Dynamic Proxy рекомендую посмотреть доклад от Даниила Попова. В нем автор рассказал о проблемах с производительность Dynamic Proxy и рефлексии, используемой под капотом, в рамках Android и как можно обойти это решения с использованием генерации Dex.

Полезные ссылки:
👉 Результаты эксперимента по оптимизации от Даниила можно найти здесь
👉 Готовое production ready решение Dexmaker от Linkedin