#Coroutines
Cancellation and Exceptions in Coroutines: "Cancellation in coroutines" (Часть 2/3)
⏱️8 минут
Во второй части серии статей рассматриваются особенности работы отмены выполнения Coroutine и как сделать это правильно
Cancellation and Exceptions in Coroutines: "Cancellation in coroutines" (Часть 2/3)
⏱️8 минут
Во второй части серии статей рассматриваются особенности работы отмены выполнения Coroutine и как сделать это правильно
Medium
Cancellation in coroutines
Cancellation and Exceptions in Coroutines (Part 2)
#Coroutines
Cancellation and Exceptions in Coroutines: "Exceptions in Coroutines" (Часть 3/3)
⏱️7 минут
В заключительной части серии статей рассматривается как Coroutine реагируют на Exception, произошедшие во время их выполнения, и как правильно обрабатывать их.
В статье вы найдете:
👉
👉 Обработка исключений
👉
Cancellation and Exceptions in Coroutines: "Exceptions in Coroutines" (Часть 3/3)
⏱️7 минут
В заключительной части серии статей рассматривается как Coroutine реагируют на Exception, произошедшие во время их выполнения, и как правильно обрабатывать их.
В статье вы найдете:
👉
Job
или SupervisorJob
👉 Обработка исключений
👉
CoroutineExceptionHandler
Medium
Exceptions in coroutines
Cancellation and Exceptions in Coroutines (Part 3) — Gotta catch ’em all!
#Coroutines
"Coroutines! Gotta catch 'em all!" Florina Muntenescu & Manuel Vivo
⏱️36:30
Видео версия с Kotlin Conf 2019
"Coroutines! Gotta catch 'em all!" Florina Muntenescu & Manuel Vivo
⏱️36:30
Видео версия с Kotlin Conf 2019
YouTube
KotlinConf 2019: Coroutines! Gotta catch 'em all! by Florina Muntenescu & Manuel Vivo
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
You've added #coroutines to your app and everything is fine while your users are on the happy path. But what happens if you cancel a coroutine, you get a timeout or other…
You've added #coroutines to your app and everything is fine while your users are on the happy path. But what happens if you cancel a coroutine, you get a timeout or other…
#Conference #Flutter #Minsk
Состоялся розыгрыш билетов на FlutterConf.by. Поздравляю Павел З. и Виталий Я. с победой.
Одновременно с этой радостной новостью я вынужден сказать, что конференция перенесена. Мы заботимся о здоровье всех участников и не хотим подвергать никого риску. Мы держим руку на пульсе всех событий и если ситуация улучшится, то мы оповестим вас о новостях.
Состоялся розыгрыш билетов на FlutterConf.by. Поздравляю Павел З. и Виталий Я. с победой.
Одновременно с этой радостной новостью я вынужден сказать, что конференция перенесена. Мы заботимся о здоровье всех участников и не хотим подвергать никого риску. Мы держим руку на пульсе всех событий и если ситуация улучшится, то мы оповестим вас о новостях.
Android Broadcast
В какие магазины приложений выкладываете вы свои приложения?
(можно выбрать несколько вариантов)
(можно выбрать несколько вариантов)
Ожидаемо победил Google Play. Huawei смогла пробиться на второое место из магазинов, но не смогла победить способ распространения вне магазинов. Присоединяйтесь чтобы поделиться своим опытом к @android_broadcast_talks
Какие карты вы используете в Android приложениях ?
Final Results
65%
Google Maps
9%
Mapbox
7%
Open Street Maps
20%
Yandex Карты
2%
MapMe
1%
Huawei Map Kit
6%
Другие карты
10%
Не использую карты
12%
Смотрю ответы
#oEmbed
Open video links like Telegram do with oEmbed and Kotlin
Хотите чтобы в вашем приложение был полноценный предпросмотр видео по ссылке? Это легко можно сделать с помощью oEmbed.
В статье автор показывает как это сделать для YouTube, а также библиотека, которая сможет сделать все это сразу для вас для самых популярных видео сервисов.
Open video links like Telegram do with oEmbed and Kotlin
Хотите чтобы в вашем приложение был полноценный предпросмотр видео по ссылке? Это легко можно сделать с помощью oEmbed.
В статье автор показывает как это сделать для YouTube, а также библиотека, которая сможет сделать все это сразу для вас для самых популярных видео сервисов.
Medium
Open video links like Telegram do with oEmbed and Kotlin
In the life of every messenger application there comes a time when more and more users are asking to add support for video from a variety…
#Kotlin #Android11
Handling Nullability in Android 11 and Beyond
Google улучшает Android SDK для поддержки nullability в Kotlin, добавляя аннотации
Также часть методов, аннотированных
Handling Nullability in Android 11 and Beyond
Google улучшает Android SDK для поддержки nullability в Kotlin, добавляя аннотации
@Nullable
/@NonNull
и @RecentlyNullable
/@RecentlyNonNull
.Также часть методов, аннотированных
@RecentlyXXX
, перестали быть Recenlty. Это значит, что теперь вместо предупреждения, будет происходить ошибка.Android Developers Blog
Handling Nullability in Android 11 and Beyond
Last May at Google I/O, we announced that Android was going Kotlin first, and now over 60% of the top 1000 Android apps use Kotlin. One feature we love about Kotlin is that nullability is baked into its type system — when declaring a reference, you say upfront…
#Firebase #Benchmark
Jetpack Benchmark on Firebase Test Lab
Библиотека Jetpack Benchmark позволяет вам сделать тест производительности UI вашего приложения. Эффективно интегрировать эту библиотеку на CI, чтобы определять регрессии в скорости работы приложения до мержа в основную ветку.
В статье разбирается как запускать тесты производительности на Jenkins, используя Firebase Test Lab.
Jetpack Benchmark on Firebase Test Lab
Библиотека Jetpack Benchmark позволяет вам сделать тест производительности UI вашего приложения. Эффективно интегрировать эту библиотеку на CI, чтобы определять регрессии в скорости работы приложения до мержа в основную ветку.
В статье разбирается как запускать тесты производительности на Jenkins, используя Firebase Test Lab.
#Dagger #DependencyInjection
Вышел Dagger 2.27
Новая версия популярного DI фреймворка привнесла следующий улучшения:
👉 Экспериментальный формат сообщений об ошибках (подробнее ниже)
👉 Более оптимальная генерация кода в зависимости от того как в класс происходит inject зависимостей
👉 Поддержка конструкторов с layout id из AndroidX
👉 Убрали использование Guava API, которое недоступно для использования в Android
👉 Улучшена работа с Kotlin
👉 Исправление багов
Экспериментальный формат сообщений об ошибках
Позволяет улучшить читабельность сообщений об ошибке. Этот формат в будущем станет стандартным.
При включение нового режима поменяется:
👉 Сокращенные имена всех классов
👉 Ошибки для каждого компонента отображаются как одна
👉 Добавление цветов к тэгам ошибок для визуального разделения ошибок
👉 Уменьшен объем информации в некоторых сообщениях
Для включения надо использовать
Вышел Dagger 2.27
Новая версия популярного DI фреймворка привнесла следующий улучшения:
👉 Экспериментальный формат сообщений об ошибках (подробнее ниже)
👉 Более оптимальная генерация кода в зависимости от того как в класс происходит inject зависимостей
👉 Поддержка конструкторов с layout id из AndroidX
👉 Убрали использование Guava API, которое недоступно для использования в Android
👉 Улучшена работа с Kotlin
👉 Исправление багов
Экспериментальный формат сообщений об ошибках
Позволяет улучшить читабельность сообщений об ошибке. Этот формат в будущем станет стандартным.
При включение нового режима поменяется:
👉 Сокращенные имена всех классов
👉 Ошибки для каждого компонента отображаются как одна
👉 Добавление цветов к тэгам ошибок для визуального разделения ошибок
👉 Уменьшен объем информации в некоторых сообщениях
Для включения надо использовать
-Adagger.experimentalDaggerErrorMessages=enabled
GitHub
Release Dagger 2.27 · google/dagger
What's New
Fix #955: No longer generate MembersInjectors for types without local injection sites. (20f6442)
Fix #1414: Allow multiple scoped component dependencies (113c498)
Fix #1734: Add sup...
Fix #955: No longer generate MembersInjectors for types without local injection sites. (20f6442)
Fix #1414: Allow multiple scoped component dependencies (113c498)
Fix #1734: Add sup...
#Podcast #Mobius
Android Broadcast Podcast #9 - "Как сделать крутую конференцию"
Получить новые знания, послушать доклады от крутых специалистов, пообщаться с коллегами по цеху и провести классно время - это основные причины по которым мы посещаем конференции. Но что стоит за тем чтобы сделать крупнейшую конференцию по мобильным технологиях в России?
Позвал команду Mobius, которая поделилась как происходит организация конференции. Зачем члены программного комитета тратят много времени вне работы на это и как это помогает им в их профессиональной работе, а главное как вступить в ПК и помочь сделать Mobius.
Гости:
Оксана Мирошниченко - Программный координатор Mobius
Евгений Кателла - Член ПК Mobius, Android
Алексей Кудрявцев - Член ПК Mobius, iOS
Купить билет со скидкой по промокоду "AndroidBC2020pc"
Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
Android Broadcast Podcast #9 - "Как сделать крутую конференцию"
Получить новые знания, послушать доклады от крутых специалистов, пообщаться с коллегами по цеху и провести классно время - это основные причины по которым мы посещаем конференции. Но что стоит за тем чтобы сделать крупнейшую конференцию по мобильным технологиях в России?
Позвал команду Mobius, которая поделилась как происходит организация конференции. Зачем члены программного комитета тратят много времени вне работы на это и как это помогает им в их профессиональной работе, а главное как вступить в ПК и помочь сделать Mobius.
Гости:
Оксана Мирошниченко - Программный координатор Mobius
Евгений Кателла - Член ПК Mobius, Android
Алексей Кудрявцев - Член ПК Mobius, iOS
Купить билет со скидкой по промокоду "AndroidBC2020pc"
Спасибо Александру Марцинкевичу за помощь в подготовке выпуска
#Google #Maps
Announcing Google Maps Android Utility Library v1.0
Вышла первая стабильная версия утилит для Google Maps на Android. Библиотека добавляет множество новых возможностей:
👉 Marker clustering - отображения множество pin-ов
👉 Heat maps
👉 Icon Generator - отображение текста на картах
👉 Poly decoding and encoding
👉 Spherical geometry
👉 Поддержка отображения KML
👉 Отображение и стилизация GeoJSON
Announcing Google Maps Android Utility Library v1.0
Вышла первая стабильная версия утилит для Google Maps на Android. Библиотека добавляет множество новых возможностей:
👉 Marker clustering - отображения множество pin-ов
👉 Heat maps
👉 Icon Generator - отображение текста на картах
👉 Poly decoding and encoding
👉 Spherical geometry
👉 Поддержка отображения KML
👉 Отображение и стилизация GeoJSON
Google Maps Platform
Blog: Announcing Maps Android Utility Library v1.0 – Google Maps Platform
Maps SDK for Android Utility Library 1.0
Исследование российских команд мобильной разработки, 2020
Егор Толстой проводит ежегодное исследование о состоянии мобильной разработки. Хоть в названии и 2020, но ответы надо дать за прошедший 2019 год. Прохождение опроса не займёт больше 10 минут. Результаты будут через месяц и я обязательно скину их в канале.
В этом году в вариантах ответов уже появился Android Broadcast!
Егор Толстой проводит ежегодное исследование о состоянии мобильной разработки. Хоть в названии и 2020, но ответы надо дать за прошедший 2019 год. Прохождение опроса не займёт больше 10 минут. Результаты будут через месяц и я обязательно скину их в канале.
В этом году в вариантах ответов уже появился Android Broadcast!
Google Docs
Исследование российских команд мобильной разработки, 2020
Ежегодный опрос про состояние отечественного рынка мобильной разработки. Оценку даем за прошедший год (2019).
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2019: https://bit.ly/2vokzjj
Отчет за 2018: https://bit.ly/2RTaCEV
Отчет за 2017: https://bit.ly/2Mv669o
Задать вопросы можно в Telegram: @etolstoy
Отчет за 2019: https://bit.ly/2vokzjj
Отчет за 2018: https://bit.ly/2RTaCEV
Отчет за 2017: https://bit.ly/2Mv669o
#Android11 #Storage
Modern User Storage on Android
Google уже четко поняла, что давать свободу разработчикам - это плохо и эти люди будут делать все что угодно без контроля. Одним из инструментов закручиванием болтов становится ограничения доступа приложений на файловой системе на External Storage.
Изменения не были введены в боевой режим в Android 10, но в Android 11 нам не открутится, хоть и ограничения будут применяться к приложения с targetSdk R+.
В статье рассказывается про:
👉 В чем необходимость ввода изменений
👉 Почему стоит использовать MediaStore API
👉 Возможность редактирования множества файлов в Android 11
👉 Изменения в Storage Access Framework (SAF)
👉 Новый permission
Modern User Storage on Android
Google уже четко поняла, что давать свободу разработчикам - это плохо и эти люди будут делать все что угодно без контроля. Одним из инструментов закручиванием болтов становится ограничения доступа приложений на файловой системе на External Storage.
Изменения не были введены в боевой режим в Android 10, но в Android 11 нам не открутится, хоть и ограничения будут применяться к приложения с targetSdk R+.
В статье рассказывается про:
👉 В чем необходимость ввода изменений
👉 Почему стоит использовать MediaStore API
👉 Возможность редактирования множества файлов в Android 11
👉 Изменения в Storage Access Framework (SAF)
👉 Новый permission
MANAGE_EXTERNAL_STORAGE
- предоставляет доступ на чтение и запись ко всем файлам на External Storage. Новый permission предзназначен для файловых менеджеров и приложений для резервных копий.Medium
Modern user storage on Android
To protect user data and reduce the amount of space consumed by apps, Android 10 introduced changes to the behavior of the external…
Есть ли в вашем приложение App Widget (размещаются на главном экране вашего устройства)?
Final Results
18%
Да
61%
Нет
5%
Планирую добавить
7%
Что это?
9%
Смотрю результаты
This media is not supported in your browser
VIEW IN TELEGRAM
#JetpackCompose #DeclarativeUI
ComposeClock
Jetpack Compose еще далек от релиза, но сообщество активно экспериментирует на dev версиях. Вставляют ли они его в production?
ComposeClock
Jetpack Compose еще далек от релиза, но сообщество активно экспериментирует на dev версиях. Вставляют ли они его в production?
#GooglePlay
Developer Tools on Play Store
Google делиться тем, как можно тестировать приложения через Google Play до публичного релиза:
👉 Различные тестовые треки
👉 Возможности Internal Test Track: debug APK, один и тот же version code для всех APK, тестирование Dynamic Delivery
👉 История релизов (Internal Test Track): возможность скачать предыдущие сборки
Для того чтобы скачать старую сборку перейдите по ссылке
Developer Tools on Play Store
Google делиться тем, как можно тестировать приложения через Google Play до публичного релиза:
👉 Различные тестовые треки
👉 Возможности Internal Test Track: debug APK, один и тот же version code для всех APK, тестирование Dynamic Delivery
👉 История релизов (Internal Test Track): возможность скачать предыдущие сборки
Для того чтобы скачать старую сборку перейдите по ссылке
https://play.google.com/apps/test/<package name>/<version code>
Medium
Developer tools on Play Store
Supporting your development and testing workflows
#AppWidget
Виджеты на Android. Редкая фича, в которой придется разобраться
Возможно забытый, но еще неутраченный функционал Android - виджеты на главном экране (ныне App Widget), которые позволяют вам отображать информацию или управлять вашим приложением без его открытия.
В статье автор рассматривает свой опыт разработки App Widget. Возможно и в вашем приложении этот функционал может пригодится.
Виджеты на Android. Редкая фича, в которой придется разобраться
Возможно забытый, но еще неутраченный функционал Android - виджеты на главном экране (ныне App Widget), которые позволяют вам отображать информацию или управлять вашим приложением без его открытия.
В статье автор рассматривает свой опыт разработки App Widget. Возможно и в вашем приложении этот функционал может пригодится.
Хабр
Виджеты на Android. Редкая фича, в которой придется разобраться
Привет, Хабр! Меня зовут Александр Хакимов, я android-разработчик в компании FINCH. У вас бывало такое, что ваш дизайн был под iOS, а вам приходится адаптирова...
#Kotlin #Coroutines #UnderTheHood
Kotlin Vocabulary - Suspend functions
Kotlin Coroutines - то что делает громкий заявления об упрощение работы с асинхронными операциями и выдерживает множество запущенных операций.
На основе чего работает вся эта магия? Что происходит под капотом? Во что превращается функция с модификатором suspend, если в JVM нет такого понятия. Обо всем этом можно найти ответы в видео
Kotlin Vocabulary - Suspend functions
Kotlin Coroutines - то что делает громкий заявления об упрощение работы с асинхронными операциями и выдерживает множество запущенных операций.
На основе чего работает вся эта магия? Что происходит под капотом? Во что превращается функция с модификатором suspend, если в JVM нет такого понятия. Обо всем этом можно найти ответы в видео
YouTube
Suspend functions - Kotlin Vocabulary
Coroutines in Kotlin simplify asynchronous operations on Android. In this video, we go more in depth about why coroutines are important, how they work under the hood, how a coroutine can suspend without blocking threads, and much more!
#KotlinVocabulary…
#KotlinVocabulary…
Вышло официально приложение для GitHub
Официальный клиент на текущий момент обладает базовыми возможностями:
👉 Просмотр списка своих репозиториев
👉 Просмотр issues
👉 Просмотр файлов с подсветкой
👉 Поддерживается темная тема
👉 Работа с уведомлениями
👉 Поиск по GitHub
Официальный клиент на текущий момент обладает базовыми возможностями:
👉 Просмотр списка своих репозиториев
👉 Просмотр issues
👉 Просмотр файлов с подсветкой
👉 Поддерживается темная тема
👉 Работа с уведомлениями
👉 Поиск по GitHub
GitHub
GitHub Mobile
Bring GitHub collaboration tools to your small screens with GitHub Mobile. Sign up for the iOS beta or get on the list for our Android version—and we’ll let you know when your app of choice is ready.