Size: a a a

Android Broadcast

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

Все ответы пишите в @android_broadcast_talks
источник
2020 July 06
Android Broadcast
#UI

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

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

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

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

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

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

Package visibility in Android 11

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

Получить доступ ко всем установленным приложениям все же остался с помощью нового разрешения QUERY_ALL_PACKAGES. Публикация приложений, использующих это разрешение, будет ограничена новой политикой Google Play.
источник
Android Broadcast
источник
2020 July 07
Android Broadcast
#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 без подключения библиотеки рефлексии
источник
Android Broadcast
#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 Broadcast
#Android11 #ScopedStorage

Android 11 Storage FAQ

Представленный в Android 10 Scoped Storage добрался до релиза в Android 11. Scoped Storage предназначен упорядочить доступ приложений к файлам пользователя и защитить их от произвольного доступа любым приложением. Изменения будут применены для всех приложение с targetSdk=30+ (Android 11).

В статье можно найти ответы на самые частые вопросы по данной теме:
👉 можно ли обращаться к файлам по пути, используя, например, File API
👉 Что со скоростью доступа к файлам
👉 Как осуществить полный доступ к файловой системе как раньше
👉 Каким приложениям стоит запрашивать разрешение MANAGE_EXTERNAL_STORAGE
👉 Что с Storage Access Framework
👉 Изменения в Scoped Storage в Android 11 по сравнению с Android 10
👉 Тестирование Scoped Storage
👉 Новые ограничения для записи в приватные директории приложений
👉 Что использовать вместо MediaStore.MediaColumns.DATA?
👉 Миграция данных вне Scoped Storage
👉 Исключения в доступе к папкам Android и obb
источник
Android Broadcast
#AndroidBroadcast #AndroidStudio #Plugin

Расширение возможностей Android Studio (livestream)
Когда: четверг, 9 июля, 20.00 (GMT)

Улучшить продуктивность можно не только за счет библиотек, но и с помощью плагинов IDE, а как написать легко свой расскажем в выпуске.

Гость выпуска Павел Стрельченко - Android разработчик в компании hh.ru, занимается поддержкой основных приложений и разрабатывает внутренние инструменты для улучшения работы своей команды

Паша поможет Кириллу упростить написание кода для Dagger, написав в прямом эфире плагин для генерации кода. Займет это около получаса, но сэкономит много времени при работе с ViewModel + Dagger
источник
2020 July 08
Android Broadcast
#Network #Tooling

HTTP Toolkit - интересная утилита для перехвата http(s) трафика:
👉 работает с множеством клиентов, включая Android
👉 в отличие от более известного аналога - Charles, процесс подключения проходит быстрее и удобнее (особенно via ADB)

Бесплатная версия позволяет:
👉 просматривать запросы и ответы
👉 редактировать/подменять запросы и ответы
источник
Android Broadcast
#JetPack #Benchmark

Going Deep on Jetpack Benchmark

Возможность измерения производительности важна для обеспечения плавности пользовательского UI. В составе JetPack есть библиотека Benchmark для этих целей, а в статье рассматривается работа, которую проделал Google, для улучшения точности ее результатов.

👉 уменьшение вмешательства в работу приложения. (Библиотека запускает специальную непрозрачную activity, которая уменьшает вмешательство от других приложений)
👉 Стабилизация частоты процессора
👉 Приоритет потоков. У потока фреймворка наивысший приоритет, у JIT-потока приоритет снижен
👉 "Прогрев" и повторение теста
источник
Android Broadcast
#Dagger #Hilt #Koin

Change DI Library from Koin to Dagger-Hilt

Разработчики кто имеет опыт с Dagger сразу хорошо воспринимали Koin в плане удобства его синтаксиса, но всех огорчало что отсутствует некоторые возможности, особенно проверка графа во время компиляции.

Может ли Hilt стать тем что все так разработчики хотели? Скорее всего только в описание компонентов, ведь под капотом мы имеем старый Dagger

В статье приводится опыт миграции с Koin на Hilt
источник
Android Broadcast
#Kotlin #Refactoring 

Tackle tech debt with @Deprecated annotation

Статья про возможности @kotlin.Deprecated аннотации:
👉 помечать устаревший код
👉 использовать разные уровни:
 ⚠️ warning - при компиляции warning
 ⛔ error - при компиляции ошибка
 🙈 hidden - код не доступен для вызова, при компиляции - Unresolved Reference error
👉 каждый уровень по своему подсвечивается в IDE
👉 может использоваться с большим количеством target'ов (class, function, constructor, property и т.д.)
👉 работает с Java

Отдельно отмечаются возможности параметра replaceWith:
👉 благодаря ему можно не только подсвечивать устаревший код, но и заменять его на новый, используя пункт меню в IDE suggestions
👉 можно заменять устаревший код как в одном месте, так и во всем проекте
👉 можно указать и какие импорты необходимо добавить при замене
источник
2020 July 09
Android Broadcast
#Android11

Android 11 Beta 2 and Platform Stability

Вышла вторая Beta версия Android 11, а вместе с ней достигнут Platfrom Stability релиз, это значит что мы получаем финальное Android SDK и NDK, а также разрешена публикация приложений с targetSdk="30".

Тем кто хочется подготовиться к новой версии Android - уже самое время когда можно начать это делать, ведь изменений в поведении системы для разработчиков уже не будет.
источник
Android Broadcast
#Android11

Testing platform changes in Android 11

В Android 11 появилась новая возможность для тестирования и отладки изменений в поведении приложений при переходе на новое targetSdk. Теперь разработчик может контролировать какие изменения новой версии Android будут включены в системы. Это позволит проверять только их

Подробнее об App Compatibility Framework
источник
Android Broadcast
#Dagger2

Introducing Hephaestus

Настройка Dagger 2 в новом проекте обычно включает в себя несколько шагов:
1️⃣попытаться собрать проект и из ошибок сборки
2️⃣понять какие зависимости отсутствуют
3️⃣добавить их
4️⃣при необходимости синхронизовать проект
5️⃣повторить

Разработчики из Square выяснили, что этот процесс является узким горлышком в продуктивности их разработчиков, и создали плагин для компилятора Hephaestus.

Функционал очень схож с тем, что предоставляет Hilt, однако Hilt содержит больше возможностей и при этом накладывает различные ограничения. Если ваш проект уже на Hilt, то скорее всего Hephaestus вам не нужен, но если вы только задумались о том, как упростить работу с Dagger 2, то стоит сравнить отличия Hephaestus и Hilt

Важное отличие Hephaestus - он работает на основе плагина для Kotlin компилятора, а не на основе Java annotation processing
источник
Android Broadcast
Современные Android-устройства достаточно безопасны и вот почему

К преимуществам Android обычно относят настраиваемость, доступные цены, широкое разнообразие устройств, а про безопасность упоминаний, как правило, нет.

Автор статьи решил выяснить насколько платформа является безопасной и вот какие плюсы он нашел:
👉  любой телефон с Android на борту соответствует CDD
👉  шифрование встроенного хранилища
👉  верифицированная загрузка
👉  безопасное хранение ключей шифрования
👉  ограниченный доступ к файлам приложениями в Android 11
источник