#Kotlin
Enum vs Sealed class — which one to choose?
Для того чтобы представить тип с ограниченным набором возможных значений помимо Enum в Kotlin есть Sealed классы.
В статье происходит разбор этих специальных типов, а также их сравнения и примеры
Enum vs Sealed class — which one to choose?
Для того чтобы представить тип с ограниченным набором возможных значений помимо Enum в Kotlin есть Sealed классы.
В статье происходит разбор этих специальных типов, а также их сравнения и примеры
Medium
Enum vs Sealed class — which one to choose?
TL;DR: Enums have supporting functions like valueOf, values or enumValues what makes them easier to iterate over or serialize. Just like…
Как повлиял коронавирус на продуктивность вашей работы?
Final Results
11%
Позитивно
23%
Негативно
48%
Никак
3%
Остался без работы
2%
Другое
13%
Смотрю результаты
#Android11
Вышла Android 11 Developer Preview 2
В новой dev версии следующей мажорной версии Android вы найдете:
👉 5G state API
👉 Получение угла шарнира для складных устройств
👉 Улучшения в Neural Networks API
👉 Новые типы для Foreground Service:
👉 Обновления Scoped Storage
👉 Возможность синхронизировать появление клавиатуры и контента приложения (плавная анимация)
👉 Приложения могут рекомендовать системе какую частоту обновлений экрана включать: 60 или 90 Hz
Вышла Android 11 Developer Preview 2
В новой dev версии следующей мажорной версии Android вы найдете:
👉 5G state API
👉 Получение угла шарнира для складных устройств
👉 Улучшения в Neural Networks API
👉 Новые типы для Foreground Service:
camera
и microphone
👉 Обновления Scoped Storage
👉 Возможность синхронизировать появление клавиатуры и контента приложения (плавная анимация)
👉 Приложения могут рекомендовать системе какую частоту обновлений экрана включать: 60 или 90 Hz
Android Developers Blog
Android 11: Developer Preview 2
Posted by Dave Burke, VP of Engineering It’s been a difficult few months for many around the world. The Android team at Google is ...
#Meetup #Online #COVID19 #ADVM
Android Dev Virtual Meetups
Многие из нас теперь работают из дома, и отменены или перенесены конференции и митапы. Но так хочется общения и возможности поделиться опытом...
Начиная с понедельника 23 марта 2020, известные вам всем представители Android разработки говорящие на русском языке запускают новый открытый для любого желающего проект Android Dev Virtual Meetups:
👉 Мы будем проводить митапы два раза в неделю на YouTube, с последующей возможностью поболтать лично со спикером
👉 Все доклады будут делать через онлайн трансляцию. Никакого монтажа! Всё максимально откровенно и открыто.
👉 Вы можете присоединяться к интересующим вас докладам и обсуждениям или посмотреть их позже в записи
Android Dev Virtual Meetups
Многие из нас теперь работают из дома, и отменены или перенесены конференции и митапы. Но так хочется общения и возможности поделиться опытом...
Начиная с понедельника 23 марта 2020, известные вам всем представители Android разработки говорящие на русском языке запускают новый открытый для любого желающего проект Android Dev Virtual Meetups:
👉 Мы будем проводить митапы два раза в неделю на YouTube, с последующей возможностью поболтать лично со спикером
👉 Все доклады будут делать через онлайн трансляцию. Никакого монтажа! Всё максимально откровенно и открыто.
👉 Вы можете присоединяться к интересующим вас докладам и обсуждениям или посмотреть их позже в записи
Media is too big
VIEW IN TELEGRAM
#Fragment #Activity
Смерть startActivityForResult объявлена в Fragment 1.3.0 и Activity 1.2.0
Стандартный механизм для получения результата из Activity (например Uri сделанного фото) - это Activity.startActivityForResult. API не самое удобное и заставляющее писать кучу кода, но теперь нас ждет улучшение.
В следующей стабильной версии появляется API ActivityResultRegistry, которое будет инкапсулировать в себе работу с
Попробовать изменения можно в Fragment 1.3.0 Alpha 02 и Activity 1.2.0 Alpha 02
Смерть startActivityForResult объявлена в Fragment 1.3.0 и Activity 1.2.0
Стандартный механизм для получения результата из Activity (например Uri сделанного фото) - это Activity.startActivityForResult. API не самое удобное и заставляющее писать кучу кода, но теперь нас ждет улучшение.
В следующей стабильной версии появляется API ActivityResultRegistry, которое будет инкапсулировать в себе работу с
startActivityForResult()
+ onActivityResult()
, а также requestPermissions()
+ onRequestPermissionsResult()
. Добавить работу с получением результата можно будет в любой класс, API гибкое и предоставляет такие возможности.Попробовать изменения можно в Fragment 1.3.0 Alpha 02 и Activity 1.2.0 Alpha 02
Android Developers
Getting a result from an activity | Android Developers
Пример как будет выглядеть работы с ActivityResultRegistry из Activity
#Jetpack #Fragment #Security
Обновления Android Jetpack библиотек
Обовились библиотеки (ниже только beta и стабильнее версии):
👉 Fragment 1.2.3: Bugfix
👉 Paging 2.1.2: Bugfix
👉 Room 2.2.5: Bugfix
👉 Security 1.0.0-beta01. Больше подробностей и библиотеке здесь
👉 WorkManager 2.3.4: Bugfix
Полный список обновлений здесь
Обновления Android Jetpack библиотек
Обовились библиотеки (ниже только beta и стабильнее версии):
👉 Fragment 1.2.3: Bugfix
👉 Paging 2.1.2: Bugfix
👉 Room 2.2.5: Bugfix
👉 Security 1.0.0-beta01. Больше подробностей и библиотеке здесь
👉 WorkManager 2.3.4: Bugfix
Полный список обновлений здесь
Android Developers
Recent Release Notes | Android Developers
Android Broadcast
#AndroidAcademy #Minsk #Testing Android Academy Minsk Advanced Topic #4 - Testing Все об этом говорят, но мало кто это делает в проектах - пишут тесты. Почему? Нет времени, спешка, считают что это не приносит много пользы. На следующей лекции в Android…
#AndroidAcademy #Minsk
Android Academy Minsk переносит все свои лекции в онлайн, но план остается прежний. Слежите за YouTube каналом "Android Academy Minsk"
Android Academy Minsk переносит все свои лекции в онлайн, но план остается прежний. Слежите за YouTube каналом "Android Academy Minsk"
YouTube
Android Academy Minsk
To create an active community of Android developers and designers
We believe that Android is the coolest platform in the world.
Our aim is to create a thriving community of Android developers and designers. We organize courses and regular meetups in order…
We believe that Android is the coolest platform in the world.
Our aim is to create a thriving community of Android developers and designers. We organize courses and regular meetups in order…
#GoogleIO #COVID19
Google I/O 2020 отменили полностью. Даже онлайн
Коронавирус распространяется все активнее и мы больше чувствуем эффект. Google I/O отменяется, боюсь что и релиз Android 11 будет отложен. Ждем Android Dev Summit в ноябре.
Google I/O 2020 отменили полностью. Даже онлайн
Коронавирус распространяется все активнее и мы больше чувствуем эффект. Google I/O отменяется, боюсь что и релиз Android 11 будет отложен. Ждем Android Dev Summit в ноябре.
io.google
Google I/O 2025
Don't miss Google I/O, featuring product launches, innovations, and insights. Tune in for the live keynotes and sessions.
#Tooling #Debug
Facebook Flipper (formerly Sonar)
Flipper - это для платформа для отладки Android и iOS приложений. С помощью нее вы можете визуализировать, проверять и управлять вашими приложениями с вашего компьютера с помощью удобного графического интерфейса.
Из коробки у вас есть возможности
👉просматривать логи
👉проверять разметку и свойства View
👉навигация с помощью deep link
👉отслеживание сетевых запросов
👉просмотр данных в БД
👉просмотр загруженных изображений (пока поддерживается только Fresco)
👉Sandbox
👉Работа с SharedPreferences
👉интеграция с LeakCanary
👉перехват крэшей приложения
👉шаринг данных из Flipper для отладки их на другом устройстве
Помимо прочего Flitter имеет возможность создания собственных расширений.
Facebook Flipper (formerly Sonar)
Flipper - это для платформа для отладки Android и iOS приложений. С помощью нее вы можете визуализировать, проверять и управлять вашими приложениями с вашего компьютера с помощью удобного графического интерфейса.
Из коробки у вас есть возможности
👉просматривать логи
👉проверять разметку и свойства View
👉навигация с помощью deep link
👉отслеживание сетевых запросов
👉просмотр данных в БД
👉просмотр загруженных изображений (пока поддерживается только Fresco)
👉Sandbox
👉Работа с SharedPreferences
👉интеграция с LeakCanary
👉перехват крэшей приложения
👉шаринг данных из Flipper для отладки их на другом устройстве
Помимо прочего Flitter имеет возможность создания собственных расширений.
#Coroutines #Kotlin
Preventing coroutine cancellation for important actions
Kotlin Coroutines базируются в своей работе на Structured Concurrency, но если выбрать неправильный CoroutineScope легко может выйти ситуация, что ваша операция не выполнится. Например, сообщение не отправится на сервер или данные не будут обновлены.
В статье разбирается как сделать чтобы все было хорошо с помощью специальной Job - NonCancellable
Preventing coroutine cancellation for important actions
Kotlin Coroutines базируются в своей работе на Structured Concurrency, но если выбрать неправильный CoroutineScope легко может выйти ситуация, что ваша операция не выполнится. Например, сообщение не отправится на сервер или данные не будут обновлены.
В статье разбирается как сделать чтобы все было хорошо с помощью специальной Job - NonCancellable
craigrussell
Preventing coroutine cancellation for important actions
A pattern for launching coroutines which cancel when the Activity or ViewModel is destroyed, but support allowing important parts of the coroutine to run uncancelled.
Android Broadcast
Как повлиял коронавирус на продуктивность вашей работы?
Обсуждение итогов опроса в @android_broadcast_talks
#CodeQuality #Kotlin
Detekt 1.7.0
🚀Увеличена скорость работы Gradle плагина
☑️Новое правило AbsentOrWrongFileLicense - проверка что каждый Kotlin файл имеет описание лицензии в шапке Kotlin файла
👉Множество мелких улучшение и исправлений
Detekt 1.7.0
🚀Увеличена скорость работы Gradle плагина
☑️Новое правило AbsentOrWrongFileLicense - проверка что каждый Kotlin файл имеет описание лицензии в шапке Kotlin файла
👉Множество мелких улучшение и исправлений
#Material #Animation
Implementing the Motion System With Material Components for Android
Система Material Design развивается и в ней появляются все новые возможности, как и библиотека Material Components Android реализует спецификацию. В новой версии библиотеки (1.2.0-alpha05) появилась реализация системы анимаций перемещения.
Направление развития очень хорошее🔥, теперь помимо стандартных виджетов мы будем иметь еще и стандартные анимации, которые нам смогут легко поставлять дизайнеры с помощью утилиты Direct.
Implementing the Motion System With Material Components for Android
Система Material Design развивается и в ней появляются все новые возможности, как и библиотека Material Components Android реализует спецификацию. В новой версии библиотеки (1.2.0-alpha05) появилась реализация системы анимаций перемещения.
Направление развития очень хорошее🔥, теперь помимо стандартных виджетов мы будем иметь еще и стандартные анимации, которые нам смогут легко поставлять дизайнеры с помощью утилиты Direct.
Medium
Implementing The Motion System with material components for Android
Deep dive into The Motion System with Google’s latest Material Component library release
#Fragment
Раскладываем на части FragmentLifecycleCallbacks
Разбор возможностей FragmentLifecycleCallbacks:
👉 Отслеживание жизненного цикла Fragment
👉 Возможность выполнения действий на различных стадиях жизненного цикла Fragment (как до так и после) централизовано
👉 Примеры использования: Dagger и аналитика
Раскладываем на части FragmentLifecycleCallbacks
Разбор возможностей FragmentLifecycleCallbacks:
👉 Отслеживание жизненного цикла Fragment
👉 Возможность выполнения действий на различных стадиях жизненного цикла Fragment (как до так и после) централизовано
👉 Примеры использования: Dagger и аналитика
Хабр
Раскладываем на части FragmentLifecycleCallbacks
Привет! Сегодня я продолжаю рассказывать про инструменты, которые почему-то обделили вниманием. В своей предыдущей статье я написал про возможности ActivityLifec...
#Network #OkHttp
Authorization and retrying of web requests for OkHttp and Retrofit
Рецепт как с помощью OkHttp Interceptors можно реализовать повтор неудавшегося выполненного запроса и или обновить Auth Token, в случае если он истек.
Такой способ позволяет автоматизировать выполнение операций, которые стандартно приходится реализовать при работе с REST.
Authorization and retrying of web requests for OkHttp and Retrofit
Рецепт как с помощью OkHttp Interceptors можно реализовать повтор неудавшегося выполненного запроса и или обновить Auth Token, в случае если он истек.
Такой способ позволяет автоматизировать выполнение операций, которые стандартно приходится реализовать при работе с REST.
Lordcodes
Authorization and retrying of web requests for OkHttp and Retrofit | Lord Codes
Most remote APIs require some form of authorization in order to access them. We will explore using OkHttp Interceptors and Authorizers to authorize our web requests for use with OkHttp and Retrofit.
#Kotlin
Kotlin 1.4-M1 Released
Мы ждали, ждали, и ждали и снова ждали и наконец дождались! Первая превью следующей мажорной версии языка уже доступна
Что нового:
👉 Новый алгоритм Type Inference теперь включен по умолчанию: поддержка SAM, лучший вывод типов, smart cast для lambda
👉 Kotlin/JVM компилятор стали генерировать новые аннотации типов в байткоде для Java 8+
👉 Новый бекенд для Kotlin/JS
👉 Улучшения в standard library: удалено deprecated API, а что-то теперь помечено как deprecated
Полный список изменений здесь
Пока выкачена только первая партия изменений, но много чего еще впереди. Подробнее что стоит ждать можно найти здесь
Kotlin 1.4-M1 Released
Мы ждали, ждали, и ждали и снова ждали и наконец дождались! Первая превью следующей мажорной версии языка уже доступна
Что нового:
👉 Новый алгоритм Type Inference теперь включен по умолчанию: поддержка SAM, лучший вывод типов, smart cast для lambda
👉 Kotlin/JVM компилятор стали генерировать новые аннотации типов в байткоде для Java 8+
👉 Новый бекенд для Kotlin/JS
👉 Улучшения в standard library: удалено deprecated API, а что-то теперь помечено как deprecated
Полный список изменений здесь
Пока выкачена только первая партия изменений, но много чего еще впереди. Подробнее что стоит ждать можно найти здесь
The JetBrains Blog
Kotlin 1.4-M1 Released | The Kotlin Blog
We are happy to announce the first preview version of the new major release: Kotlin 1.4-M1.
A few months ago, we published an announcement of what to expect in Kotlin 1.4. As the release approaches,
A few months ago, we published an announcement of what to expect in Kotlin 1.4. As the release approaches,