#ViewBinding #Kotlin
Make Android View Binding great with Kotlin
2 минуты на чтение, автор Кирилл Розов
Android View Binding - это прекрасная фича Android Gradle Plugin 3.6, которая убила
В статье рассматривается как с помощь Kotlin Delegated Property упростить это и какая хитрость поджидает в
Make Android View Binding great with Kotlin
2 минуты на чтение, автор Кирилл Розов
Android View Binding - это прекрасная фича Android Gradle Plugin 3.6, которая убила
findViewById()
и Butter Knife. Но ее правильно использование - это не самая удобная вещь.В статье рассматривается как с помощь Kotlin Delegated Property упростить это и какая хитрость поджидает в
Fragment.viewLifecycleOwner
Medium
Make Android View Binding great with Kotlin
Simplify usage of Android View Binding with Kotlin Property Delegates and solve behavior of Fragment’s ViewLifecycleOwner
#Dagger
Dagger Party Tricks: Extension Functions
Kotlin Extension Functions - одна из самых популярных возможностей языка Kotlin. Ее можно применить не только чтобы добавить новый функционал, но и улучшить написание модулей в Dagger 2.
В статье рассматривается как упростить объявление зависимостей
Dagger Party Tricks: Extension Functions
Kotlin Extension Functions - одна из самых популярных возможностей языка Kotlin. Ее можно применить не только чтобы добавить новый функционал, но и улучшить написание модулей в Dagger 2.
В статье рассматривается как упростить объявление зависимостей
@Provider
и @Binds
Zac Sweers
Dagger Party Tricks: Extension Functions
Extension functions in Dagger for fun and profit.
#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
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
Medium
Deep Dive into Activity Results API — No More onActivityResult()
Learn New ActivityResultContracts by Examples
#Fragment
Android Fragments: Fragment Result
Помимо улучшений в работе с Activity.onActivityResult(), разработчики из Google также трудятся над улучшением коммуникацией между Fragment.
В библиотеке androidx.fragment версии 1.3.0 (находится в разработке) Fragment.setTargetFragment() теперь deprecated. На замену этому API пришел FragmentResultListener в FragmentManager
Android Fragments: Fragment Result
Помимо улучшений в работе с Activity.onActivityResult(), разработчики из Google также трудятся над улучшением коммуникацией между Fragment.
В библиотеке androidx.fragment версии 1.3.0 (находится в разработке) Fragment.setTargetFragment() теперь deprecated. На замену этому API пришел FragmentResultListener в FragmentManager
Medium
Android Fragments: Fragment Result
Passing data between Fragments with the Fragment result APIs
#Coroutines #Kotlin
Kotlin Coroutines - Use Cases on Android
Github репозиторий, в котором есть примеры использования Kotlin Coroutine в разных случаях:
👉 сетевые операции
👉 работа с БД (Room)
👉 отладка
👉 обработка исключений
👉 WorkManager + Coroutines
👉 анализ производительности
Каждый из рассмотренных примеров хорошо описан
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$)! Купить билет здесь
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 - только когда адаптер не пустой
Restore RecyclerView scroll position
В следующей версии android.recyclerview 1.2.0 (пока в разработке) будет улучшено восстановление позиции скролла для случая, когда данные для адаптера загружаются асинхронно, до того как происходит восстановление состояние RecyclerView.
Новая возможность - это метод Adapter.setStateRestorationPolicy(), который позволяет установить одно из 3 значений для восстановления позиции:
👉 ALLOW - восстановление сразу же (режим по умолчанию)
👉 PREVENT - ожидает когда вы зададите другой режим восстановления
👉 PREVENT_WHEN_EMPTY - только когда адаптер не пустой
Medium
Restore RecyclerView scroll position
You might have had the problem where a RecyclerView loses the scroll position when your Activity/Fragment is re-created. This usually…
Каким образом вы распространяете приложение через Google Play ?
Final Results
31%
Unversal APK
34%
App Bundle без Dynamic Feature
5%
App Bundle c Dynamic Feature
9%
Не публикуюсь в Google Play
6%
Multiple APK
16%
Не участвую в опросе
#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
Navigating your way around customizable delivery
Android App Bundle - это формат, который упростил распространение приложений под Android и сделал размер их для пользователей меньше. Помимо всего с помощью него вы можете воспользоваться такой возможностью как Dynamic Delivery
В статье рассказывается о:
👉 Возможности App Bundle
👉 Dynamic Delivery
👉 Текущие возможности этих фичей
👉 Будущие возможности
👉 Поддержка Dynamic Feature в AndroidX Navigation
👉 Библиотека Play Core Ktx
Medium
Navigating your way around customizable delivery
How to modularize your app and take advantage of Android App Bundles conditional delivery features.
#Podcast
Android Broadcast Podcast - Huawei Mobile Services
Не Google Play Services единым! Huawei разрабатывает свои собственные сервисы Huawei Mobile Services и свой магазин приложений App Gallery. Поговорили с представителем компании о доступных сервисах, что есть в магазине, как выйти на китайский рынок и насколько все там хорошо
Гость - Жигарьков Иван, Developer Advocate в Huawei Cloud Russia
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 разработчиков не так много чего интересного ☹️
Вышел Gradle 6.4
👉 Поддержка Java Module System aka Project Jigsaw
👉 Precompiled Groovy DSL script plugins. Фича перекочевали из Gradle Kotlin DSL
👉 Single dependency lock file per project
👉 Мелкие улучшения и фикс багов
Для Android разработчиков не так много чего интересного ☹️
#Poзыгрыш
Розыгрыш курса "DevJobAccelerator"
Результаты розыгрыша из стрима "Опыт проведения Android собеседований: как вести и какие требования
Победитель - Дмитрий Мовчан (определялся случайным образом)
Также вы можете воспользоваться промокодом Broadcast и получить скидку на курс
Розыгрыш курса "DevJobAccelerator"
Результаты розыгрыша из стрима "Опыт проведения Android собеседований: как вести и какие требования
Победитель - Дмитрий Мовчан (определялся случайным образом)
Также вы можете воспользоваться промокодом Broadcast и получить скидку на курс
YouTube
Розыгрыш курса "DevJobAccelerator"
Результаты розыгрыша из стрима "Опыт проведения Android собеседований: как вести и какие требования"
Розыгрыш проводился из всех кто оставил комментарий со своей историей о интервью. С помощью генератора случайных чисел выбиралось 3 победителя, приз которым…
Розыгрыш проводился из всех кто оставил комментарий со своей историей о интервью. С помощью генератора случайных чисел выбиралось 3 победителя, приз которым…
#Android11
Join us for #Android11: The Beta Launch Show!
Запуск публичной beta версии Android 11 (сейчас выпускаются версии для разработчиков) будет отмечен целым шоу. Раньше оно проходило в рамках Google I/O, в этом году смотрим онлайн
Когда: 3 июня, среда, 18:00 (время московское)
Где: YouTube канал Android Developers
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 в которой нет серьезных изменений
Android 11: Beta Plans
Карантин внес коррективы в график выход сборок Android 11 - все двигается на месяц вперед. Также стала доступна Developer Preview 4 в которой нет серьезных изменений
#UI
Refactoring Android Themes with Style
Рекомендации по работе по структуризации тем и стилей в Android на основе доклада “Developing Themes with Style” от Nick Butcher и Chris Banes. Также в статье разбирается рефакторинг нескольких тем на одну.
Подход очень интересный и я возьму его себе на заметку, так как раньше делал по другому
Refactoring Android Themes with Style
Рекомендации по работе по структуризации тем и стилей в Android на основе доклада “Developing Themes with Style” от Nick Butcher и Chris Banes. Также в статье разбирается рефакторинг нескольких тем на одну.
Подход очень интересный и я возьму его себе на заметку, так как раньше делал по другому
Medium
Refactoring Android Themes with Style: Restructuring Themes
Making changes to themes and styles safely
How to list Third-Party Dependencies Licenses in your Android app
Разбор как настроить OSS Licenses Gradle плагина, который позволяет вам добавить в приложение Activity, которая выведет всех библиотек, подключенных в ваше приложение, и их лицензии
Разбор как настроить OSS Licenses Gradle плагина, который позволяет вам добавить в приложение Activity, которая выведет всех библиотек, подключенных в ваше приложение, и их лицензии
John Codeos
How to list Third-Party Dependencies Licenses in your Android app - John Codeos
%
#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 ?
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 ?
Medium
Answers to common questions about Play App Signing
Here is some advice on enabling app signing by Google Play, based on questions our Developer Relations team has heard from developers.
#R8 #JakeWharton
R8 Optimization: Lambda Groups
Разбор как оптимизируются лямбда выражения в Java и Kotlin с помощью R8
R8 Optimization: Lambda Groups
Разбор как оптимизируются лямбда выражения в Java и Kotlin с помощью R8