Size: a a a

Android Broadcast

2019 December 12
Android Broadcast
#Android10 #GestureNavigation #ImmersiveMode

Immersive mode with Gesture Navigation - Android Development Patterns

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

Android 10 on Android TV

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

Также был представлено устройство ADT-3, предназначенное для разработчиков, которое будет получать обновление быстрее и позволит разработчикам под Android TV раньше тестировать приложения на реальном устройстве. Фактически у Android TV появилось своё Dev Kit устройство.
источник
2019 December 13
Android Broadcast
#Animation

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

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

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

Understand How does Retrofit work

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

Android Components Architecture in a Modular Word

Хорошая статья в которой происходит разбор модуляризации Android приложения:
👉 Принципы осуществления модуляризации
👉 Модули и их роли
👉 Множество других полезный статей и примеров
👉 Проблемы со сторонними библиотеками
👉 Собственный пример
источник
2019 December 14
Android Broadcast
#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.
источник
Android Broadcast
#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
источник
Android Broadcast
#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)
источник
2019 December 16
Android Broadcast
#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
YouTube
Безопасность Android приложений
Безопасность пользовательских данных важна так, как смартфон является основным гаджетом для большинства людей. Любой Android разработчик должен обеспечивать защиту хранения всех данных, передачу их на сервер, а также не позволить злоумышленникам взломать ваше приложение.

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

Подписывайтесь на канал - https://t.me/android_broadcast
Связаться с Димой - vulnano.research@gmail.com
Версия на SoundCloud - https://soundcloud.com/android_broadcast/o-bezopasnosti-android-prilozhenii-c-dmitriem-lukyanenko

Полезные ссылки:
Платформы аггрегаторы баг баунти от множества компаний - https://hackerone.com, https://www.bugcrowd.com/
Google Play Security Reward Program - h…
источник
Android Broadcast
#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
android_broadcast
#Retrofit #DynamicProxy

Understand How does Retrofit work

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

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

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

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

Ребята из Kaspersky Lab, HH и Авито решили распространить автоматизацию Android приложений в массы! После того как они разработали библиотеку Kaspresso, они решили организовать воркшоп на котором поделятся лучшими практиками, подготовят задания по вашим нуждам (да-да, вы можете повлиять на контент воркшопа), выполнят их вместе с вами и ответят на ваши вопросы по Espresso и Kaspresso.

Воркшоп не требует никаких минимальных знаний, а только одного - желание автоматизировать тесты 😁. Воркшоп поможет вам научиться пить чай/кофе пока регрессия бегает на устройствах
Пoявилась прoграмма вoркшoпа пo автoтестам!
18:30 - Регистрация
19:00 - "Вступительнoе слoвo" Евгений Мацюк, Kaspersky
19:05 - "Что есть автотестирование в целом" Евгений Мацюк, Kaspersky
19:20 - "Как начать писать на Kaspresso здесь и сейчас" Егoр Курникoв, Kaspersky
20:00 - Перерыв 🍎
20:15 - "Лучшие практики написания тестoв" Мансур Бирюкoв, Kaspersky
20:45 - "Как hh.ru запустили Android-тесты в параллели" hh.ru запустили Android-тесты в параллели" Алексей Анисимoв, HeadHunter
21:00 - "Kotlin DSL, Fixtures и элегантные UI тесты в Android" Антон Горелов, HeadHunter
21:15 - "Тестируем аналитику UI тестами" Демышев Владимир, HeadHunter

Видеозаписи докладов ожидаются

👉👉👉  Успейте зарегистрироваться
источник
Android Broadcast
#Storage

Data and file storage overview

Google представило руководство по различным хранилищам данных на устройстве: типы, как получить доступ, необходимые разрешения и пр. аспекты
источник
2019 December 17
Android Broadcast
#Gradle

Android Pseudolocalization Update

Для того чтобы в ваше приложение не попадали лишние строки, Google рекомендует указывать только необходимые вам локали в build.gradle:
android {
 defaultConfig {
   ...
   resConfigs "en", "fr"
 }
}

Но получается проблема при использовании псевдолокализаций и туда не попадут локали en_XA, ar_XB
источник
Android Broadcast
#Kotlin #Native #KotlinNative #MemoryModel

Исследование модели памяти в Kotlin/Native

В JetBrains стартанули новое исследование, в этот раз – про то, насколько понятны различные аспекты работы с моделью памяти в Kotlin/Native. В опросе – 10 примеров кода, для каждого из которых нужно ответить на два вопроса – согласны ли вы с результатом выполнения кода и понимаете ли, почему он работает именно так. Мы ждем ответов и от опытных пользователей, и от новичков.
Ваше участие сильно поможет сделать Kotlin/Native и Kotlin MPP в понимании текущих проблем и поиске решений для них.
источник
Android Broadcast
#CPU #Hardware

Новый флагманский чип Snapdragon 865 побил Apple A13

Apple всегда славилась производительностью своих чипов из серии A, которые вставляются в iPhone/iPad. Даже самые топовые чипы не могли побороться за вершину рейтинга, но с выходом Snapdragon 865 все изменилось и он смог уделать A13.

Сравнение проводилось на референсном устройстве. Посмотрим чего смогут добиться производители, встроив чип в свои флагманы (а это уже в феврале/марте).
источник
Android Broadcast
Какой чип стоит в вашем смарфтоне?
Окончательные результаты
63%
Qualcomm Snapdragon
8%
Apple A
9%
Samsung Exynos
2%
Mediatek
13%
Не знаю
5%
Другой вариант
Проголосовало: 350
источник
Android Broadcast
android_broadcast
Какой чип стоит в вашем смарфтоне?
Окончательные результаты
63%
Qualcomm Snapdragon
8%
Apple A
9%
Samsung Exynos
2%
Mediatek
13%
Не знаю
5%
Другой вариант
Проголосовало: 350
Вот только сейчас понял, что забыл упомянуть про Huawei Kirin. Приношу извинения владельцам этих устройств.
источник
Android Broadcast
#DarkTheme #AppCompat #Context

Dark mode musings: beware of the context 🌗

Для графических ресурсов очень важно из какого Context бы берёте ресурсы, т.к. к Context привязана используемая тема для UI. К чему может привести проблема с использованием некорректного Context можно найти в статье на примере интеграции темной темы.
источник