Помимо канала Android Broadcast множество всего интересного можно найти в группе @android_broadcast_talks
👉 Задать вопрос сообществу Android разработчиков
👉 Помочь найти аргументы и практики, чтобы разрешить холивар
👉 Получить помощь в выборе ноутбука для разработки под Android
Кучу всего мы обсуждаем там ежедневно. Присоединяйся и ты @android_broadcast_talks
👉 Задать вопрос сообществу Android разработчиков
👉 Помочь найти аргументы и практики, чтобы разрешить холивар
👉 Получить помощь в выборе ноутбука для разработки под Android
Кучу всего мы обсуждаем там ежедневно. Присоединяйся и ты @android_broadcast_talks
#AndroidBroadcast #Kotlin #ViewBinding
Android ViewBinding KTX (20 мин)
Новое видео на канале Android Broadcast в котором рассказываю о:
👉 История ViewBinding
👉 ViewBinding под капотом
👉 Как упростить работу с помощью ViewBindingPropertyDelegate
Жду ваши лайки и подписки на канал. В следующем видео буду рассказывать о миграции с LiveData на Flow
Android ViewBinding KTX (20 мин)
Новое видео на канале Android Broadcast в котором рассказываю о:
👉 История ViewBinding
👉 ViewBinding под капотом
👉 Как упростить работу с помощью ViewBindingPropertyDelegate
Жду ваши лайки и подписки на канал. В следующем видео буду рассказывать о миграции с LiveData на Flow
#Dagger #DependencyInjection
Вышел Dagger 2.31
Новая версия Dagger радует новыми фичами:
🔥 Поддержка Assisted Injection - возможность передать параметры во время создания объекта, а не из DI графа. Подробности здесь
Hilt:
👉
👉
👉 Удалили
👉 Небольшие улучшения в настройке Gradle плагина и поддержке многомодульных проектов
Вышел Dagger 2.31
Новая версия Dagger радует новыми фичами:
🔥 Поддержка Assisted Injection - возможность передать параметры во время создания объекта, а не из DI графа. Подробности здесь
Hilt:
👉
@TestInstallIn - позволяет описывать глобально подмену тестовых модулей вместо @UninstallModules на отдельных тестах👉
@HiltViewModel - замена @ViewModelInject. Отличается тем что делает inject из ViewModelComponent с @ViewModelScope. Подробнее здесь 👉 Удалили
ApplicationComponent. Мигрируемся на SingletonComponent👉 Небольшие улучшения в настройке Gradle плагина и поддержке многомодульных проектов
#Coroutines #Lifecycle
Deep Dive Into Android Lifecycle Coroutines
Разбор как работают CoroutineScope, которые являются частью библиотеки lifecycle-ktx, и какие особенности есть в их поведении.
Deep Dive Into Android Lifecycle Coroutines
Разбор как работают CoroutineScope, которые являются частью библиотеки lifecycle-ktx, и какие особенности есть в их поведении.
#Jetpack
Обновление библиотек Jetpack 13.01.2021
Annotation 1.2.0-beta01
👉 Аннотация
AppCompat 1.3.0-beta01
👉 Часть стандартных иконок была замена на векторные
👉 Изменения в API
Core 1.5.0-beta01
👉 Добавлено Insets Animation API
👉 Улучшения API OnReceiveContentListener
👉 Уведомления могут быть помечены как пропущенный звонок
👉 Впервые увидел раздел "External Contribution"
Кажется, после 1.3.X будет сразу релиз 1.5.0
DataStore 1.0.0-alpha06
👉 Поддержка RxJava 2/3
👉 Изменения в API
Также вышли
👉 Work 2.5.0-rc01
👉 Slice 1.1.0-alpha02 (кто их использует просьба написать @krlrozov)
👉 ShareTarget 1.1.0
👉 Enterprise 1.1.0
👉 MediaRouter 1.2.1
Обновление библиотек Jetpack 13.01.2021
Annotation 1.2.0-beta01
👉 Аннотация
@DoNotInline чтобы отключить inline метода в R8AppCompat 1.3.0-beta01
👉 Часть стандартных иконок была замена на векторные
👉 Изменения в API
Core 1.5.0-beta01
👉 Добавлено Insets Animation API
👉 Улучшения API OnReceiveContentListener
👉 Уведомления могут быть помечены как пропущенный звонок
👉 Впервые увидел раздел "External Contribution"
Кажется, после 1.3.X будет сразу релиз 1.5.0
DataStore 1.0.0-alpha06
👉 Поддержка RxJava 2/3
👉 Изменения в API
Также вышли
👉 Work 2.5.0-rc01
👉 Slice 1.1.0-alpha02 (кто их использует просьба написать @krlrozov)
👉 ShareTarget 1.1.0
👉 Enterprise 1.1.0
👉 MediaRouter 1.2.1
#MADSkills #Jetpack #Kotlin
MAD Skills Kotlin and Jetpack: wrap-up
Подведение итогов серии MAD Skills о Kotlin и Jetpack. Что было:
👉 Использование KTX библиотек
👉 Как упростить API с помощью Coroutines и Flow
👉 Room KTX
👉 WorkManager KTX
👉 Советы от сообщества
👉 Q&A в прямом эфире (запись)
MAD Skills Kotlin and Jetpack: wrap-up
Подведение итогов серии MAD Skills о Kotlin и Jetpack. Что было:
👉 Использование KTX библиотек
👉 Как упростить API с помощью Coroutines и Flow
👉 Room KTX
👉 WorkManager KTX
👉 Советы от сообщества
👉 Q&A в прямом эфире (запись)
#AndroidBroadcast #LiveStream
🔴 За 2 зайцами: нужно ли уметь разрабатывать под Android и iOS (прямой эфир)
Сегодня в 19.00 (GMT+3) соберёмся, чтобы обсудить стоит ли разрабатывать под две мобильные платформы или сконцентрироваться на одной. Не обойдем стороной и трансформацию нативных разработчиков в кроссплатформенные
Гость - Алексей Гладков, автор канала Mobile Developer, технический архитектор Леруа Мерлен, барабанщик, прогеймер
🔴 За 2 зайцами: нужно ли уметь разрабатывать под Android и iOS (прямой эфир)
Сегодня в 19.00 (GMT+3) соберёмся, чтобы обсудить стоит ли разрабатывать под две мобильные платформы или сконцентрироваться на одной. Не обойдем стороной и трансформацию нативных разработчиков в кроссплатформенные
Гость - Алексей Гладков, автор канала Mobile Developer, технический архитектор Леруа Мерлен, барабанщик, прогеймер
#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