#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.
Какой чип стоит в вашем смарфтоне?
Final Results
63%
Qualcomm Snapdragon
8%
Apple A
9%
Samsung Exynos
2%
Mediatek
13%
Не знаю
5%
Другой вариант
Android Broadcast
Какой чип стоит в вашем смарфтоне?
Вот только сейчас понял, что забыл упомянуть про Huawei Kirin. Приношу извинения владельцам этих устройств.
#DarkTheme #AppCompat #Context
Dark mode musings: beware of the context 🌗
Для графических ресурсов очень важно из какого Context бы берёте ресурсы, т.к. к Context привязана используемая тема для UI. К чему может привести проблема с использованием некорректного Context можно найти в статье на примере интеграции темной темы.
Dark mode musings: beware of the context 🌗
Для графических ресурсов очень важно из какого Context бы берёте ресурсы, т.к. к Context привязана используемая тема для UI. К чему может привести проблема с использованием некорректного Context можно найти в статье на примере интеграции темной темы.
Rebecca Franks - @riggaroo
Dark Mode Musings: Beware of the Context 🌗 – Rebecca Franks - @riggaroo
I’ve been working on getting Dark Mode in our app fully supported and I stumbled upon an interesting finding: The Application#applicationContext does not keep information about the theme that you have set via AppCompatDelegate.setDefaultNightMode(), only…
#Kotlin
Writing clean models using extensions
Extension function - прекрасная возможность Kotlin, которая позволяет не только избавиться от утилитарных статических функций, но и сделать архитектуру ваших приложений лучше. Например, можно сделать ваши data классами полностью чистыми от функций и перенести все в
Writing clean models using extensions
Extension function - прекрасная возможность Kotlin, которая позволяет не только избавиться от утилитарных статических функций, но и сделать архитектуру ваших приложений лучше. Например, можно сделать ваши data классами полностью чистыми от функций и перенести все в
extension function
. Подробнее об этом читайте в статье.Okkotlin
Writing clean models using extensions
Logic inside model classes? This week we will see how to maintain visual boundaries between logic and data in model classes.
Android Broadcast
Какой чип стоит в вашем смарфтоне?
Результаты опроса наглядно подтверждают, что Qualcomm Snapdragon - доминирующее решение у Android разработчиков и большинство из них сидит на Android.
#Room #Coroutines
Room 🔗 Flow
Room с каждой версии все больше и больше включает в себя поддержку Kotlin Coroutine. В последней версии (2.2) появилась возможно использовать Flow. Как это работает вы можете найти в статье.
Room 🔗 Flow
Room с каждой версии все больше и больше включает в себя поддержку Kotlin Coroutine. В последней версии (2.2) появилась возможно использовать Flow. Как это работает вы можете найти в статье.
Medium
Room 🔗 Flow
Coroutines support in Room has been increasing at every release: Room 2.1 added coroutines support for one-shot read / write operations and…
#Kotlin #Conference #Copengagen
Обзор Kotlin Conf'19
4-6 декабря прошла конференция Kotlin Conf 2019 и мне выдалась возможность побывать на ней лично. Я с удовольствием делюсь своими впечатлениями и докладами на который стоит обратить внимание (по мнению Android разработчика)
Обзор Kotlin Conf'19
4-6 декабря прошла конференция Kotlin Conf 2019 и мне выдалась возможность побывать на ней лично. Я с удовольствием делюсь своими впечатлениями и докладами на который стоит обратить внимание (по мнению Android разработчика)
Telegraph
Обзор Kotlin Conf'19
Всем привет! Меня зовут Кирилл Розов. Я создатель Telegram канала Android Broadcast и Head of Android Development в Humans.net. В своем обзоре я расскажу о впечатлениях от поездки пройдусь по докладам, которые я смог посмотреть или получил хороший отзыв от…