Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#StrictMode

Smooth Operator: Using StrictMode to make your Android App ANR free

Хотите проверить то что ваше приложение не выполняет никаких IO операций на главном потоке или используется только шифрованное соединение по сети? Тогда всем может помочь в этом StrictMode. В статье вы найдете как настроить StrictMode и как выглядит обнаружение проблем.

Если хотите использовать StrictMode удобнее, на любой версии API и даже иметь DSL для настройки, то обратите внимание на мою библиотеку - StrictMode Compat.
#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
#Kotlin

Kotlin dilemma: Extension or Member

Extension функции - одна из самых популярных возможностей языка Kotlin, но проблема ее в том что разработчики слишком увлеклись ей и используют ее для всего.

Когда стоит сделать extension функцию:
👉 Nullable receiver
👉 Вы не можете модифицировать класс
👉 Сделать интерфейс/класс минималистичным
#Conference #Online #CFP

Сообщество Mobile People организовывают глобальную онлайн-конференцию Mobile Z-Days и ищут спикеров

Событие пройдет 8-10 сентября, а до 3 июля можно подать заявку, чтобы стать спикером!

Темы, которые будут на конференции: Android, iOS, Flutter, React Native, Xamarin
#Espresso #Testing

Testing Espresso Matchers

Espresso - это фреймворк для UI тестирования Android приложений. Для поиска определенной view в иерархии или для проверки состояния view в Espresso используются объекты класса org.hamcrest.Matcher

Можно использовать как множество готовых Matchers, покрывающих большинство кейсов, так и создавать собственные. Например, для редких состояний view или для custom view.

В статье расписано как можно реализовать собственный Matcher на примере custom view, и как его потом использовать в UI тестах.
#Dagger #Hilt

EXPLORING HILT: APPLICATION LEVEL CODE GENERATION

Хотите узнать как работает магия? Тогда вам стоит почитать в статью и отправиться в путешествие какой код генерирует Hilt - расширение Dagger для Android разработки
#Architecture

Вероятно, хватит рекомендовать «Чистый код»

В мире разработки ПО Роберт Мартин считается своего рода "иконой". Этот человек написал несколько книг, которые стали для многих программистов настольными. Но один из главных нюансов программирования в том, что оно постоянно развивается и видоизменяется, то что было актуально 10 лет назад сегодня может быть абсолютно нерелевантным.

Автор в статье рассказывает о неточностях и проблемах книги "Чистый код", рассказывает о том что сам код, приведённый в книге, не такой уж и "чистый". Автор не использует правило "критикуешь - предлагай", что было бы весьма актуально для подобной темы.

Интересно узнать ваше мнение относительно этой статьи, поэтому не поленитесь после прочтения поставить палец вверх или вниз в конце этого поста.
#Benchmark #Flutter #React

Native vs Flutter vs React Native: тестируем производительность в работе с UI-элементами

В статье сравнивается потребление ресурсов и быстродействие при отрисовке различных типов анимаций между нативными приложениями на Android и iPhone и такими же приложениями написанными на Flutter и React Native.

Ожидаемо, нативные приложения работают быстрее и показывают лучшие результаты в рендеринге и использовании ресурсов, Flutter держится в середине, React Native оказался наиболее медленным.
#Meetup #Online #Android11

Организаторы Android Academy из разных городов и проведут пять встреч о Android 11 и помогут узнать о всех его особенностях

Формат: раз в две недели, полтора часа горячих обсуждений, кода и выводов!
Когда: 7 июля в 19:00 (GMT+3)
#Android11 #ScopedStorage

Bringing modern storage to Viber’s users

В Android 11 ограничения к доступу файловой системы будут введены, после того как были отложены в Android 10. Вам придется проверить как вы работаете с файлами, обращаетесь к медиа и как это подружить между новыми и старыми версиями.

На своем примере рассказывают разработчики из Viber как они прошли этот путь и сделали доступ к файловой системе по всем последним рекомендациям
#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
Android Broadcast
ОПРОС ДЛЯ РАЗРАБОТЧИКОВ ПОД ANDROID:
Какой ОС на своем оснвном компьютере для разработке вы пользуетесь?
Больше всего среди Android разработчиков маководов. С чем это связано? С ОС или железом от компании? Также интересно узнать мнение людей кто сам выбирает Windows, а не на работе дали комп такой.

Все ответы пишите в @android_broadcast_talks
#UI

How I resolved WindowManager.BadTokenException for Toast#handleShow()?

Для всех тех кто сталкивался с тем, что падает приложение с WindowManager.BadTokenException при показе Toast, то эта статья объяснит вам как устроена система работы окон приложения и какую роль играют в ней токены.

Помимо всего вы получите библиотеку для показа Toast без проблем на любой версии Android
#AR #ARCore

ARCore Depth API открыли для всех

ARCore - это SDK для работы с дополненной реальностью. ARCore, в отличие от своего предшественника (проекта Tango), не требует специальной аппаратной поддержки, благодаря чему может применяться на различных Android устройствах.

В продолжение развития проекта Google выпустил ARCore Depth API, которое может строить карту глубины и позволяет при отображении цифровых объектов учитывать положение других объектов. И для этого не нужно никаких специальных датчиков или нескольких камер - достаточно одной обычной камеры 💪
#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() вы сможете добавить свою собственную информацию, которая будет полезна в отладке
#Android11 #Security

Package visibility in Android 11

В Android 11 введены ограничения для доступа к установленным приложениям на устройстве. Теперь вы можете получить доступ к информации только тех приложений, id которых укажите заранее в манифесте вашего приложения и какие действия с ними можно делать (пример описания пакетов для доступа).

Получить доступ ко всем установленным приложениям все же остался с помощью нового разрешения QUERY_ALL_PACKAGES. Публикация приложений, использующих это разрешение, будет ограничена новой политикой Google Play.
#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 классах такие интерфейсы как Comparator теперь помечены функциональными
👉 Новые операторы для коллекций: sumOf, minOf, maxOf, flatMapIndexed
👉 Функции min и max для коллекций переименованы в minOrNull и maxOrNull, а существующие версии помечены как deprecated
👉 Аннотация Throws теперь добавлена в общую библиотеку, а не только в JVM
👉 Функции containsindexOf и lastIndexOf для FloatArray и DoubleArray помечены deprecated
👉 Добавлена возможность конвертации KType в Java Type без подключения библиотеки рефлексии
#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, для того чтобы обсудить новинки и ответить на ваши вопросы!

Если вы хотите предложить к обсуждению интересующую вас тему, вы можете это сделать через форму регистрации

🎁Автора самой интересной темы ждет приз!