Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
📺 Свежий выпуск новостей мобильной разработки (17 мин)
👉 Microsoft делает ставку на ChatGPT
👉 Курсы по Jetpack Compose
👉 KSP рекомендуется для использования

#AndroidBroadcast
👍30👎8🔥5
Вышел Gradle 8.0.2 с исправлениями багов
🤔25👍14👎6
This media is not supported in your browser
VIEW IN TELEGRAM
Если в свежей версии Android Studio у вас стал тормозить эмулятор, то возможно это связано с настройкой аппратного ускорения. В настройках эмулятора поставьте в опции "Graphics acceleration" из автоматического в hardware (HW).

#androidstudio
👍93👎5🔥4
Опубликовали полное пошаговое руководство по публикации и подключения монетизация (только для юр. лиц) в RuStore. Все приправлено скриншотами и рассматриваются физ. и юр. лица.

Кому интересно узнать про RuStore, то совсем недавно я взял интервью у операционного директора RuStore. Смотреть тут

#rustore
👎112👍41🔥3
Опыт интеграции использования Relay - инсторумента для генерации Compose кода из прототипов в Figma

#compose #tooling
🔥38👎9🤔3👍2
Вышла вторая Dev Preview Android 14, которую можно ознаменовать как "еще больше ограничений для разработчиков" и радость для магазинов приложений!
👉 Выдача доступа приложения к отдельным фото и видео, вместо всех (аналогично на iOS)
👉 Credential Manager - единая точка работы с sign-in. Через Jetpack это API уже портировано на Android 4.4+
👉 Дополнительные ограничения по запуску Activity из фона
👉 Больше ограничений на фоновую работу
👉 Новое API в PackageInstaller позволит каждый раз не запрашивать установку приложений, а сделать это один раз для приложений. Альтернативным магазинам станет жить проще
👉 Региональные настройки для всей системы и для каждого приложения
👉 Разработчики смогут определить когда делаются скриншоты

Все изменения я разберу в отдельных постах

@android_broadcast #android14
👍31👎11🔥3😢2
Анонсировали Google I/O 2023, который пройдет 10 мая 2023. Событий пройдет оффлайн в Калифорнии, а также будет онлайн трансляция. По слухам могут показать Pixel Tablet и Pixel 7a, а также другие софтовые новинки. Тема чат бота, аналога GhatGPT, будет очень важной
👍25👎8
Еще один анонс мероприятия - TheAndroidShow, посвященное большим экранам, складным Android смартфонам и Compose. Событий пройдет сегодня, 9 марта, в 20:00 (GMT+3)
👎13👍111
Команда Android и Google Play рассказали про свои ключевые направление в обеспечении безопасности и инициативы
👉 Разработка рекламного решения, которое будет лучше защищать приватность пользователей (Privacy Sandbox)
👉 Больше контроля на данными для пользователей
👉 Защита приложений от атак (Play Integrity API)
👉 Улучшение защиты детей и семей
👉 Больше ответственности разработчиков за сбор и использование данных
👉 Поощрение инноваций разработчиков при сохранении безопасности пользователей
👉 Лучший опыт с политиками Google Play и консолью разработчика

#googleplay
👎12👍6
Extending the Android SDK — SDKExtensions (5 мин)

Погружение в Android SDK Extentions - надстройка над Android SDK, которая позволяет работать с функционалом, который распространяется через систему обновлений модульных компонентов Android
👍16👎7
📺 Что внутри APK. App Bundle. Google Play Dynamic Feature (14 мин)

В видео я рассказываю про то из чего состоит APK, как Google подходила к уменьшению размера загружаемого APK. App Bundle, Google Play Dynamic Delivery, Dynamic Feature и другое

Продолжение видео "Как уменьшить размер приложения" уже доступно на Boosty для патронов
#AndroidBroadcast #googleplay
🔥26👎7👍6
Обновление Android Jetpack от 8 марта 2023

Lifecycle 2.6.0
👉 Метод LiveData.isInitialized() позволит проверить задавалось ли значение в LiveData
👉 Стабильный collectAsStateWithLifecycle() в Compose. Подробности тут
👉 Методы Lifecycle.launchWhenX теперь deprecated. Используйте Lifecycle.repeatOnLifecycle
👉 Множество классов переписали на Kotlin

RecyclerView 1.3.0
👉 Улучшение производительности при работе с Compose

Что еще:
👉 Первая RC Jetpack Compose 1.4
👉 Исправление багов
👉 Поддержка Android 14

#jetpack #jetpackupdate
👍27👎6🔥1
В Циан попробовали перейти с Dagger на Yatagan (аля Dagger Lite) и оценить эффект на скорость сборки проекта.

Характеристики проекта: 479 Gradle модулей, 813K строк Kotlin, 53K строк Java и 136K строк XML, 528 Dagger компонентов

Важно - при тестах проекта перейти на ksp и полностью избавиться от kapt не получилось из-за других библиотек (Moxy), но автор просто сделал тест с отключением генерации кода через kapt.

Результаты - сокращение времени сборки на 17-25%. Очень не хватило показателей сколько будет строк кода сгенерировано Yatagan по сравнению с Dagger, а также размер финальной сборки

#dagger #performance
👍38👎19
В Android 14 пользователь сможет выдавать доступ на чтение не всех фото/видео из галереи, а лишь к выбранным. Этот функционал уже есть на iOS вот теперь приходит и на Android, что лишний раз показывает сближение двух основных мобильных ОС.

Добавили новое разрешение READ_MEDIA_VISUAL_USER_SELECTED, которое позволяет повторно запросить выбор к отдельным фото/видео. Новое разрешение должно использоваться в дополнение к READ_MEDIA_IMAGES и READ_MEDIA_VIDEO (из Android 13), чтобы поддержать новое поведение. Его объявление означает, что вы поддерживаете из кода повторный запрос на частичный доступ к фото/видео.

Если вашему приложение нужен доступ к фото/видео при работе из фона, то настоятельно рекомендуется поддержать новое разрешение для корректной работы.

@android_broadcast #android14
👍28😢16👎9
Credential Manager стал частью API Android платформы, но напрямую вам использовать его не придется. Все также это будет делаться через Jetpack API.

CredentialManager - это специальное API, которое поддерживает различные методы входа: логин/пароль, passkey, "Sign-in with Google" и другие. Все способы реализованы через единое стандартизированное API в Jetpack.

#android14
👍30👎6🔥4
Android Broadcast - это не только Telegram канал, но и множество других ресурсов

📣 Мы в Telegram
@kotlin_broadcast - новости Kotlin
@android_broadcast_talks - чатик про Android разработку
@rozov_blog - личный блог Кирилла где он делится своей жизнью
@ios_broadcast - новости iOS (развиваем)
@android_broadcast_bot - предложка контента, реклама, связь с командой

📺 YouTube канал "Android Broadcast" - видео по Android разработки, интервью с экспертами

👨‍🎓 YouTube канал - это также и площадка где вы можете выступить. Темы по которым мы экспертов здесь, либо предложить свою можно здесь

🎧 Часть выпусков можно еще послушать и в виде подкастов на популярных площадках

👕 Мы делаем крутые фирменные майки, которые нестыдно носить. Смотрите здесь

Также вы представлены и на других площадках.
👉 Сообщество в VK
👉 Дзен
👉 Группа в LinkedIn
👉 Twitter
-----
Если вы хотите получать вам нравится что я делаю, вы хотите чтобы это продолжалось и получить экслюзивный контент, то вы можете подписаться на Boosty.
👍12👎12
В Android 14 добавили новое API в PackageManager, которое позволит улучшить пользовательский опыт магазинов приложений.

Сейчас сторонним магазинам при каждой установке нового или обновлении существующего приложения приходится получать разрешение пользователя на установку. Это также делает невозможным обновление приложений в фоне.

С помощью PackageInstaller.Session.requestUserPreapproval() можно запросить разрешение один раз в рамках сессии (установка нескольких APK), а не навсегда (

#android14
🔥34👍8👎7
Следующая новинка для сторонних магазинов в API - PackageInstaller.SessionParams.setRequestUpdateOwnership(). Метод позволяет сменить приложение, которое ответственно за обновления приложения и запрос на установку обновления из такого приложения не будет показываться пользователю. Для работы этого метода надо будет запросить разрешение ENFORCE_UPDATE_OWNERSHIP

@android_brodcast #android14
🔥20👎5👍3🤯2
Новый класс PackageInstaller.InstallConstraints позволит задавать условия, когда может быть выполнено обновление приложения, а именно:
👉 Приложение не на переднем плане
👉 Пользователь не взаимодействует с приложением
👉 Приложение не в Foreground (невидимо и нет Foreground Service)
👉 Устройство не используется
👉 Нет активного звонка

Появилось 3 новых методы в PackageInstaller, которые позволяют задавать требования для установки:
👉 checkInstallConstraints() - асинхронный метод, который проверяет удовлетворяет ли требованиям приложение для установки
👉 commitSessionAfterInstallConstraintsAreMet() - коммитит сессию, только когда все требования будут удовлетворены
👉 waitForInstallConstraints() - асинхронных метод. Аналог checkInstallConstraints(), но вызывается когда требования для установки будут удовлетворены

@android_broadcast #android14
🔥13👍6👎5
Метод setDontKillApp() позволяет запросить у системы не убивать обновляемое приложения в рамках установки его дополнительных частей. Так работает установка частей приложения, распространяемых через App Bundle. По умолчанию сейчас приложение будет убиваться, даже если этого не требуется.

Для сторонних магазинов это позволит сделать нормально свой аналог Google Play Dynamic Delivery

P.S. Спасибо всем тем кто меня поправил и я сразу переписал пост

@android_broadcast #android14
👍46👎9🤯2