#Jetpack
Обновление Android Jetpack 29.04.2020
Новая порция обновлений стандартных библиотек в dev рационе любого Android разработчика.
👉 Обновление Emoji
👉 Нас радуют рефакторигом Activity Result API. Также
👉 Документация для обмена данными между 2 Fragment обновилась
👉 Navigation 2.3.0-alpha06 улучшила поддержку deep link
👉 WorkManager 2.4.0-alpha03 поддерживает RxJava 3 и улучшает API
Все остальное по мелочи и ознакомиться можно здесь
Обновление Android Jetpack 29.04.2020
Новая порция обновлений стандартных библиотек в dev рационе любого Android разработчика.
👉 Обновление Emoji
👉 Нас радуют рефакторигом Activity Result API. Также
startActivityForResult()
, onActivityResult()
и onRequestPermissionsResult()
теперь deprecated! Fragment.setTargetFragment()
удостоилась того же👉 Документация для обмена данными между 2 Fragment обновилась
👉 Navigation 2.3.0-alpha06 улучшила поддержку deep link
👉 WorkManager 2.4.0-alpha03 поддерживает RxJava 3 и улучшает API
Все остальное по мелочи и ознакомиться можно здесь
#Podcast
Как начать контрибьютить в большой Open Source проект
Время пандемии и карантина хороший повод приобрести новые навыки, например законтрибьютать в большой проект и как это происходит. В новом выпуске подкаста разобрались как сделать на примере Spring и Swift.
Гость выпуска - Максим Кита, активный контрибьютор в Swift, iOS разработчик в EPAM
Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
Как начать контрибьютить в большой Open Source проект
Время пандемии и карантина хороший повод приобрести новые навыки, например законтрибьютать в большой проект и как это происходит. В новом выпуске подкаста разобрались как сделать на примере Spring и Swift.
Гость выпуска - Максим Кита, активный контрибьютор в Swift, iOS разработчик в EPAM
Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
#Conference #Online
Mobius Online
22-25 июня пройдет крупнейшая мобильная конференция России. В этом году она состоится в формате онлайн и вас ждет 4 дня разнообразного сумасшедшего контента:
👉 Спикеры из Google, Grab, Lyft, Mail.ru, JetBrains Kaspersky Lab, Яндекс
👉 Jetpack Compose
👉 Bazel
👉 Kotlin
👉 Firebase
Среди спикеров такие громкие имена как Денис Неклюдов, Степан Гончаров, Константин Цховребов и множество других спикеров
Для всех подписчиков канала можно купить билет со скидкой по промокоду AndroidBC2020pc
Mobius Online
22-25 июня пройдет крупнейшая мобильная конференция России. В этом году она состоится в формате онлайн и вас ждет 4 дня разнообразного сумасшедшего контента:
👉 Спикеры из Google, Grab, Lyft, Mail.ru, JetBrains Kaspersky Lab, Яндекс
👉 Jetpack Compose
👉 Bazel
👉 Kotlin
👉 Firebase
Среди спикеров такие громкие имена как Денис Неклюдов, Степан Гончаров, Константин Цховребов и множество других спикеров
Для всех подписчиков канала можно купить билет со скидкой по промокоду AndroidBC2020pc
Mobius 2021 Piter. Конференция по мобильной разработке. 13-16 апреля, онлайн.
Конференция по мобильной разработке. 13-16 апреля, онлайн. 4 дня и несколько десятков технических докладов.
Хотите выиграть билет на Mobius Online? Тогда проходите опрос о канале Android Broadcast и получите такую возможность!
Этот опрос очень важен, чтобы понять куда развивать контент Telegram канала, подкастов и YouTube канала. Очень прошу уделить вас 5 минут для этого
Итоги опроса подведу публично и сделаю пост о результатах
Этот опрос очень важен, чтобы понять куда развивать контент Telegram канала, подкастов и YouTube канала. Очень прошу уделить вас 5 минут для этого
Итоги опроса подведу публично и сделаю пост о результатах
#Android11
Android 11 Toast Updates
Toast - довольно простая и удобная штука в Android SDK, когда вам надо показать какое-либо всплывающее сообщение. Помимо простого текста он имеет множество возможностей по кастомизации: задание собственной View, задание расположения в окне и другие.
В Android 11 работа с ним становится строже, Что именно меняется:
👉 Появляется Callback для отслеживания показа/скрытия Toast
👉 Запрещен показ кастомизированного Toast при работе приложения в фоне. Вместо этого показывается Toast с предупреждением.
👉 Кастомизировать "текстовый Toast" нельзя (например задать gravity)
👉 Toast.setView() теперь deprecated. Рекомендуется использовать "текстовый Toast" или Snackbar
Я считаю это хорошим ходом, чтобы ограничивать всякий UI бред и стандартизировать подход. Очень жду запрета кастомизации системных уведомлений
Android 11 Toast Updates
Toast - довольно простая и удобная штука в Android SDK, когда вам надо показать какое-либо всплывающее сообщение. Помимо простого текста он имеет множество возможностей по кастомизации: задание собственной View, задание расположения в окне и другие.
В Android 11 работа с ним становится строже, Что именно меняется:
👉 Появляется Callback для отслеживания показа/скрытия Toast
👉 Запрещен показ кастомизированного Toast при работе приложения в фоне. Вместо этого показывается Toast с предупреждением.
👉 Кастомизировать "текстовый Toast" нельзя (например задать gravity)
👉 Toast.setView() теперь deprecated. Рекомендуется использовать "текстовый Toast" или Snackbar
Я считаю это хорошим ходом, чтобы ограничивать всякий UI бред и стандартизировать подход. Очень жду запрета кастомизации системных уведомлений
Medium
Android 11 Toast Updates
What has been updated in Android 11 about Toast? Customisation on Toast is restricted and customised Toast cannot be shown at the…
Всем привет! Всю эту неделю (4-10 мая) автор канала, Кирилл Розов, будет вести Twitter "Мобильный разработчик". Подписывайтесь, будет интересно и возможность задавать вопросы и получить ответы.
#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 разработчиков не так много чего интересного ☹️