Size: a a a

Android Broadcast

2019 November 05
Android Broadcast
#Coroutines

Everything you need to know about Kotlin Coroutines

Слышали о Kotlin Coroutine? Трудно такое пропустить. Все кто использует Kotlin (а это большинство Android разработчиков). Google также активно агитирует за использование этого асинхронного подхода. Нет, это не из-за "Kotlin First" в Android разработке, а из-за того как Structured Concurrency эффективно решает связь между асинхронными задачами и жизненным циклом компонентов.

В статье вы найдете краткое руководство обо всех основных моментах, что позволит вам понять тему и попробовать их в действии.
источник
Android Broadcast
#ADB

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

Operator fusion in RxJava 2

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

One Biometric API Over all Android

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

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

Croppy - Image Cropping Library for Android (в разработке)
источник
Android Broadcast
#GooglePlay

Policies & Publishing on Google Play

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

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

Animate image rotation like a PRO

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

Выпущено TikTok SDK

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

The battle for jank*-less UI on Android

Разбор базовых способов как найти проблемы почему ваше приложение пропускает кадры и не отображает UI с частотой 60 кадров в секунду:
👉 StrictMode
👉 GPU Overdraw
👉 HWUI rendering
источник
2019 November 08
Android Broadcast
#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

Первые два парсера смогли оторваться за счет того что не используют рефлексию
источник
Android Broadcast
Какой парсер JSON используете вы?
Окончательные результаты
70%
GSON
17%
Moshi
6%
kotlinx.serialization
4%
Jackson
1%
org.json (github.com/stleary/JSON-java)
0%
Другой
2%
Не знаю
0%
Использую другой формат для сериализации
Проголосовало: 230
источник
Android Broadcast
#JSON #Multiplatform

Хотите узнать подробнее о kotlinx.serialization - рекомендую посмотреть доклад разработчика этой библиотеки Леонида Старцева из JetBrains "Дизайн kotlinx.serialization"
источник
Android Broadcast
android_broadcast
Какой парсер JSON используете вы?
Окончательные результаты
70%
GSON
17%
Moshi
6%
kotlinx.serialization
4%
Jackson
1%
org.json (github.com/stleary/JSON-java)
0%
Другой
2%
Не знаю
0%
Использую другой формат для сериализации
Проголосовало: 230
Явным лидером оказалось творение Google - GSON. Я считаю что он не соответсвует духу современной разработки под Android - это Kotlin и отказ от рефлексии в пользу кодогенерации (kapt или с помощью Gradle плагина).

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

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

Делитесь своим мнение в - @android_broadcast_discussions
источник
2019 November 09
Android Broadcast
#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 т.к.проект может перестать собираться или может отвалиться некоторые плагины
источник
Android Broadcast
#Gradle #CodeGeneration

Generating Java/Kotlin source files during Android Gradle build

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

Но что делать если вы хотите генерировать код на основе других исходников, например XML файлов, или вовсе без исходников Например, так делает Android Data Binding. Реализуется это с помощью генерации кода на основе Android Gradle плагина. В статье разбирается пример как вы можете сгенерировать код самостоятельно.
источник
2019 November 11
Android Broadcast
#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 и возможность задавать прокси
источник
Android Broadcast
#View #Lifecycler

The Life Cycle of a View in Android

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

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

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

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

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

Mobile People Open Meetup в Минске

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

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

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

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