Android Broadcast
14.2K subscribers
3.5K photos
336 videos
11 files
5.87K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

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

Вышли SDK Platform Tools 29.0.5 в которой была улучшена 👉 производительность на Linux
👉 для команды adb install был добавлен новый флаг --fastdeploy, который позволяет инкрементально обновлять APK во время разработки.
#RxJava

Operator fusion in RxJava 2

Разбор оптимизаций библиотеки RxJava 2 для обеспечения наибольшей производительности и устранения негативных эффектов от создание множества промежуточных объектов, называемые "operator fusion".
#Security #Biometric #Jetpack

One Biometric API Over all Android

Готовиться к стабильному релизу библиотека AndroidX Biometric (текущий статус RC2), которая портирует возможности android.hardware.biometrics на Android 6.0+.

android.hardware.biometrics предоставляет стандартный UI для биометрической авторизации (отпечатком пальца или другой) и минимизирует затраты на интеграцию
#GooglePlay

Policies & Publishing on Google Play

Как правильно разрабатывать ваше приложение чтобы оно прошло одобрение в Google Play или не было забанено в будущем? В Google сделали небольшое видео с раскрытием основных политик:
👉 Используйте аудио, видео и картинки, которые не нарушают авторских прав
👉 Безопасность данных пользователя - важный аспект
👉 Используйте только необходимые разрешения, которые нужны вашему приложению
👉 Соответствие Family Policy, в особенности если ваше приложение позиционируется для детей или дети могут использовать его
👉 Правильное описание вашего приложения в Google Play

Соблюдение этих правил - шаг на пути к успешной публикации в Google Play
#Image #Animation

Animate image rotation like a PRO

Рассказ о том как красиво повернуть картинку (конечно же с анимацией), используя для этого изменение матрицы картинки.
#SDK #Video

Выпущено TikTok SDK

Стало доступно публичное SDK для популярного сервиса TikTok. С помощью него вы можете встроить видео из сервиса в своё приложение или загрузить его туда.
#Performance

The battle for jank*-less UI on Android

Разбор базовых способов как найти проблемы почему ваше приложение пропускает кадры и не отображает UI с частотой 60 кадров в секунду:
👉 StrictMode
👉 GPU Overdraw
👉 HWUI rendering
#JSON #Performance

Beyond Gson — Evaluating JSON Parsers for Android & Kotlin

Какой JSON парсер самый быстрый? Задумывались ли вы об этом? Я думаю что значительная часть подписчиков канала используют GSON в качестве парсера, возможно даже и не зная этого.

Что не так с GSON? Он не поддерживает Kotlin из коробки (например nullability), который является основным языком для Android разработки.

В статье сравниваются различные парсеры и как можно мигрировать на них. Результаты сравнения по тестам производительности следующий:
1️⃣ Moshi 🏆
2️⃣ kotlinx.serialization (в процессе разработке, но уже стабильна)
3️⃣ GSON
4️⃣ Jackson

Первые два парсера смогли оторваться за счет того что не используют рефлексию
Какой парсер JSON используете вы?
Final Results
70%
GSON
17%
Moshi
6%
kotlinx.serialization
4%
Jackson
0%
Другой
2%
Не знаю
0%
Использую другой формат для сериализации
Android Broadcast
Какой парсер JSON используете вы?
Явным лидером оказалось творение Google - GSON. Я считаю что он не соответсвует духу современной разработки под Android - это Kotlin и отказ от рефлексии в пользу кодогенерации (kapt или с помощью Gradle плагина).

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

Также жду стабильного релиза kotlinx.serialization и оценить всю его финальную мощь.

Делитесь своим мнение в - @android_broadcast_discussions
#Gradle

Вышел Gradle 6.0

Вышла новая мажорная версия основной системы сборки для Android проектов Gradle. Давайте смотреть что же нового!
👉 Множество улучшений в управление зависимостями
👉 maven-publish плагин теперь публикует Gradle Module Metadata
👉 Улучшение инкрементальной компиляции Java
👉 Новое API для разработчиков Gradle плагинов: ConfigurableFileTree, FileCollection, FileSystemOperations, ExecOperations
👉 Улучшения Worker API
👉 Улучшения в безопасности: запрет работы по HTTP для репозиториев
👉 Отображение проблем с Task во время их выполнения. Теперь легче понять какие проблемы с объявлением Task что не позволяет ему кэшировать результат
👉 Часть экспериментальных фичей стали стабильными: поддержка C++ and Swift support
👉 Удаление Deprecated кода

ВАЖНО: Будьте внимательны при обновление все те кто использует Android Gradle Plugin < 4.0 т.к.проект может перестать собираться или может отвалиться некоторые плагины
#Gradle #CodeGeneration

Generating Java/Kotlin source files during Android Gradle build

Популярный способ генерации кода в Android/Java проектах - использование annotation processing. Есть ограничения этого механизма - он способен обрабатывать аннотации только в Java/Kotlin коде.

Но что делать если вы хотите генерировать код на основе других исходников, например XML файлов, или вовсе без исходников Например, так делает Android Data Binding. Реализуется это с помощью генерации кода на основе Android Gradle плагина. В статье разбирается пример как вы можете сгенерировать код самостоятельно.
#Jetpack #JetpackWeekly #Webkit #Biometric #Security

Jetpack Weekly #11

🎁 Biometric 1.0.0 - backport Biometric API из Android 10
🎁 Annotation-Experimental 1.0.0 - перенос Kotlin @Experimental аннотации в Java при помощи Android Lint
👍 Webkit 1.1.0 - больше безопасности, больше дебага, больше поддержки Kotlin и возможность задавать прокси
#View #Lifecycler

The Life Cycle of a View in Android

Всем кто создаёт собственные View обязательно к прочтению!

Жизненный цикл - это не самая простая штука в Android. Не даром сделали целую библиотеку (Lifecycle Arch Component), которая упрощает работу с жизненным циклом. Но жизненный цикл также есть и еще у одного популярного компонента Android - View. В статье подробно разбираются все стадии работы View.
#RecyclerView

The best Android Recycler Adapter you’ve ever seen. Probably

RecyclerView - это замечательно решение, которое сделало большой шаг вперед по сравнению с ListView. Но создание адаптеров никуда не ушло и из коробки не является хорошо масштабируемым решением для поддержки множества типов элементов и повторным использованием их между разными адаптерами.

Поэтому можно найти множество различных библиотек решающих эту проблему. В статье рассматривается решение, довольное простое и изящное, хотя к нему есть пара вопрос и моментов для улучшения.
#Meetup #Minsk

Mobile People Open Meetup в Минске

В этот четверг 14 ноября состоится открытый митап сообщества Mobile People в рамках которого я (Кирилл Розов) расскажу о Kotlin Coroutines, а именно Flow и их применение в Android.

Также в программе вас ждет доклад "Android MVVM: как быть с диалогами?"

Буду рад встретиться с вами, обсудить ваши вопросы и услышать отзывы о канале.
#Kotlin #CheatSheet

Для тех кто погружается в Kotlin или не уверен в своих знаниях - вам в помощь будет Cheat Sheet с основными конструкциями языка:
👉 Переменные
👉 Система типов
👉 Control Flow
👉 Коллекции
👉 Функции
👉 Классы
#Security #GooglePlayServices #SafetyNet

Security in Android — Cheatsheet

Небольшая статья о безопасности Android приложений, ведь она важна! Статья покрывает базовые вещи как обфускация кода, шифрование данных, проверка устройства на Root. Тем кто кто в этом новичок - рекомендую ознакомиться.