Android Broadcast
14.2K subscribers
3.51K photos
338 videos
11 files
5.87K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#ViewBinding #Kotlin

Make Android View Binding great with Kotlin
2 минуты на чтение, автор Кирилл Розов

Android View Binding - это прекрасная фича Android Gradle Plugin 3.6, которая убила findViewById() и Butter Knife. Но ее правильно использование - это не самая удобная вещь.

В статье рассматривается как с помощь Kotlin Delegated Property упростить это и какая хитрость поджидает в Fragment.viewLifecycleOwner
#Dagger

Dagger Party Tricks: Extension Functions

Kotlin Extension Functions - одна из самых популярных возможностей языка Kotlin. Ее можно применить не только чтобы добавить новый функционал, но и улучшить написание модулей в Dagger 2.

В статье рассматривается как упростить объявление зависимостей @Provider и @Binds
#Meetup #Online

Как стать разработчиком, которого хочет в свою команду каждый, разбор доклада

Йонатан Левин, Денис Неклюдов, Евгений Кот и Игорь Луканин пройдутся по прошлому докладу Йонатана Левина про то, как стать разработчиком, которому будут рады в любой команде разработки.

За два часа учатсники посмотрят доклад, услышат разные мнения на счет него и ответят на вопросы зрителей.
#Activity

Deep Dive into Activity Results API — No More onActivityResult()

Новая версия библиотеки androidx.activity (1.2.0) принесет нам отключение onActivityResult() в пользу нового API Activity Results API. Причем уже до релиза стабильной версии документация уже переехала на новый способ.

В статье вы найдет подробный разбор с новым API:
👉 ActivityResultContract и как его использовать
👉 Встроенные ActivityResultContract: TakePicture, GetContent и др.
👉 Запрос системных permission: RequestPermission и RequestMultiplePermissions
#Fragment

Android Fragments: Fragment Result

Помимо улучшений в работе с Activity.onActivityResult(), разработчики из Google также трудятся над улучшением коммуникацией между Fragment.

В библиотеке androidx.fragment версии 1.3.0 (находится в разработке) Fragment.setTargetFragment() теперь deprecated. На замену этому API пришел FragmentResultListener в FragmentManager
#Fragment

Пример работы с Fragment Result API
#Coroutines #Kotlin

Kotlin Coroutines - Use Cases on Android

Github репозиторий, в котором есть примеры использования Kotlin Coroutine в разных случаях:
👉 сетевые операции
👉 работа с БД (Room)
👉 отладка
👉 обработка исключений
👉 WorkManager + Coroutines
👉 анализ производительности

Каждый из рассмотренных примеров хорошо описан
#Conference #Online

TechLead Conf 2020 Online (8-9 июня)
Онлайн-конференция, полностью посвященная инженерным процессам и практикам

Программа TechLead Conf 2020 Online охватывает прикладные и концептуальные аспекты инженерных практик. Прикладные — кейсы внедрения и использования конкретных решений «в бою». Концептуальные — кто такой техлид, как им стать, куда развиваться.

На конференции будут обсуждать все этапы жизненного цикла инженерных практик — от появления идеи внедрения до измерения результатов после успешного запуска. Устроят открытый обмен решениями типичных задач: работа с legacy, изменение архитектуры, вмешательство в процесс разработки.

Стоимость билета на время карантина снижена в 4 раза (4900 ₽ или 66$)! Купить билет здесь
#RecyclerView

Restore RecyclerView scroll position

В следующей версии android.recyclerview 1.2.0 (пока в разработке) будет улучшено восстановление позиции скролла для случая, когда данные для адаптера загружаются асинхронно, до того как происходит восстановление состояние RecyclerView.

Новая возможность - это метод Adapter.setStateRestorationPolicy(), который позволяет установить одно из 3 значений для восстановления позиции:
👉 ALLOW - восстановление сразу же (режим по умолчанию)
👉 PREVENT - ожидает когда вы зададите другой режим восстановления
👉 PREVENT_WHEN_EMPTY - только когда адаптер не пустой
#Navigation #AppBundle #DynamicDelivery

Navigating your way around customizable delivery

Android App Bundle - это формат, который упростил распространение приложений под Android и сделал размер их для пользователей меньше. Помимо всего с помощью него вы можете воспользоваться такой возможностью как Dynamic Delivery

В статье рассказывается о:
👉 Возможности App Bundle
👉 Dynamic Delivery
👉 Текущие возможности этих фичей
👉 Будущие возможности
👉 Поддержка Dynamic Feature в AndroidX Navigation
👉 Библиотека Play Core Ktx
#Podcast

Android Broadcast Podcast - Huawei Mobile Services

Не Google Play Services единым! Huawei разрабатывает свои собственные сервисы Huawei Mobile Services и свой магазин приложений App Gallery. Поговорили с представителем компании о доступных сервисах, что есть в магазине, как выйти на китайский рынок и насколько все там хорошо

Гость - Жигарьков Иван, Developer Advocate в Huawei Cloud Russia
#Gradle

Вышел Gradle 6.4

👉 Поддержка Java Module System aka Project Jigsaw
👉 Precompiled Groovy DSL script plugins. Фича перекочевали из Gradle Kotlin DSL
👉 Single dependency lock file per project
👉 Мелкие улучшения и фикс багов

Для Android разработчиков не так много чего интересного ☹️
#Android11

Join us for #Android11: The Beta Launch Show!

Запуск публичной beta версии Android 11 (сейчас выпускаются версии для разработчиков) будет отмечен целым шоу. Раньше оно проходило в рамках Google I/O, в этом году смотрим онлайн

Когда: 3 июня, среда, 18:00 (время московское)
Где: YouTube канал Android Developers
​​#Android11

Android 11: Beta Plans

Карантин внес коррективы в график выход сборок Android 11 - все двигается на месяц вперед. Также стала доступна Developer Preview 4 в которой нет серьезных изменений
#UI

Refactoring Android Themes with Style

Рекомендации по работе по структуризации тем и стилей в Android на основе доклада “Developing Themes with Style” от  Nick Butcher и Chris Banes. Также в статье разбирается рефакторинг нескольких тем на одну.

Подход очень интересный и я возьму его себе на заметку, так как раньше делал по другому
How to list Third-Party Dependencies Licenses in your Android app

Разбор как настроить OSS Licenses Gradle плагина, который позволяет вам добавить в приложение Activity, которая выведет всех библиотек, подключенных в ваше приложение, и их лицензии
#GooglePlay #AppSigning

Answers to common questions about App Signing by Google Play

Google Play App Signing - это система безопасного хранения ключей подписи вашего приложения. Если вы используете App Bundle для загрузки ваших сообщений в Google Play, то вы точно знакомы с этой системой.

В статье раскрываются ответы на вопросы:
👉 Что делать в случае потери ключа?
👉 Почему разработчикам стоит переключиться н на использование App Signing?
👉 У меня очень старый ключ, который не отвечает современным требования криптографической безопасности. Что делать?
👉 Upload Key был украден. Что делать?
👉 Как скачать ключ, который используется для подписи конечно приложения? (Ответ: никак)
👉 Как убедиться что приватный ключ не перехвачен при загрузке его в Google Play?
👉 Как защищен ключ в инфраструктуре Google?
👉 Как получить доступ к публичному сертификату, для использования на сторонних сервисах (напр. Facebook SDK, Firebase)?
👉 Чем отличаются артефакты, отправляемые пользователям, от тех что вы собираете локально?
👉 Как получить доступ к артефактам, отправляемые пользователям?
👉 Как распространять приложение в других магазинах?
👉 Нужно ли переключаться на Android App Bundle и использовать Dynamic Delivery ?
#R8 #JakeWharton

R8 Optimization: Lambda Groups

Разбор как оптимизируются лямбда выражения в Java и Kotlin с помощью R8