#AOSP
Code Search with Cross References for the AOSP
Google представила новый поиск для Android Open Source Project (AOSP) - Code Search (cs.android.com). Что уже можно попробовать сейчас из функционала:
👉 Поиск
👉 Просмотр исходного кода
👉 Навигация между файлами
👉 Переключение между ветками
Code Search with Cross References for the AOSP
Google представила новый поиск для Android Open Source Project (AOSP) - Code Search (cs.android.com). Что уже можно попробовать сейчас из функционала:
👉 Поиск
👉 Просмотр исходного кода
👉 Навигация между файлами
👉 Переключение между ветками
Android Developers Blog
Code Search with Cross References for the Android Open Source Project
Posted by Jeff Bailey , AOSP Engineering Manager; Ally Sillins , AOSP Program Manager; Kris Hildrum, Open Source Code Search Tech Lead...
#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. Она позволяет вам устанавливать модули приложения в зависимости от того поддерживает ли ваше устройство определенные функции или находится в заданной стране.
Конечно без модуляризация проекта и использования
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
не обойтись.YouTube
Conditional delivery for app bundles - Android Tool Time 3.5 features
With the new added support for Conditional delivery for app bundles, you can now set conditional delivery based on hardware features such as OpenGL versions, support for Augmented Reality, API level or even user country.
Android Tool Time 3.5 Features playlist…
Android Tool Time 3.5 Features playlist…
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.
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.
Medium
The importance of USB SuperSpeed for Android Development
OVERVIEW
#Android10 #GestureNavigation #ImmersiveMode
Immersive mode with Gesture Navigation - Android Development Patterns
Новая системы навигации жестами в Android 10 наделала шума среди разработчиков, так как многих пришлось заняться поддержкой своих собственных виджетов и изменять навигацию в существующих. В видео вы найдете как эффективно связать новую систему навигации и Immersive Mode, который позволяет использовать всё пространство экрана и избегать конфликты с жестами
Immersive mode with Gesture Navigation - Android Development Patterns
Новая системы навигации жестами в Android 10 наделала шума среди разработчиков, так как многих пришлось заняться поддержкой своих собственных виджетов и изменять навигацию в существующих. В видео вы найдете как эффективно связать новую систему навигации и Immersive Mode, который позволяет использовать всё пространство экрана и избегать конфликты с жестами
YouTube
Immersive mode with Gesture Navigation
In this video, check out how immersive mode behavior changes with gesture navigation.
Gesture Navigation Devbyte → https://goo.gle/34bdNc0
Edge-to-Edge Devbyte → https://goo.gle/2Eb4bE4
Gesture Navigation: Immersive Modes blog post → https://goo.gle/2YCLS3R…
Gesture Navigation Devbyte → https://goo.gle/34bdNc0
Edge-to-Edge Devbyte → https://goo.gle/2Eb4bE4
Gesture Navigation: Immersive Modes blog post → https://goo.gle/2YCLS3R…
#Android10 #AndroidTV
Android 10 on Android TV
Платформа Android TV обновилась до Android 10, получив под капотом существующего UI все оптимизации и улучшения в безопасности.
Также был представлено устройство ADT-3, предназначенное для разработчиков, которое будет получать обновление быстрее и позволит разработчикам под Android TV раньше тестировать приложения на реальном устройстве. Фактически у Android TV появилось своё Dev Kit устройство.
Android 10 on Android TV
Платформа Android TV обновилась до Android 10, получив под капотом существующего UI все оптимизации и улучшения в безопасности.
Также был представлено устройство ADT-3, предназначенное для разработчиков, которое будет получать обновление быстрее и позволит разработчикам под Android TV раньше тестировать приложения на реальном устройстве. Фактически у Android TV появилось своё Dev Kit устройство.
Android Developers Blog
Android 10 on Android TV
Posted by Paul Lammertsma , Developer Advocate Technology has changed the way media and entertainment is accessed and consumed in the...
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 проще
Хотите сделать так в своем приложение, тогда читайте "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 объекты и делать работу с кодом проще. Рекомендую изучить и однажды но вам пригодиться
Understand How does Retrofit work
Retrofit - это библиотека, которая первая приходит на ум Android разработчику при необходимости реализации REST API. С помощью чего работает Retrofit, если она не использует Annotation Processor для генерации кода? Ответ Java Dynamic Proxy API, которое позволяет создавать реализацию интерфейса и проксирует все вызовы через InvocationHandler. Это API поможет вам прятать сложные Builder объекты и делать работу с кодом проще. Рекомендую изучить и однажды но вам пригодиться
Medium
Understand How does Retrofit work
To be a good developer know what is going on under the hood
#Navigation #ArchitectureComponents #CustomTab
Add Chrome Custom Tabs to the Android Navigation Component
Architecture Components предоставило нам множество возможностей и библиотек, которые решили сложности работы с Android SDK. Одним из таких решений стало Navigation. Она позволяет вам эффективно описывать граф навигации, открывая
Как можно расширить и добавить новые типы Destination в графе? Библиотека также позволяет сделать и в статье вы найдете рецепт как сделать это.
Основы рецепта:
1️⃣ Создание собственного Destination
2️⃣ Создание собственного Navigator
3️⃣ Объявление кастомных атрибутов в XML (опционально)
4️⃣ Добавить поддержку нового
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
Medium
Add Chrome Custom Tabs to the Android Navigation Component
Extending Jetpack’s ability to navigate anywhere
#ArchitectureComponents #Architecture #Modularization
Android Components Architecture in a Modular Word
Хорошая статья в которой происходит разбор модуляризации Android приложения:
👉 Принципы осуществления модуляризации
👉 Модули и их роли
👉 Множество других полезный статей и примеров
👉 Проблемы со сторонними библиотеками
👉 Собственный пример
Android Components Architecture in a Modular Word
Хорошая статья в которой происходит разбор модуляризации Android приложения:
👉 Принципы осуществления модуляризации
👉 Модули и их роли
👉 Множество других полезный статей и примеров
👉 Проблемы со сторонними библиотеками
👉 Собственный пример
Medium
📚 Android Components Architecture in a Modular Word
Over years Android architecture evolved to support production-quality apps on any scale focused on helping developers to design robust…
#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.
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.
Хабр
Secured by Knox — механизмы мобильной безопасности Samsung
Если у вас телефон Samsung, то вы, возможно, замечали на экране загрузки фразу «Secured by Knox». Что это вообще значит? Под катом – описание платформы мобильной безопасности, предустановленной на...
#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
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
Medium
Secure Communication With the Server From Your Android Client With Certificate Pinning
Learn how to write proper security rules for your Android application
#Architecture #SOLID
S.O.L.I.D Principles Explained In Five Minutes
Когда разработчики говорят о хорошей архитектуре всплывают 2 понятия:
В статье вы найдете полный разбор каждой буквы из
👉 Single-responsibility principle (SRP)
👉 Open-closed principle (OCP)
👉 Liskov substitution principle (LSP)
👉 Interface segregation principle (ISP)
👉 Dependency inversion Principle (DIP)
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)
Medium
S.O.L.I.D Principles Explained In Five Minutes
A guide to understandable, reusable, testable, maintanable and flexible codebase.
#Security #BugHunting
Безопасность Android приложений с Дмитрием Лукьяненко
Безопасность пользовательских данных важна так, как смартфон является основным гаджетом для большинства людей. Любой Android разработчик должен обеспечивать защиту хранения всех данных, передачу их на сервер, а также не позволить злоумышленникам взломать ваше приложение.
Мы обсудил этот вопрос с Дмитрием Лукьяненко. Дима зарабатывает тем, что ищет уязвимости и крэши в приложениях и сообщает об этом разработчикам приложений. Такие компании как Google и Facebook готовы платить до 1 000 000 $ за уязвимости, причем Google платит даже не только за свои, но и популярные приложения в Google Play.
Связаться с Димой - [email protected]
Полезные ссылки:
👉 Платформы агрегаторы баг баунти от множества компаний - 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
Безопасность Android приложений с Дмитрием Лукьяненко
Безопасность пользовательских данных важна так, как смартфон является основным гаджетом для большинства людей. Любой Android разработчик должен обеспечивать защиту хранения всех данных, передачу их на сервер, а также не позволить злоумышленникам взломать ваше приложение.
Мы обсудил этот вопрос с Дмитрием Лукьяненко. Дима зарабатывает тем, что ищет уязвимости и крэши в приложениях и сообщает об этом разработчикам приложений. Такие компании как Google и Facebook готовы платить до 1 000 000 $ за уязвимости, причем Google платит даже не только за свои, но и популярные приложения в Google Play.
Связаться с Димой - [email protected]
Полезные ссылки:
👉 Платформы агрегаторы баг баунти от множества компаний - 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 разработчик должен обеспечивать защиту хранения всех данных, передачу их на сервер, а также не позволить злоумышленникам взломать…
#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
Jetpack Compose — A New and Simple Way to Create Material-UI in Android
Несомненно самое ожидаемое нововведение в Android разработке - это Jetpack Compose. Эта библиотека изменит как мы пишем UI и сделает "Kotlin First" неизбежным. В статье происходит краткий обзор и то как попробовать новую библиотеку в Android Studio 4.0
Medium
Jetpack Compose — A New and Simple Way to Create Material-UI in Android
Learn how to create UI without any XML files
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 рекомендую посмотреть доклад от Даниила Попова. В нем автор рассказал о проблемах с производительность
Полезные ссылки:
👉 Результаты эксперимента по оптимизации от Даниила можно найти здесь
👉 Готовое production ready решение Dexmaker от Linkedin
Dynamic proxy и runtime-кодогенерация на Android / Даниил Попов
Продолжительность 33:30
Для всех тех, кого заитересовала тема Dynamic Proxy рекомендую посмотреть доклад от Даниила Попова. В нем автор рассказал о проблемах с производительность
Dynamic Proxy
и рефлексии
, используемой под капотом, в рамках Android и как можно обойти это решения с использованием генерации Dex.Полезные ссылки:
👉 Результаты эксперимента по оптимизации от Даниила можно найти здесь
👉 Готовое production ready решение Dexmaker от Linkedin
YouTube
Dynamic proxy и runtime-кодогенерация на Android / Даниил Попов
Apps Conf Moscow 2019
Зал «Бороться бессильны?»
22 апреля, 13:00
Тезисы и презентация:
https://appsconf.ru/moscow/2019/abstracts/4504
- Структурный шаблон проектирования прокси;
- Какими способами можно его реализовать на Android, их плюсы и минусы;
- Подробный…
Зал «Бороться бессильны?»
22 апреля, 13:00
Тезисы и презентация:
https://appsconf.ru/moscow/2019/abstracts/4504
- Структурный шаблон проектирования прокси;
- Какими способами можно его реализовать на Android, их плюсы и минусы;
- Подробный…
Android Broadcast
#Kaspresso #Automation Ребята из Kaspersky Lab, HH и Авито решили распространить автоматизацию Android приложений в массы! После того как они разработали библиотеку 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-тесты в параллели" Алексей Анисимoв, HeadHunter
21:00 - "Kotlin DSL, Fixtures и элегантные UI тесты в Android" Антон Горелов, HeadHunter
21:15 - "Тестируем аналитику UI тестами" Демышев Владимир, HeadHunter
Видеозаписи докладов ожидаются
👉👉👉 Успейте зарегистрироваться
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-тесты в параллели" Алексей Анисимoв, HeadHunter
21:00 - "Kotlin DSL, Fixtures и элегантные UI тесты в Android" Антон Горелов, HeadHunter
21:15 - "Тестируем аналитику UI тестами" Демышев Владимир, HeadHunter
Видеозаписи докладов ожидаются
👉👉👉 Успейте зарегистрироваться
#Storage
Data and file storage overview
Google представило руководство по различным хранилищам данных на устройстве: типы, как получить доступ, необходимые разрешения и пр. аспекты
Data and file storage overview
Google представило руководство по различным хранилищам данных на устройстве: типы, как получить доступ, необходимые разрешения и пр. аспекты
Android Developers
Data and file storage overview | Android Developers
#Kotlin #Native #KotlinNative #MemoryModel
Исследование модели памяти в Kotlin/Native
В JetBrains стартанули новое исследование, в этот раз – про то, насколько понятны различные аспекты работы с моделью памяти в Kotlin/Native. В опросе – 10 примеров кода, для каждого из которых нужно ответить на два вопроса – согласны ли вы с результатом выполнения кода и понимаете ли, почему он работает именно так. Мы ждем ответов и от опытных пользователей, и от новичков.
Ваше участие сильно поможет сделать
Исследование модели памяти в Kotlin/Native
В JetBrains стартанули новое исследование, в этот раз – про то, насколько понятны различные аспекты работы с моделью памяти в Kotlin/Native. В опросе – 10 примеров кода, для каждого из которых нужно ответить на два вопроса – согласны ли вы с результатом выполнения кода и понимаете ли, почему он работает именно так. Мы ждем ответов и от опытных пользователей, и от новичков.
Ваше участие сильно поможет сделать
Kotlin/Native
и Kotlin MPP
в понимании текущих проблем и поиске решений для них.Jetbrains
Kotlin/Native Memory Model Research
Kotlin/Native Memory Model Research.
#CPU #Hardware
Новый флагманский чип Snapdragon 865 побил Apple A13
Apple всегда славилась производительностью своих чипов из серии A, которые вставляются в iPhone/iPad. Даже самые топовые чипы не могли побороться за вершину рейтинга, но с выходом Snapdragon 865 все изменилось и он смог уделать A13.
Сравнение проводилось на референсном устройстве. Посмотрим чего смогут добиться производители, встроив чип в свои флагманы (а это уже в феврале/марте).
Новый флагманский чип Snapdragon 865 побил Apple A13
Apple всегда славилась производительностью своих чипов из серии A, которые вставляются в iPhone/iPad. Даже самые топовые чипы не могли побороться за вершину рейтинга, но с выходом Snapdragon 865 все изменилось и он смог уделать A13.
Сравнение проводилось на референсном устройстве. Посмотрим чего смогут добиться производители, встроив чип в свои флагманы (а это уже в феврале/марте).
Android Authority
Finally! Snapdragon 865’s CPU beats the Apple A13
The first performance scores for the Snapdragon 865 are appearing and it looks like the new Qualcomm processor is finaly catching up with Apple's offerings.