#Service
Android Foreground Service Restrictions
Разбор особенностей работы Foreground Service (которые с Android 8 являются единственным способом работы приложения в фоне). Вендоры нас все также "радуют" и блокируют service, даже если он foreground.
В статье рассказывает про проблемы и как ее решали (нужно запрашивать добавлять приложение в исключение для работы в фоне)
Android Foreground Service Restrictions
Разбор особенностей работы Foreground Service (которые с Android 8 являются единственным способом работы приложения в фоне). Вендоры нас все также "радуют" и блокируют service, даже если он foreground.
В статье рассказывает про проблемы и как ее решали (нужно запрашивать добавлять приложение в исключение для работы в фоне)
Medium
Android Foreground Service Restrictions
It would seem that everything should work, but there are also limitations in foreground services
#Coroutines
Understanding Kotlin Coroutines with this mental model
Самое сложное, чтобы было для меня при погружении в Kotlin Coroutine - это отвыкнуть от подходов Java Multithreading и начать мыслить в стиле Coroutine и использовать их подходы для решения операций.
В статье автор раскрывает разницу и в чем отличие Coroutine от Java Multithreading
Understanding Kotlin Coroutines with this mental model
Самое сложное, чтобы было для меня при погружении в Kotlin Coroutine - это отвыкнуть от подходов Java Multithreading и начать мыслить в стиле Coroutine и использовать их подходы для решения операций.
В статье автор раскрывает разницу и в чем отличие Coroutine от Java Multithreading
Lukas Lechner | ✏️ Blogger | 🎓 Course Creator | 📢 Speaker | 👨💻 Freelance Android Developer
Understanding Kotlin Coroutines with this mental model | Lukas Lechner
This blog post will help you to form a solid mental model about this new emerging concept for modern software development.
#Network #REST #Retrofit #RxJava
Вышел Retrofit 2.9.0
Новая версии популярной библиотеки сможет порадовать поклонников RxJava - добавлена поддержка RxJava3. Подключайте
Вышел Retrofit 2.9.0
Новая версии популярной библиотеки сможет порадовать поклонников RxJava - добавлена поддержка RxJava3. Подключайте
com.squareup.retrofit2:rxjava3-adapter
GitHub
retrofit/CHANGELOG.md at trunk · square/retrofit
A type-safe HTTP client for Android and the JVM. Contribute to square/retrofit development by creating an account on GitHub.
#Jetpack
Обновление Android Jetpack 20.05.2020
👉 Приведения в порядок Acitivty Result API
👉 Получение ViewModel для View
👉 Новая версия WorkManager
👉 Новая версия Navigation
Обновление Android Jetpack 20.05.2020
👉 Приведения в порядок Acitivty Result API
👉 Получение ViewModel для View
👉 Новая версия WorkManager
👉 Новая версия Navigation
Telegraph
Обновление Android Jetpack от 20 мая 2020
Полный список изменений здесь WorkManager 2.4.0-beta01
#ArchitectureComponents #ViewModel
Should I use Jetpack ViewModel?
Архитектура MVVM на основе Jetpack на сегодня довольно популярна в Android разработке. Вы задумывались так ли много проблем решает ViewModel из Jetpack?
Автор в своей статье приводит доводы, которые заставят вас задуматься так ли все просто и помогут найти проблемы
Should I use Jetpack ViewModel?
Архитектура MVVM на основе Jetpack на сегодня довольно популярна в Android разработке. Вы задумывались так ли много проблем решает ViewModel из Jetpack?
Автор в своей статье приводит доводы, которые заставят вас задуматься так ли все просто и помогут найти проблемы
Glureau
Should I use Jetpack ViewModel? - Grégory Lureau
Adding a new library to a production project should always be done with extra care.
#Codelab #Camera #CameraX
Getting Started with CameraX
Продолжительность - 17 минут
Интро в новую библиотеку из Jetpack - CameraX, которая решим проблему с работой с камерой на разных устройствах и упростит наиболее популярные операции, выполняемые в приложениях.
Getting Started with CameraX
Продолжительность - 17 минут
Интро в новую библиотеку из Jetpack - CameraX, которая решим проблему с работой с камерой на разных устройствах и упростит наиболее популярные операции, выполняемые в приложениях.
#Codelab #Android10 #GestureNavigation
Gesture Navigation and the edge-to-edge experience
Продолжительность - 18 минут
В Android 10 была представлена навигация жестами и началась пропаганда концепции «Edge-to-Edge» для дизайна приложений, тем самым используя все возможности современных безрамочных устройств.
Чему вы научитесь из codelab:
👉 Работа с Windows Insets
👉 Разрешение конфликтов между системными жестами и жестами в вашем приложении
👉 Immersive mode и навигация жестами
Gesture Navigation and the edge-to-edge experience
Продолжительность - 18 минут
В Android 10 была представлена навигация жестами и началась пропаганда концепции «Edge-to-Edge» для дизайна приложений, тем самым используя все возможности современных безрамочных устройств.
Чему вы научитесь из codelab:
👉 Работа с Windows Insets
👉 Разрешение конфликтов между системными жестами и жестами в вашем приложении
👉 Immersive mode и навигация жестами
Google Codelabs
Gesture Navigation and the edge-to-edge experience | Google Codelabs
In this codelab, you’ll work on an existing app to make its app controls work with Gesture Navigation. You’ll also offer a full edge-to-edge screen experience.
#Architecture
The S.O.L.I.D Principles in Pictures
Рассказ о принципах S.O.L.I.D. не только словами, но и визуализацией, которая позволит понять правила, скрывающиеся за аббревиатурой
The S.O.L.I.D Principles in Pictures
Рассказ о принципах S.O.L.I.D. не только словами, но и визуализацией, которая позволит понять правила, скрывающиеся за аббревиатурой
Medium
The S.O.L.I.D Principles in Pictures
If you are familiar with Object-Oriented Programming, then you’ve probably heard about the SOLID principles.
#Firebase
Say hello to the helpful Firebase Emulator - a local first UI to boost your productivity
Разработка с Firebase в качестве бэкенда без реального проекта не так просто. Еще вчера управлять локальной сервером было непросто, а вот уже сегодня можно использовать Firebase Emulator UI - локальное web приложение, которое позволяет управлять Firebase Local Emulator Suite.
Say hello to the helpful Firebase Emulator - a local first UI to boost your productivity
Разработка с Firebase в качестве бэкенда без реального проекта не так просто. Еще вчера управлять локальной сервером было непросто, а вот уже сегодня можно использовать Firebase Emulator UI - локальное web приложение, которое позволяет управлять Firebase Local Emulator Suite.
The Firebase Blog
Say hello to the helpful Firebase Emulator - a local first UI to boost your productivity
Today we are extremely excited to introduce the Emulator UI to the Firebase community. The Emulator UI is a local web app that allows you to manage local emulators that make up the Firebase Local Emulator Suite.
#Kotlin
Reification of the Erased
В Kotlin есть возможность использовать generic в функциях помимо type safety и приведения типов, например можно получить класс generic-а. Для этого надо использовать ключевое слово
В статье раскрываются особенности работы generic в Java, почему понадобилось
Reification of the Erased
В Kotlin есть возможность использовать generic в функциях помимо type safety и приведения типов, например можно получить класс generic-а. Для этого надо использовать ключевое слово
reified
и сделать функцию inline
.В статье раскрываются особенности работы generic в Java, почему понадобилось
reified
и как оно работает в KotlinMedium
Reification of the erased
Kotlin Vocabulary, Reified
#Accessibility
Building apps for everyone: discover why inclusivity and accessibility truly matter
Разработчики из ВВС делятся опытом адаптации своих приложений для людей с ограниченными возможностями.
Советы по адаптации:
👉 Сделайте accessibility одним из приоритетов вашего приложения
👉Отслеживайте "accessibility долг"
👉Следуйте рекомендациям из Material Design
👉 Привлекайте специалистов по accessibility для работы в командах
👉 Слушайте отзывы пользователей
👉 Воспользуйтесь преимуществами инструментов Google
👉 Интегрируйте AccessibilityChecks API для автоматизации проверок
👉 Используйте приложение Accessibility Scanner для ручной проверки
👉 Изучайте pre-launch report в Google Play
👉 Развивайте практически навыки для разработки приложений с высоким уровнем доступности
Руководство "Build more accessible apps"
Building apps for everyone: discover why inclusivity and accessibility truly matter
Разработчики из ВВС делятся опытом адаптации своих приложений для людей с ограниченными возможностями.
Советы по адаптации:
👉 Сделайте accessibility одним из приоритетов вашего приложения
👉Отслеживайте "accessibility долг"
👉Следуйте рекомендациям из Material Design
👉 Привлекайте специалистов по accessibility для работы в командах
👉 Слушайте отзывы пользователей
👉 Воспользуйтесь преимуществами инструментов Google
👉 Интегрируйте AccessibilityChecks API для автоматизации проверок
👉 Используйте приложение Accessibility Scanner для ручной проверки
👉 Изучайте pre-launch report в Google Play
👉 Развивайте практически навыки для разработки приложений с высоким уровнем доступности
Руководство "Build more accessible apps"
Medium
Building apps for everyone: discover why inclusivity and accessibility truly matter
8 tips from the BBC to guide accessibility in apps and games — part of the Apps, Games, & Insights podcast
#Livestream #Swift #Multiplatform
Swift на Android. Как Spark код между iOS и Android шарили
Когда: Сегодня, 26 мая, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast
Team Lead Android команды разработки Spark Mail расскажет о том, как они шарят код между iOS и Android, используя при этом Swift. Посмотрим появится ли конкурент у Kotlin Multiplatform.
Мы будем вести прямую трансляцию и вы сможете задать свои вопросы
Ведущий Кирилл Розов. Android и Kotlin fan. Mobile Lead в Replika.ai
Гости:
- Андрей Друк. Team Lead Android команды Spark Mail в Readdle
- Данис Тазетдинов. Евангелист платформ Apple. Chief Software Engineer в EPAM. Ведущий подкаста Mobile People Talks
Swift на Android. Как Spark код между iOS и Android шарили
Когда: Сегодня, 26 мая, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast
Team Lead Android команды разработки Spark Mail расскажет о том, как они шарят код между iOS и Android, используя при этом Swift. Посмотрим появится ли конкурент у Kotlin Multiplatform.
Мы будем вести прямую трансляцию и вы сможете задать свои вопросы
Ведущий Кирилл Розов. Android и Kotlin fan. Mobile Lead в Replika.ai
Гости:
- Андрей Друк. Team Lead Android команды Spark Mail в Readdle
- Данис Тазетдинов. Евангелист платформ Apple. Chief Software Engineer в EPAM. Ведущий подкаста Mobile People Talks
#UX
UX для недизайнеров, или что должен учитывать разработчик мобильных приложений
UX - это забота не только дизайнеров, менеджера продукта и UX-эксперта, а также задача разработчика знать базовые вещи, которые он не должен допустить, а именно:
⚠️ Маленькая область нажатия - должна быть не меньше 48 dp по ширине и высоте для кликабильного элемента
⚠️ Отсутствие реакции на нажатие - view должен меняться при нажатии: смена фона, ripple эффект и другие
⚠️ Реакция когда не надо - например на элементах, клики на которых не приводят к каким либо действия
⚠️ Не учитывается что экраны могут быть маленькими
⚠️ Клавиатура не появляется/скрывается автоматически
⚠️ Отсутствие информация о выполнении операции (напр, показ прогресса)
В статье разбирается множество других проблем, которое разработчик должен не допускать при реализации дизайна
Нашли кейсы которых нет в статье или страдаете от них как пользователь - пишите в @android_broadcast_talks
UX для недизайнеров, или что должен учитывать разработчик мобильных приложений
UX - это забота не только дизайнеров, менеджера продукта и UX-эксперта, а также задача разработчика знать базовые вещи, которые он не должен допустить, а именно:
⚠️ Маленькая область нажатия - должна быть не меньше 48 dp по ширине и высоте для кликабильного элемента
⚠️ Отсутствие реакции на нажатие - view должен меняться при нажатии: смена фона, ripple эффект и другие
⚠️ Реакция когда не надо - например на элементах, клики на которых не приводят к каким либо действия
⚠️ Не учитывается что экраны могут быть маленькими
⚠️ Клавиатура не появляется/скрывается автоматически
⚠️ Отсутствие информация о выполнении операции (напр, показ прогресса)
В статье разбирается множество других проблем, которое разработчик должен не допускать при реализации дизайна
Нашли кейсы которых нет в статье или страдаете от них как пользователь - пишите в @android_broadcast_talks
vc.ru
UX для недизайнеров, или что должен учитывать разработчик мобильных приложений — Дизайн на vc.ru
В мобильных приложениях часто встречаются мелкие UX-детали, которые дизайнеры забывают отрисовать в макетах, а менеджеры прописать в тасках. Избежать появления многих ошибок могут сами разработчики.
#Tooling
The Sandbox Show: LeakCanary от Square
Доклад от Square о LeakCanary - библиотеки для поиска утечек памяти в Android приложениях. В рамках видео вы увидите как ищут утечки памяти в новом браузере от Firefox - Fenix и сможете познакомиться с тем как находить и анализировать утечки с LeakCanary.
The Sandbox Show: LeakCanary от Square
Доклад от Square о LeakCanary - библиотеки для поиска утечек памяти в Android приложениях. В рамках видео вы увидите как ищут утечки памяти в новом браузере от Firefox - Fenix и сможете познакомиться с тем как находить и анализировать утечки с LeakCanary.
YouTube
The Sandbox: LeakCanary
In this episode of the Sandbox Show, Pierre-Yves Ricau (https://twitter.com/Piwai) and Emily Kager (https://twitter.com/EmilyKager) take a look at using LeakCanary to address some memory leaks in the open source Firefox android app Fenix.
You can see a walkthrough…
You can see a walkthrough…
#Meetup #Online
Tinkoff_IT_Weekly#8. Android
Когда: 27 мая 19.00 (GMT+3)
Где: Zoom
Митап от компании Тинькофф в котором вас ждут 2 доклада:
🤟 Мария Чернядиева из Тинькофф расскажет, чем отличается библиотека и sdk и в чем особенности ее разработки.
🤙 Сергей Боиштян из Avito поделится опытом управления, тестирования и подключения зависимостей к приложению в ci/cd команде
Tinkoff_IT_Weekly#8. Android
Когда: 27 мая 19.00 (GMT+3)
Где: Zoom
Митап от компании Тинькофф в котором вас ждут 2 доклада:
🤟 Мария Чернядиева из Тинькофф расскажет, чем отличается библиотека и sdk и в чем особенности ее разработки.
🤙 Сергей Боиштян из Avito поделится опытом управления, тестирования и подключения зависимостей к приложению в ci/cd команде
Т-Банк Митапы
Митап Tinkoff IT Weekly #8. Android
Еженедельные встречи экспертов, разбор реальных кейсов, советы по выживанию. it’s Tinkoff выходит в онлайн.
#Kotlin #Delegation
Delegation Pattern in Kotlin
Kotlin поддерживает шаблон Delegation и это позволяет вам не создавать сложных иерархий и упрощать переиспользование логики.
В статье разбирается как это сделать, а также пример как подход можно применить для упрощения работы с ViewBinding в Android
Delegation Pattern in Kotlin
Kotlin поддерживает шаблон Delegation и это позволяет вам не создавать сложных иерархий и упрощать переиспользование логики.
В статье разбирается как это сделать, а также пример как подход можно применить для упрощения работы с ViewBinding в Android
Medium
Delegation Pattern in Kotlin
Issues with inheritance to make your code reusable
#AndroidAcademy #Minsk #Online
Android Academy Advanced. Optimization. Part 3
Когда: 19.00 28 мая (GMT+3)
Где: YouTube канал Andoid Academy Minsk
В Android имеется встроенная поддержка одной из распространенных систем управления базами данных - SQLite. Для этого в пакете android.database.sqlite определен набор классов, которые позволяют работать с базами данных SQLite.
Как правильно работать с SQLite и что нужно знать, чтобы получить максимальную производительность, все это расскажут на лекции.
Android Academy Advanced. Optimization. Part 3
Когда: 19.00 28 мая (GMT+3)
Где: YouTube канал Andoid Academy Minsk
В Android имеется встроенная поддержка одной из распространенных систем управления базами данных - SQLite. Для этого в пакете android.database.sqlite определен набор классов, которые позволяют работать с базами данных SQLite.
Как правильно работать с SQLite и что нужно знать, чтобы получить максимальную производительность, все это расскажут на лекции.
#Performance #RecyclerView
Как происходит рендеринг экрана сообщений ВКонтакте
Разработчик из VK делится опытом оптимизации UI в RecyclerView с множеством различных типов элементов. В докладе рассматриваются как стандартные подходы, так и нет.
Как происходит рендеринг экрана сообщений ВКонтакте
Разработчик из VK делится опытом оптимизации UI в RecyclerView с множеством различных типов элементов. В докладе рассматриваются как стандартные подходы, так и нет.
Хабр
Как происходит рендеринг экрана сообщений ВКонтакте
Что делает ВКонтакте, чтобы уменьшить лаги отрисовки? Как отобразить очень большое сообщение и не убить UiThread? Как уменьшить задержки при скролле в RecyclerView? Мой опыт основан на работе...
#Java #Coroutines
Project Loom: виртуальные потоки в Java уже близко
Java в последние пару лет фигачит новые фичи быстрее чем стартапы, уже скоро и альтернатива Kotlin Coroutines будет в строю - виртульные потоки.
Виртуальные потоки принесут легковесную многопоточность в Java, но также решат проблемы разработчиков библиотек с concurrency
Project Loom: виртуальные потоки в Java уже близко
Java в последние пару лет фигачит новые фичи быстрее чем стартапы, уже скоро и альтернатива Kotlin Coroutines будет в строю - виртульные потоки.
Виртуальные потоки принесут легковесную многопоточность в Java, но также решат проблемы разработчиков библиотек с concurrency
Хабр
Project Loom: виртуальные потоки в Java уже близко
Несколько дней назад Ron Pressler разродился статьей State of Loom, которую не полайкал только самый ленивый джавист. Статья действительно хорошая, в ней много и...