#Jetpack
Обновление Android Jetpack 24.06.20
Прошло уже больше недели, а я не написал о новом релизе Jetpack. Что у нас тут:
👉 Новая стабильная версия Navigation 2.3.0: поддержка Dynamic Feature, Activity Result и др
👉 Biometric 1.1.0-alpha01 - наконец-то пофиксили все утечки памяти из первой версии
👉 Новые Emoji 1.1.0
👉 Новый мажорный релиз WorkManager на подходе - вышла первая rc
Обновление Android Jetpack 24.06.20
Прошло уже больше недели, а я не написал о новом релизе Jetpack. Что у нас тут:
👉 Новая стабильная версия Navigation 2.3.0: поддержка Dynamic Feature, Activity Result и др
👉 Biometric 1.1.0-alpha01 - наконец-то пофиксили все утечки памяти из первой версии
👉 Новые Emoji 1.1.0
👉 Новый мажорный релиз WorkManager на подходе - вышла первая rc
Android Developers
Navigation | Jetpack | Android Developers
#Kotlin
Kotlin dilemma: Extension or Member
Extension функции - одна из самых популярных возможностей языка Kotlin, но проблема ее в том что разработчики слишком увлеклись ей и используют ее для всего.
Когда стоит сделать extension функцию:
👉 Nullable receiver
👉 Вы не можете модифицировать класс
👉 Сделать интерфейс/класс минималистичным
Kotlin dilemma: Extension or Member
Extension функции - одна из самых популярных возможностей языка Kotlin, но проблема ее в том что разработчики слишком увлеклись ей и используют ее для всего.
Когда стоит сделать extension функцию:
👉 Nullable receiver
👉 Вы не можете модифицировать класс
👉 Сделать интерфейс/класс минималистичным
Medium
Kotlin dilemma: Extension or Member
A blog describing pitfalls of incorrect usage of Kotlin’s Extension functions.
#Conference #Online #CFP
Сообщество Mobile People организовывают глобальную онлайн-конференцию Mobile Z-Days и ищут спикеров
Событие пройдет 8-10 сентября, а до 3 июля можно подать заявку, чтобы стать спикером!
Темы, которые будут на конференции: Android, iOS, Flutter, React Native, Xamarin
Сообщество Mobile People организовывают глобальную онлайн-конференцию Mobile Z-Days и ищут спикеров
Событие пройдет 8-10 сентября, а до 3 июля можно подать заявку, чтобы стать спикером!
Темы, которые будут на конференции: Android, iOS, Flutter, React Native, Xamarin
wearecommunity.io
Mobile Days: Registration
3 days of coolest talks about iOS, Android and Flutter
#Espresso #Testing
Testing Espresso Matchers
Espresso - это фреймворк для UI тестирования Android приложений. Для поиска определенной view в иерархии или для проверки состояния view в Espresso используются объекты класса
Можно использовать как множество готовых Matchers, покрывающих большинство кейсов, так и создавать собственные. Например, для редких состояний view или для custom view.
В статье расписано как можно реализовать собственный Matcher на примере custom view, и как его потом использовать в UI тестах.
Testing Espresso Matchers
Espresso - это фреймворк для UI тестирования Android приложений. Для поиска определенной view в иерархии или для проверки состояния view в Espresso используются объекты класса
org.hamcrest.Matcher
Можно использовать как множество готовых Matchers, покрывающих большинство кейсов, так и создавать собственные. Например, для редких состояний view или для custom view.
В статье расписано как можно реализовать собственный Matcher на примере custom view, и как его потом использовать в UI тестах.
Medium
Testing Espresso Matchers
If you are using instrumentation tests in your Android app, it is likely that you are using Espresso— allowing you to define expectations…
#Dagger #Hilt
EXPLORING HILT: APPLICATION LEVEL CODE GENERATION
Хотите узнать как работает магия? Тогда вам стоит почитать в статью и отправиться в путешествие какой код генерирует Hilt - расширение Dagger для Android разработки
EXPLORING HILT: APPLICATION LEVEL CODE GENERATION
Хотите узнать как работает магия? Тогда вам стоит почитать в статью и отправиться в путешествие какой код генерирует Hilt - расширение Dagger для Android разработки
Android Developers
Dependency injection with Hilt | Android Developers
#Architecture
Вероятно, хватит рекомендовать «Чистый код»
В мире разработки ПО Роберт Мартин считается своего рода "иконой". Этот человек написал несколько книг, которые стали для многих программистов настольными. Но один из главных нюансов программирования в том, что оно постоянно развивается и видоизменяется, то что было актуально 10 лет назад сегодня может быть абсолютно нерелевантным.
Автор в статье рассказывает о неточностях и проблемах книги "Чистый код", рассказывает о том что сам код, приведённый в книге, не такой уж и "чистый". Автор не использует правило "критикуешь - предлагай", что было бы весьма актуально для подобной темы.
Интересно узнать ваше мнение относительно этой статьи, поэтому не поленитесь после прочтения поставить палец вверх или вниз в конце этого поста.
Вероятно, хватит рекомендовать «Чистый код»
В мире разработки ПО Роберт Мартин считается своего рода "иконой". Этот человек написал несколько книг, которые стали для многих программистов настольными. Но один из главных нюансов программирования в том, что оно постоянно развивается и видоизменяется, то что было актуально 10 лет назад сегодня может быть абсолютно нерелевантным.
Автор в статье рассказывает о неточностях и проблемах книги "Чистый код", рассказывает о том что сам код, приведённый в книге, не такой уж и "чистый". Автор не использует правило "критикуешь - предлагай", что было бы весьма актуально для подобной темы.
Интересно узнать ваше мнение относительно этой статьи, поэтому не поленитесь после прочтения поставить палец вверх или вниз в конце этого поста.
Хабр
Вероятно, хватит рекомендовать «Чистый код»
Возможно, мы никогда не сможем прийти к эмпирическому определению «хорошего кода» или «чистого кода». Это означает, что мнение одного человека о мнении другого человека о «чистом коде» обязательно...
#Benchmark #Flutter #React
Native vs Flutter vs React Native: тестируем производительность в работе с UI-элементами
В статье сравнивается потребление ресурсов и быстродействие при отрисовке различных типов анимаций между нативными приложениями на Android и iPhone и такими же приложениями написанными на Flutter и React Native.
Ожидаемо, нативные приложения работают быстрее и показывают лучшие результаты в рендеринге и использовании ресурсов, Flutter держится в середине, React Native оказался наиболее медленным.
Native vs Flutter vs React Native: тестируем производительность в работе с UI-элементами
В статье сравнивается потребление ресурсов и быстродействие при отрисовке различных типов анимаций между нативными приложениями на Android и iPhone и такими же приложениями написанными на Flutter и React Native.
Ожидаемо, нативные приложения работают быстрее и показывают лучшие результаты в рендеринге и использовании ресурсов, Flutter держится в середине, React Native оказался наиболее медленным.
Хабр
Native vs Flutter vs React Native: тестируем производительность в работе с UI-элементами
Давайте возьмём задачи разной сложности и сравним потребление памяти, FPS, загрузку CPU и GPU при работе мобильных приложений, созданных с помощью разных технологий. Предыстория Мы постоянно изучаем...
#Meetup #Online #Android11
Организаторы Android Academy из разных городов и проведут пять встреч о Android 11 и помогут узнать о всех его особенностях
Формат: раз в две недели, полтора часа горячих обсуждений, кода и выводов!
Когда: 7 июля в 19:00 (GMT+3)
Организаторы Android Academy из разных городов и проведут пять встреч о Android 11 и помогут узнать о всех его особенностях
Формат: раз в две недели, полтора часа горячих обсуждений, кода и выводов!
Когда: 7 июля в 19:00 (GMT+3)
#Android11 #ScopedStorage
Bringing modern storage to Viber’s users
В Android 11 ограничения к доступу файловой системы будут введены, после того как были отложены в Android 10. Вам придется проверить как вы работаете с файлами, обращаетесь к медиа и как это подружить между новыми и старыми версиями.
На своем примере рассказывают разработчики из Viber как они прошли этот путь и сделали доступ к файловой системе по всем последним рекомендациям
Bringing modern storage to Viber’s users
В Android 11 ограничения к доступу файловой системы будут введены, после того как были отложены в Android 10. Вам придется проверить как вы работаете с файлами, обращаетесь к медиа и как это подружить между новыми и старыми версиями.
На своем примере рассказывают разработчики из Viber как они прошли этот путь и сделали доступ к файловой системе по всем последним рекомендациям
Android Developers Blog
Bringing modern storage to Viber’s users
This blogpost is a collaboration between Google and Viber. Authored by Kseniia Shumelchyk from Google and Anton Novikov, Sergey Kozlov from Viber.
#Design
Стилизация Android-приложений и дизайн-система: как это сделать и подружить одно с другим
Дизайн система - это принципы, которые позволят вам унифицировать подходи описания компонентов и эффективно реализовывать дизайн в приложение на основе этих «кирпичиков».
В статье автор разбирает подходы как реализовать дизайн систему в Android приложении
Стилизация Android-приложений и дизайн-система: как это сделать и подружить одно с другим
Дизайн система - это принципы, которые позволят вам унифицировать подходи описания компонентов и эффективно реализовывать дизайн в приложение на основе этих «кирпичиков».
В статье автор разбирает подходы как реализовать дизайн систему в Android приложении
Хабр
Стилизация Android-приложений и дизайн-система: как это сделать и подружить одно с другим
Привет читателям! В какой-то момент любое крупное приложение разрастается так, что сложно везде поддерживать однотипный дизайн и динамично реагировать на любые изменения и тенденции в дизайне и...
#GooglePlay #Subscription
New features to acquire and retain subscribers
Google Play пополняется новыми возможностями по работе с подписками:
👉 Новое flow для использования промокода теперь поможет пользователям проще получить подписку по нему
👉 Промокод для множества пользователей, которые можно использовать в рекламных кампаниях.
👉 Возможность указать что даёт подписка. При отмене подписки эта информацию будет показана пользователю
👉 Пользователи могут возобновить недавно истекшую подписку через приложение Google Play
👉 Уведомление о предстоящем уменьшение цены на подписку
👉 Функции «Account hold» и «Restoration» будут работать для всех приложений по умолчанию с 1 ноября 2020
👉 «Subscrption pause» и «Resubscribe» будут включены с возможностью отключения с 1 ноября 2020
Всем разработчикам рекомендуется перейти на Google Play Billing Library v2 или v3
New features to acquire and retain subscribers
Google Play пополняется новыми возможностями по работе с подписками:
👉 Новое flow для использования промокода теперь поможет пользователям проще получить подписку по нему
👉 Промокод для множества пользователей, которые можно использовать в рекламных кампаниях.
👉 Возможность указать что даёт подписка. При отмене подписки эта информацию будет показана пользователю
👉 Пользователи могут возобновить недавно истекшую подписку через приложение Google Play
👉 Уведомление о предстоящем уменьшение цены на подписку
👉 Функции «Account hold» и «Restoration» будут работать для всех приложений по умолчанию с 1 ноября 2020
👉 «Subscrption pause» и «Resubscribe» будут включены с возможностью отключения с 1 ноября 2020
Всем разработчикам рекомендуется перейти на Google Play Billing Library v2 или v3
Android Developers Blog
New features to acquire and retain subscribers
Posted by Angela Ying, Product Manager, Google Play Subscription continues to be one of the fastest growing business models for apps in...
Android Broadcast
ОПРОС ДЛЯ РАЗРАБОТЧИКОВ ПОД ANDROID:
Какой ОС на своем оснвном компьютере для разработке вы пользуетесь?
Какой ОС на своем оснвном компьютере для разработке вы пользуетесь?
Больше всего среди Android разработчиков маководов. С чем это связано? С ОС или железом от компании? Также интересно узнать мнение людей кто сам выбирает Windows, а не на работе дали комп такой.
Все ответы пишите в @android_broadcast_talks
Все ответы пишите в @android_broadcast_talks
#UI
How I resolved WindowManager.BadTokenException for Toast#handleShow()?
Для всех тех кто сталкивался с тем, что падает приложение с WindowManager.BadTokenException при показе Toast, то эта статья объяснит вам как устроена система работы окон приложения и какую роль играют в ней токены.
Помимо всего вы получите библиотеку для показа Toast без проблем на любой версии Android
How I resolved WindowManager.BadTokenException for Toast#handleShow()?
Для всех тех кто сталкивался с тем, что падает приложение с WindowManager.BadTokenException при показе Toast, то эта статья объяснит вам как устроена система работы окон приложения и какую роль играют в ней токены.
Помимо всего вы получите библиотеку для показа Toast без проблем на любой версии Android
Medium
How I resolved WindowManager.BadTokenException for Toast#handleShow()?
“Every problem is a gift — without problems, we would not grow.” ― Anthony Robbins
#AR #ARCore
ARCore Depth API открыли для всех
ARCore - это SDK для работы с дополненной реальностью. ARCore, в отличие от своего предшественника (проекта Tango), не требует специальной аппаратной поддержки, благодаря чему может применяться на различных Android устройствах.
В продолжение развития проекта Google выпустил ARCore Depth API, которое может строить карту глубины и позволяет при отображении цифровых объектов учитывать положение других объектов. И для этого не нужно никаких специальных датчиков или нескольких камер - достаточно одной обычной камеры 💪
ARCore Depth API открыли для всех
ARCore - это SDK для работы с дополненной реальностью. ARCore, в отличие от своего предшественника (проекта Tango), не требует специальной аппаратной поддержки, благодаря чему может применяться на различных Android устройствах.
В продолжение развития проекта Google выпустил ARCore Depth API, которое может строить карту глубины и позволяет при отображении цифровых объектов учитывать положение других объектов. И для этого не нужно никаких специальных датчиков или нескольких камер - достаточно одной обычной камеры 💪
AppTractor
ARCore Depth API открыли для всех
API может с помощью одной обычной камеры строить карту глубины для сцены. Уже не требуются специальные датчики или нескольких объективов - все, что нужно, это одна RGB-камера.
#Android11 #Security
New Android 11 tools to make apps more private and stable
Android 11, как и любой другой мажорный релиз этой ОС, привнесли улучшения в безопасности и предоставили нам 2 новых API.
Data Access Auditing API
Позволит вам отслеживать доступ к закрытым и защищенным данным, например местоположение.
Process Exit Reasons
Возможность получить причину падения приложения. История крешей теперь доступна через ActivityManager. С помощью ActivityManager.setProcessStateSummary() вы сможете добавить свою собственную информацию, которая будет полезна в отладке
New Android 11 tools to make apps more private and stable
Android 11, как и любой другой мажорный релиз этой ОС, привнесли улучшения в безопасности и предоставили нам 2 новых API.
Data Access Auditing API
Позволит вам отслеживать доступ к закрытым и защищенным данным, например местоположение.
Process Exit Reasons
Возможность получить причину падения приложения. История крешей теперь доступна через ActivityManager. С помощью ActivityManager.setProcessStateSummary() вы сможете добавить свою собственную информацию, которая будет полезна в отладке
Medium
New Android 11 tools to make apps more private and stable
As part of our continuing effort to help you build high quality apps, we often look for areas where we can invest in tools and resources…
#Android11 #Security
Package visibility in Android 11
В Android 11 введены ограничения для доступа к установленным приложениям на устройстве. Теперь вы можете получить доступ к информации только тех приложений, id которых укажите заранее в манифесте вашего приложения и какие действия с ними можно делать (пример описания пакетов для доступа).
Получить доступ ко всем установленным приложениям все же остался с помощью нового разрешения QUERY_ALL_PACKAGES. Публикация приложений, использующих это разрешение, будет ограничена новой политикой Google Play.
Package visibility in Android 11
В Android 11 введены ограничения для доступа к установленным приложениям на устройстве. Теперь вы можете получить доступ к информации только тех приложений, id которых укажите заранее в манифесте вашего приложения и какие действия с ними можно делать (пример описания пакетов для доступа).
Получить доступ ко всем установленным приложениям все же остался с помощью нового разрешения QUERY_ALL_PACKAGES. Публикация приложений, использующих это разрешение, будет ограничена новой политикой Google Play.
Medium
Package visibility in Android 11
On Android 10 and earlier, apps could query the full list of installed apps on the system using methods like queryIntentActivities. In…
#Kotlin
Kotlin 1.4-M3 is Out: Standard Library Changes
Вышел последний milestone (превью версия) Kotlin 1.4. За этим нас ждет RC версия, в которой финализируются фичи.
Что нового в 1.4-M3:
👉 Kotlin JVM библиотеки теперь содержат информацию о Java 9 модулях. Раньше так сделать было нельзя из-за бага в Android Gradle Plugin
👉 Функциональные интерфейсы в стандартной библиотеке. Благодаря поддержке SAM в Kotlin классах такие интерфейсы как
👉 Новые операторы для коллекций:
👉 Функции min и max для коллекций переименованы в minOrNull и maxOrNull, а существующие версии помечены как deprecated
👉 Аннотация Throws теперь добавлена в общую библиотеку, а не только в JVM
👉 Функции
👉 Добавлена возможность конвертации KType в Java Type без подключения библиотеки рефлексии
Kotlin 1.4-M3 is Out: Standard Library Changes
Вышел последний milestone (превью версия) Kotlin 1.4. За этим нас ждет RC версия, в которой финализируются фичи.
Что нового в 1.4-M3:
👉 Kotlin JVM библиотеки теперь содержат информацию о Java 9 модулях. Раньше так сделать было нельзя из-за бага в Android Gradle Plugin
👉 Функциональные интерфейсы в стандартной библиотеке. Благодаря поддержке SAM в Kotlin классах такие интерфейсы как
Comparator
теперь помечены функциональными👉 Новые операторы для коллекций:
sumOf
, minOf
, maxOf
, flatMapIndexed
👉 Функции min и max для коллекций переименованы в minOrNull и maxOrNull, а существующие версии помечены как deprecated
👉 Аннотация Throws теперь добавлена в общую библиотеку, а не только в JVM
👉 Функции
contains
, indexOf
и lastIndexOf для FloatArray
и DoubleArray
помечены deprecated👉 Добавлена возможность конвертации KType в Java Type без подключения библиотеки рефлексии
The JetBrains Blog
Kotlin 1.4-M3 is Out: Standard Library Changes | The Kotlin Blog
Today we’re glad to present the last milestone preview of Kotlin 1.4 – 1.4-M3. In this post, we’ll guide you through the changes this preview brings to the Kotlin standard library. Other components ar
#Android11 #Online #Meetup
Android 11 Beta Meetup
Android 11 Beta был анонсирован 10-го июня, но GDG Москва решили не собираться по этому поводу сразу, а дать сообществу и экспертам немного времени, чтобы попробовать с ним поработать, накопить опыт и вопросы, а потом уже собраться и поговорить об этом!
Федор Цымбал, СТО компании MERA, выступит с докладом "Новинки Android 11 о которых не все слышали".
Где конечно будет говорить о фишках Android 11. Однако в этот раз это будут не Bubbles, IME Animations, One-Time Permissions и прочие новинки, о которых слышали все, кто хоть немного интересовался 11-й версией. Он расскажет о том, что еще не так широко известно, однако должно быть не менее важно или интересно как разработчику под Android, так и простому пользователю.
После доклада к митапу присоединится Кирилл Розов, создатель канала @android_broadcast, для того чтобы обсудить новинки и ответить на ваши вопросы!
Если вы хотите предложить к обсуждению интересующую вас тему, вы можете это сделать через форму регистрации
🎁Автора самой интересной темы ждет приз!
Android 11 Beta Meetup
Android 11 Beta был анонсирован 10-го июня, но GDG Москва решили не собираться по этому поводу сразу, а дать сообществу и экспертам немного времени, чтобы попробовать с ним поработать, накопить опыт и вопросы, а потом уже собраться и поговорить об этом!
Федор Цымбал, СТО компании MERA, выступит с докладом "Новинки Android 11 о которых не все слышали".
Где конечно будет говорить о фишках Android 11. Однако в этот раз это будут не Bubbles, IME Animations, One-Time Permissions и прочие новинки, о которых слышали все, кто хоть немного интересовался 11-й версией. Он расскажет о том, что еще не так широко известно, однако должно быть не менее важно или интересно как разработчику под Android, так и простому пользователю.
После доклада к митапу присоединится Кирилл Розов, создатель канала @android_broadcast, для того чтобы обсудить новинки и ответить на ваши вопросы!
Если вы хотите предложить к обсуждению интересующую вас тему, вы можете это сделать через форму регистрации
🎁Автора самой интересной темы ждет приз!
Meetup
Login to Meetup | Meetup
Not a Meetup member yet? Log in and find groups that host online or in person events and meet people in your local community who share your interests.