#Android11 #ScopedStorage
Scoped Storage: Не надо бояться (33 мин)
С августа 2021 все новые приложения и с ноября 2021 все обновления существующих приложений должны использовать targetSdk 30.
К изменениям лучше готовиться заранее и одно из самых крупных изменений, пришедшее с Android 11 - Scoped Storage. Начиная с targetSdk=30 флаг android:requestLegacyExternalStorage будет игнорироваться и вопрос миграции становится более актуальным. По данной теме Redmadrobot выложили запись со своего внутреннего митапа:
Таймкоды:
01:15 Disclaimer
02:10 Почему не нужно бояться
04:10 App-specific files
06:35 Cпособы обращения к Storage
08:05 Моменты из практики
16:03 Чек-лист для проверки
18:35 Permissions
21:35 Миграция
24:10 Вопросы
Ссылки из доклада:
📄Scoped Storage
📄Storage updates in Android 11
📄App data and files
Scoped Storage: Не надо бояться (33 мин)
С августа 2021 все новые приложения и с ноября 2021 все обновления существующих приложений должны использовать targetSdk 30.
К изменениям лучше готовиться заранее и одно из самых крупных изменений, пришедшее с Android 11 - Scoped Storage. Начиная с targetSdk=30 флаг android:requestLegacyExternalStorage будет игнорироваться и вопрос миграции становится более актуальным. По данной теме Redmadrobot выложили запись со своего внутреннего митапа:
Таймкоды:
01:15 Disclaimer
02:10 Почему не нужно бояться
04:10 App-specific files
06:35 Cпособы обращения к Storage
08:05 Моменты из практики
16:03 Чек-лист для проверки
18:35 Permissions
21:35 Миграция
24:10 Вопросы
Ссылки из доклада:
📄Scoped Storage
📄Storage updates in Android 11
📄App data and files
👍1
#AndroidBroadcast #Новости
📺 Пилотный выпуск новостей от Android Broadcast (14 мин)
Обсуждаем новости, статьи и самые интересные события в мире мобильной разработки и около неё.
Оставляйте ваши отзывы в комментариях на YouTube. Это очень помогает улучшать качество контента.
P.S. Качество звука получилось не очень. В ближайшее время будет исправлено с помощью нового микрофона.
📺 Пилотный выпуск новостей от Android Broadcast (14 мин)
Обсуждаем новости, статьи и самые интересные события в мире мобильной разработки и около неё.
Оставляйте ваши отзывы в комментариях на YouTube. Это очень помогает улучшать качество контента.
P.S. Качество звука получилось не очень. В ближайшее время будет исправлено с помощью нового микрофона.
#GooglePlay
Google Play начал показывать рост или падение в рейтингах
Google Play в списках самых популярных приложений начал показывать, растет ли приложение в чартах или падает. Это стрелка вверх или вниз.
Повлияет ли такой индикатор на ваше решение установить приложение? Голосуем 👍 или 👎
Google Play начал показывать рост или падение в рейтингах
Google Play в списках самых популярных приложений начал показывать, растет ли приложение в чартах или падает. Это стрелка вверх или вниз.
Повлияет ли такой индикатор на ваше решение установить приложение? Голосуем 👍 или 👎
#AndroidOS
The legend about AIDL
Разбор механизма для коммуникации между процессами в Android
Статья из трёх частей:
1️⃣ Основы
2️⃣ AIDL в действии
3️⃣ Где используется AIDL в Android
The legend about AIDL
Разбор механизма для коммуникации между процессами в Android
Статья из трёх частей:
1️⃣ Основы
2️⃣ AIDL в действии
3️⃣ Где используется AIDL в Android
#Безопасность #Networking
📺 Android Guards "Как прикрутить и отломать SSL pinning. CetificatePinner & NSC vs Reverse Engineer" (36 мин)
Автоматическое откручивание SSL pinning-а не всегда хорошо работает и порой приходится выпиливать его руками, чтобы посмотреть трафик приложения.
Автор пишет приложение с двумя видами пиннинга сертификатов и обфусцирует его. Также продемонстрировал работу взломщика с таким приложением.
📺 Android Guards "Как прикрутить и отломать SSL pinning. CetificatePinner & NSC vs Reverse Engineer" (36 мин)
Автоматическое откручивание SSL pinning-а не всегда хорошо работает и порой приходится выпиливать его руками, чтобы посмотреть трафик приложения.
Автор пишет приложение с двумя видами пиннинга сертификатов и обфусцирует его. Также продемонстрировал работу взломщика с таким приложением.
#Jetpack #AppStartup
A Warning Regarding Android App Startup with Multiprocess Apps
Библиотека Jetpack App Startup, должна ускорить запуск приложения, но не тут так все было. Есть проблемы при работе с приложениями, которые используют несколько процессов, потому что чтоб App Startup работает только на процессе по умолчанию. В статье найдете рецепт как изменить процесс на котором работает библиотека
A Warning Regarding Android App Startup with Multiprocess Apps
Библиотека Jetpack App Startup, должна ускорить запуск приложения, но не тут так все было. Есть проблемы при работе с приложениями, которые используют несколько процессов, потому что чтоб App Startup работает только на процессе по умолчанию. В статье найдете рецепт как изменить процесс на котором работает библиотека
#AndroidStudio
StudioFlags.java - файл, содержащий все флаги Android Studio. Вы сможете узнать пару секретов и включить/выключить то что вам нужно/не нужно.
StudioFlags.java - файл, содержащий все флаги Android Studio. Вы сможете узнать пару секретов и включить/выключить то что вам нужно/не нужно.
#LiveData #Coroutines #Flow
Migrate from LiveData to StateFlow and SharedFlow
Руководство по миграции с LiveData на Flow и его вариации. Также рассматривается почему это надо делать и какие преимущества даёт Flow.
Migrate from LiveData to StateFlow and SharedFlow
Руководство по миграции с LiveData на Flow и его вариации. Также рассматривается почему это надо делать и какие преимущества даёт Flow.
#AndroidStudio #Performance
Can you trust time measurements in Profiler?
6 минут 📺 Видео версия
Если нужно проанализировать производительность, то в первую очередь надо взять замеры. В этом нам поможет Profiler, который встроен в Androdi Studio.
В статье/видео приводятся доказательства, что не всегда он показывает верные результаты. Решением служит использование Systrace или Jetpack Benchmark Library.
Can you trust time measurements in Profiler?
6 минут 📺 Видео версия
Если нужно проанализировать производительность, то в первую очередь надо взять замеры. В этом нам поможет Profiler, который встроен в Androdi Studio.
В статье/видео приводятся доказательства, что не всегда он показывает верные результаты. Решением служит использование Systrace или Jetpack Benchmark Library.
#Gradle #Kotlin
Вышел Gradle 6.8
Новый релиз Gradle сосредоточился на скорости, а именно:
🚀 Ускорение компиляции build скриптов на Kotlin DSL
👉 Добавлена поддержка пропуска компиляции для Gradle Kotlin DSL скриптов
👉 Больше совпадений кэша
👉 Улучшение конфигурационного кэша
👉 Улучшение composite builds
👉 Улучшение управления зависимостями: консистентность между runtime и compile зависимостями
👉 В
👉 Исправление багов
Вышел Gradle 6.8
Новый релиз Gradle сосредоточился на скорости, а именно:
🚀 Ускорение компиляции build скриптов на Kotlin DSL
👉 Добавлена поддержка пропуска компиляции для Gradle Kotlin DSL скриптов
👉 Больше совпадений кэша
👉 Улучшение конфигурационного кэша
👉 Улучшение composite builds
👉 Улучшение управления зависимостями: консистентность между runtime и compile зависимостями
👉 В
settings.gradle(.kts) теперь можно объявить репозитории для всех зависимостей проектов, component metadata rules и блокировку динамического версионирования (1.+)👉 Исправление багов
#Архитектура #Coroutines #Reaktive
MVI Architecture with Kotlin Flows and Channels
Разбор построения архитектуры Model — View — Intent (MVI) на основе Coroutines. В статье разбирается:
👉 Основы MVI
👉 Разница
👉 Пример реализации простого приложения
MVI Architecture with Kotlin Flows and Channels
Разбор построения архитектуры Model — View — Intent (MVI) на основе Coroutines. В статье разбирается:
👉 Основы MVI
👉 Разница
StateFlow, SharedFlow, Channel👉 Пример реализации простого приложения
Какой голосовой помощник вы используете на регулярной основе? (МНОЖЕСТВЕННЫЙ ВЫБОР)
Final Results
22%
Google Assistant
5%
Apple Siri
1%
Amazon Alexa
12%
Яндекс Алиса
1%
Маруся Mail.ru
1%
Решения от Сбер
66%
Не пользуюсь
1%
Другой ассистент
4%
Не участвую в опросе
#Dagger #Hilt
Hilt: custom entry points
Руководство по созданию собственных Entry Point в Dagger Hilt. Полезно если вам нужно отвязать компоненты от жизненного цикла компонентов Android:
Hilt: custom entry points
Руководство по созданию собственных Entry Point в Dagger Hilt. Полезно если вам нужно отвязать компоненты от жизненного цикла компонентов Android:
Application, Activity, Fragment, View, Service, BroadcastReceiverВсем привет. Решил обратиться к сообществу за помощью. Порой возникают задачки, на которые тратится много времени. Буду очень признателен, если кто-то отзовётся, чтобы помочь в
👉 Делать таймкоды для выпусков подкаста
👉 Разработка сайта
👉 Бот в Telegram
👉 Публикация анонсов в соц. сетях
Со своей стороны я могу предложить свою помощь в рамках моих компетенций. Пишите Кириллу @krlrozov, чтобы откликнуться.
👉 Делать таймкоды для выпусков подкаста
👉 Разработка сайта
👉 Бот в Telegram
👉 Публикация анонсов в соц. сетях
Со своей стороны я могу предложить свою помощь в рамках моих компетенций. Пишите Кириллу @krlrozov, чтобы откликнуться.
#AndroidBroadcast #Multiplatfrom #Livecoding
🔴 Превращаем Android приложение в Kotlin Multiplatform
Понедельник, 25 января, 10:00 GMT+3
В прямом эфире переведём приложение из Android в Kotlin Multiplatform для поддержки Android и iOS одновременно.
Эксперт - Анна Жаркова, Mobile Lead Developer/Usetech
Разработчик с опытом более 7, пишет нативно под IOS (Swift/Objective-C), Android (Kotlin/Java) и кросс-платформу. Интересуется Kotlin Multiplatform. Помимо этого преподаёт в Otus на курсах по iOS. В свободное время изучает немецкий и китайский языки, увлекается живописью
🔴 Превращаем Android приложение в Kotlin Multiplatform
Понедельник, 25 января, 10:00 GMT+3
В прямом эфире переведём приложение из Android в Kotlin Multiplatform для поддержки Android и iOS одновременно.
Эксперт - Анна Жаркова, Mobile Lead Developer/Usetech
Разработчик с опытом более 7, пишет нативно под IOS (Swift/Objective-C), Android (Kotlin/Java) и кросс-платформу. Интересуется Kotlin Multiplatform. Помимо этого преподаёт в Otus на курсах по iOS. В свободное время изучает немецкий и китайский языки, увлекается живописью
Peeking behind the forbidden door of Reflection
Reflection API в Java/Kotlin может разрушить ваш код, так как сможет вызвать ваше приватное API. Будьте осторожны
Reflection API в Java/Kotlin может разрушить ваш код, так как сможет вызвать ваше приватное API. Будьте осторожны
#Jetpack #Compose
Helping You Understand The Syntax of Jetpack Compose
Приход Jetpack Compose не только поменяет то как мы пишем UI, но и подход в коде. Вместо ООП подхода мы будем использовать функциональную композицию.
Helping You Understand The Syntax of Jetpack Compose
Приход Jetpack Compose не только поменяет то как мы пишем UI, но и подход в коде. Вместо ООП подхода мы будем использовать функциональную композицию.
#Hilt #ViewModel
Using Hilt’s ViewModelComponent
В Dagger 2.31 появился ViewModelComponent и соответствующий Scope. Для того чтобы переиспользовать сущности за пределами жизни Activity у нас существует теперь 2 scope:
Using Hilt’s ViewModelComponent
В Dagger 2.31 появился ViewModelComponent и соответствующий Scope. Для того чтобы переиспользовать сущности за пределами жизни Activity у нас существует теперь 2 scope:
@ViewModelScoped и @ActivityRetainedScoped#Тестирование
Вышел Robolectric 4.5 в котором появилась поддержка Android API 30 (Android 11), множество исправлений багов и улучшений
Вышел Robolectric 4.5 в котором появилась поддержка Android API 30 (Android 11), множество исправлений багов и улучшений
#Fragment #Navigation
Началась работа над поддержкой множества back стеков в Fragment. Подробности на официальном issue tracker. Ждать нововведение раньше версии AndroidX Fragment 1.4.0. Также поддержку множества back стеков получит и Navigation Component 2.4.0
Началась работа над поддержкой множества back стеков в Fragment. Подробности на официальном issue tracker. Ждать нововведение раньше версии AndroidX Fragment 1.4.0. Также поддержку множества back стеков получит и Navigation Component 2.4.0