Обновление Android Jetpack от 21 сентября 2022
👉 Activity 1.6.0: добавлены 2 новых ActivityResultContracts - PickVisualMedia и PickMultipleVisualMedia, которые будут открывать PhotoPicker или DocumentProvider в зависимости от возможностей Android. Также интегрирована поддержка OnBackInvokedCallback из Android 13 через OnBackPressedDispatcher
👉 Annotation 1.5.0 - миграция на Kotlin, теперь полноценно поддерживаются все специфичные для Kotlin места применения аннотаций
👉 Benchmark 1.2.0-alpha04 - поддержка аргумента
👉 DrawerLayout 1.2.0-alpha01 - поддержка OnBackInvokedCallback из Android 13
👉 Fragment 1.5.3 - исправление багов
#jetpack #jetpackupdate
👉 Activity 1.6.0: добавлены 2 новых ActivityResultContracts - PickVisualMedia и PickMultipleVisualMedia, которые будут открывать PhotoPicker или DocumentProvider в зависимости от возможностей Android. Также интегрирована поддержка OnBackInvokedCallback из Android 13 через OnBackPressedDispatcher
👉 Annotation 1.5.0 - миграция на Kotlin, теперь полноценно поддерживаются все специфичные для Kotlin места применения аннотаций
👉 Benchmark 1.2.0-alpha04 - поддержка аргумента
dryRunMode.enable в macrobenchmark, который предназначен для ускорения локального запуска👉 DrawerLayout 1.2.0-alpha01 - поддержка OnBackInvokedCallback из Android 13
👉 Fragment 1.5.3 - исправление багов
#jetpack #jetpackupdate
👍18😐13⚡1
Android Asset Packaging Tool 2.0 (AAPT2) release notes
Полезная дока с разбором изменений инструмент AAPT2, которая используется для компиляции и упаковки ресурсов. Из доки узнал что
Полезная дока с разбором изменений инструмент AAPT2, которая используется для компиляции и упаковки ресурсов. Из доки узнал что
android:paddingHorizontal можно использовать и он будет конвертирован в android:paddingLeft и android:paddingRight на старых версиях Android😐23👍5🔥2
Ликбез по диплинкам. Часть 2: диплинки с нуля
Продолжение погружения в работу с deep link. Во второй части разбирается как добавить deep link разных типов в Android приложение
Первая часть тут
Продолжение погружения в работу с deep link. Во второй части разбирается как добавить deep link разных типов в Android приложение
Первая часть тут
👍12😐11👏1🤯1
📺 App Quality Insights window in Android Studio (3 мин)
Демонстрация интеграции Firebase Crashlytics в Android Studio Electric Eel (сейчас в Beta). Теперь ходить в консоль не придется и все будет подсвечиваться сразу в IDE
Демонстрация интеграции Firebase Crashlytics в Android Studio Electric Eel (сейчас в Beta). Теперь ходить в консоль не придется и все будет подсвечиваться сразу в IDE
👍54🔥19😐6
📺 Android NDK. Как писать под Android на C++ (40 мин)
Задал кучу вопросов про работу с Android NDK. Уровень познания С++ и NDK у меня базовый, так что интересно видео будет таким же как я.
🎧 Подкаст версия здесь
Если у вас есть интересный опыт в разработке, которым вы хотите поделиться в формате доклада или интервью, то пишите
#AndroidBroadcast #ndk
Задал кучу вопросов про работу с Android NDK. Уровень познания С++ и NDK у меня базовый, так что интересно видео будет таким же как я.
🎧 Подкаст версия здесь
Если у вас есть интересный опыт в разработке, которым вы хотите поделиться в формате доклада или интервью, то пишите
kirill@androidbroadcast.dev#AndroidBroadcast #ndk
👍36😐8🏆5
Composable Functions (7 мин)
Как создавать собственный UI компонент на Compose: синтаксис, правильная работа с состоянием, делать быструю рекомпозицию и др. улучшения
📺 Видео версия (10 мин)
#compose #madskills
Как создавать собственный UI компонент на Compose: синтаксис, правильная работа с состоянием, делать быструю рекомпозицию и др. улучшения
📺 Видео версия (10 мин)
#compose #madskills
😐20👍12🔥2⚡1
Субботнее утро с подборкой самых интересных видео за неделю
📺 Less code: Composable functions - MAD Skills (10 мин)
📺 App Quality Insights window in Android Studio (3 мин)
📺 Google Dev News (3 мин)
📺 Android NDK. Как писать под Android на C++ (40 мин)
#подборкавидео
📺 Less code: Composable functions - MAD Skills (10 мин)
📺 App Quality Insights window in Android Studio (3 мин)
📺 Google Dev News (3 мин)
📺 Android NDK. Как писать под Android на C++ (40 мин)
#подборкавидео
😐13👍9🔥1👏1
📺 Свежие новости мобильной разработки (17 мин)
Давно я уже не делал контента один. Возвращаюсь в игры после долгого перерыва с короткого выпуска новостей для патронов! Дальше больше
📺 Версия для подписчиков на YouTube
🎧 Подкаст версия
#AndroidBroadcast #ТолькоДляПатронов
Давно я уже не делал контента один. Возвращаюсь в игры после долгого перерыва с короткого выпуска новостей для патронов! Дальше больше
📺 Версия для подписчиков на YouTube
🎧 Подкаст версия
#AndroidBroadcast #ТолькоДляПатронов
😐55👍14🔥3😁2🤔1
📄 Migrating the AOSP QuickSearchBox App to Kotlin (7 мин)
История рефакторинга стандартного приложения из AOSP с Java на Kotlin:
👉 Опыт автоматической конвертации и баги
👉 Сравнение производительности (на Kotlin стало быстрее, размер билда больше)
Мне стало интересно что там было на Java, если на Kotlin стало быстрее?
#compose
История рефакторинга стандартного приложения из AOSP с Java на Kotlin:
👉 Опыт автоматической конвертации и баги
👉 Сравнение производительности (на Kotlin стало быстрее, размер билда больше)
Мне стало интересно что там было на Java, если на Kotlin стало быстрее?
#compose
🤔16👍4😁4
Что нового в Android Gradle Plugin 7.3.0 (AS Doplhin)
👉 Поддержка произвольной билд системы для C/C++
👉 Kotlin 1.5.20 - минимально поддерживаемый
👉 Включена по умолчанию генерация App Bundle с Store Archival. Это специальная оптимизация на будущее для устройств с маленьким объемом памяти
👉 Вместо объявление пакета через
👉 Поддержка API Level 33 (Android 13)
👉 Поддержка произвольной билд системы для C/C++
👉 Kotlin 1.5.20 - минимально поддерживаемый
👉 Включена по умолчанию генерация App Bundle с Store Archival. Это специальная оптимизация на будущее для устройств с маленьким объемом памяти
👉 Вместо объявление пакета через
android:package в AndroidManifest.xml теперь надо использовать свойство namespace в build.gradle👉 Поддержка API Level 33 (Android 13)
🤔23👍13🔥3😁1
Jetpack Compose Accompanist TwoPane
Разбор TwoPaneLayout компонента из Compose, для построения UI в приложениях с поддержкой Foldable устройств
#compose
Разбор TwoPaneLayout компонента из Compose, для построения UI в приложениях с поддержкой Foldable устройств
#compose
👍10🤔3😁1
Неочевидное про Fragment API. Часть 2. (Не) создаем инстанс
Продолжение серии статей про современные возможности Fragment. В новой части рассказывается про создание объектов:
👉 FragmentContainerView
👉 Fragment.onInflate()
👉 FragmentFactory - передаем параметры в конструктор Fragment законно
👉 Транзакции без создания Fragment
👉 Передача layout res id в конструктор
#fragment
Продолжение серии статей про современные возможности Fragment. В новой части рассказывается про создание объектов:
👉 FragmentContainerView
👉 Fragment.onInflate()
👉 FragmentFactory - передаем параметры в конструктор Fragment законно
👉 Транзакции без создания Fragment
👉 Передача layout res id в конструктор
#fragment
👍27🔥4🤔3⚡2😁2
ВКонтакте открывает доступ к собственным технологиям распознавания речи сторонним разработчикам
Хотите бесплатное распознавание речи в текст - можете бесплатно взять SDK от VK. Бесплатно можно будет использовать в инди-проектах. Открыли 2 модели: чисто речи и с шумами.
Попробовать через WEB можно здесь
#ml
Хотите бесплатное распознавание речи в текст - можете бесплатно взять SDK от VK. Бесплатно можно будет использовать в инди-проектах. Открыли 2 модели: чисто речи и с шумами.
Попробовать через WEB можно здесь
#ml
😁30👍20🤔5🥰2
Пример реализации вложенного скрола с Compose. Из коробки ничего как CoordinatorLayout нет, поэтому автор делится собственным решением. Исходники здесь
#compose
#compose
👍14😁9🤔2
Как работа с ресурсами вызывает микрофризы
Пример как загрузка большой картинки из ресурсов может приводить к фризам (отрисовка кадра больше положенного времени на него). Почему так? Ну надо загружать оптимальные размеры картинок, использовать любой загрузчик с кэшем даже для ресурсов
Автор подробнее разбирает как происходит загрузка и кэширование загрузки Drawable из ресурсов
#android #performance
Пример как загрузка большой картинки из ресурсов может приводить к фризам (отрисовка кадра больше положенного времени на него). Почему так? Ну надо загружать оптимальные размеры картинок, использовать любой загрузчик с кэшем даже для ресурсов
Автор подробнее разбирает как происходит загрузка и кэширование загрузки Drawable из ресурсов
#android #performance
👍13🤔7😁5⚡3
Android Lint and Detekt warnings in GitHub pull requests (6 мин)
Как настроить анализ кода Android приложения с помощью GitHub Actions на каждом Pull Request
Как настроить анализ кода Android приложения с помощью GitHub Actions на каждом Pull Request
👍9😁7🤔3
Пример организации навигации в многомодульном приложении с UI на Jetpack Compose на основе Jetpack Navigation
По моему опыту, Jetpack Compose Navigation - боль! Вообще не хочется с ним работать, берите что другое для навигации или точно убедитесь что оно вам подойдет
#compose #navigation
По моему опыту, Jetpack Compose Navigation - боль! Вообще не хочется с ним работать, берите что другое для навигации или точно убедитесь что оно вам подойдет
#compose #navigation
👏16🤔9😁7👍6
Костяк для подготовки CI/CD для Android приложений
Ребят тут сделали шаблон для быстрой настройки CI/CD не основе Fastlane для GitLab CI или GitHub Actions, уведомления Slack
#ci
Ребят тут сделали шаблон для быстрой настройки CI/CD не основе Fastlane для GitLab CI или GitHub Actions, уведомления Slack
#ci
👍25🔥7🤔5😁4
Prioritizing App Stability — Mobile Performance@Lyft (8 мин)
Разработчик Lyft делится опытом оптимизации скорости работы приложения: время запуска, стабильность и скорость отрисовки. В этой части они рассказывают как анализировали креши: категоризация, работа с OOM и ANR
#performance
Разработчик Lyft делится опытом оптимизации скорости работы приложения: время запуска, стабильность и скорость отрисовки. В этой части они рассказывают как анализировали креши: категоризация, работа с OOM и ANR
#performance
🤔14🔥5😁4👍2