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

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

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

@android_broadcast - это не только Telegram канал, но множество других интересных источников, где можно получать информацию

@kotlin_broadcast - Telegram канал с новостями Kotlin разработки. Много внимания уделяется Kotlin Multiplatform Mobile, так как за ним будущее.

📺 YouTube канал Android Broadcast - новости, лучшие практики, подкасты и интервью.
🎵 Подкасты на SoundCloud, Яндекс Музыке, Apple Podcasts и др. сервисах.
Вы можете поддержать проект на Boosty или Patreon и получите ранний доступ к новым роликам и подкастам

Личные соц сети Кирилла, где он делится свои мыслями и работой над Android Broadcast:
👉 Twitter @kirill_rozov
👉 Instagram @krlrozov

🔥 Хотите выиграть билет на Podlodka Android Crew #3, все условия в Twitter посте и скоро в Instagram
#Безопасность #Debug #ProGuard

Debugging Proguard configuration issues

Все те кто использует R8/ProGuard для обфускации и минификации своего кода как минимум раз сталкивались с тем, что приложение в релизе падает.

Автор приводит алгоритм по которому стоит искать ошибку:
1️⃣ Убедитесь что проблема связана именно с минификацией
2️⃣ Убедитесь не связана ли проблема с shrinkResources
3️⃣ Убедитесь не связана ли проблема с обфускацией кода

Автор также демонстрирует пример и как работает его рекомендация на практике
#Java

Java 16 — новые синтаксические возможности языка

Весной выйдет новая версии Java под номером 16. И да, теперь это происходит так долго, так что версии растут несоизмеримо быстро.

Новая версии языка привносит всё то, к чему уже давно привыкли в Kotlin.
#Безопасность #OWASP

Топ-10 уязвимостей мобильных приложений и способы их устранения

OWASP - это место где вы можете найти самые трендовые уязвимости мобильных приложений. Хотите начать защиту, смотрите туда.

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

Список уязвимостей:
‼️ Неправильное использование платформы
‼️ Небезопасное хранилище данных
‼️ Небезопасная коммуникация
‼️ Небезопасная аутентификация
‼️ Недостаточная криптографическая стойкость
‼️ Небезопасная авторизация
‼️ Качество кода клиента
‼️ Подделка кода
‼️ Реверс-инжиниринг
‼️ Лишняя функциональность
#Jetpack #Пагинация

Paging 3 — Easier Way to Pagination

Paging 3 - это следующая версия Jetpack библиотеки для работы с пагинацией списков. Основные отличия от предыдущей версии:
👉 Написана на Kotlin
👉 Базируется на Kotlin Coroutine
👉 Поддержка повторов запросов и ошибок

В статье автор разбирает интеграцию версии Paging 3.0.0-alpha12 в приложение
#AndroidOS

Google is working on MicroDroid, a stripped-down version of Android for virtual machines

Google работает над специальной версий Android, предназначенной для запуске в виртуальной машине. Это будет "обрезанная" версия Android System Image (GSI).

Возможно Google хочет иметь возможность запускать Android приложения в специальной песочнице на Android устройства, используя hypervisor.
Также проект вполне может являться частью переноса механизма виртуализации KVM на Android устройства с ARM64 SoC. Может и связан с Chrome OS и поддержкой Android приложений на других ОС. Время покажет.

Информация из коммита в Android
#ML #MlKit #Камера

Google ML Kit Selfie Segmentation

Google ML Kit - это набор инструментов, который позволит вам использовать силу ML в своих приложения под Android и iOS. Например одна из последних фичей сервиса - отделение фона и фокус на важном, например человеке в кадре.

С помощью такого API вы можете добавить свой собственный фон за объектом или размывать его для крутых портретов.

API работает на Android и iOS. Чтобы получить ранний доступ к API вам надо заполнить специальную форму.
#Jetpack #WorkManager

Вышел WorkManager 2.5.0

Вышла новая стабильная версия WorkManager, которая принесла:
👉 Новый артефакт work-multiprocess, улучающий работу в приложениях со множеством процессов.
👉 Теперь явно можно указать в каком процессе надо выполнять WorkRequest. Надо использовать RemoteWorkManager
👉 Улучшено выполнение WorkRequest, юлагодаря тому что теперь проверяется можно ли запустить JobService для выполнения задач
👉 Размер истории выполненых Job хранится теперь 1 день вместо 7. Если нужно больше, то это можно регулировать с помощью keepResultsForAtLeast() API. Это сделано с целью сокращения расхода места на диске
👉 Новое тестовое Kotlin API
👉 Исправление багов
Сегодня иду в гости в подкаст ProConf, который строится вокруг обсуждения конференций, чтобы вам их не смотреть.

Я присоединюсь чтобы обсудить прошедший Android Summit 2020. Всё можно будет увидеть в прямом эфире или в записи после.

Сегодня в 19.00 (GMT+3) подключайтесь
#Networking #Безопасность

OAuth 2.0 -> OAuth 2.1. Что дальше?

Безопасность - важный аспект любого приложения. Для реализации авторизации по принципам OAuth 2.0 мы уже давно привыкли, хоть многие и понимают это по разному.

В своей статье автор рассматривает принципы OAuth 2.0 и почему понадобилось спустя 8 лет работать над OAuth 2.1.
#Performance #Аналитика

Приложение отвечает: как мы уменьшили количество ANRs в шесть раз.
Часть 2, про исправление ошибок

Продолжение серии статей от Badoo как они истребили ANR в статистике своего приложения! В новой части ребята разбирают как проверяли слабые места приложения, которые по итогу оказался вызов Application.onCreate() и особенно, когда запуске приложения происходил в фоне. Например, при отправке Broadcast приложению.

Разработчики провели анализ и выполнили следующие оптимизации:
👉 Lazy загрузка
👉 Инициализация в фоновом потоке
👉 Сторонние библиотеки и их ContentProvider
👉 Оптимизировать работы с SharedPreference, ведь даже вызов apply() в результате может приводить к ANR
👉 Обработка push уведомлений в отдельном процессе
#AndroidAuto #GooglePlay

Expanding the reach of your Android Auto apps

Google продолжает готовить больше возможностей для создателей приложения для Android Auto. Сейчас вы уже можете публиковать приложения в open testing трек Google Play. Для этого вам придётся использовать библиотеку Android for Cars App.

Команда сейчас работает над переносом библиотеки в Android Jetpack. После этого будет готовиться публикация приложения в production трек Google Play.
#AndroidBroadcast #Kotlin #Multiplatform

MOKO - готовый фреймворк для Android + iOS приложений на основе Kotlin Mobile Multiplatform
Когда: понедельник, 1 февраля, 10:00 (GMT+3)

Опыт компании IceRock в разработке мобильных приложений (нескольких десятков) с использованием Kotlin Multiplatform. Результат этого опыта - MOKO

Гость выпуска - Алексей Михайлов, CTO в IceRock Development
Технический директор компании аутсорс разработки, в прошлом разработчик под мобильные платформы Android и iOS. В студенчестве создал soProject для S.T.A.L.K.E.R. :)
#GooglePlay

Обновление правил Google Play от 28.01.2021

Обновление правил, которое затронуло приложения для азартных игр:
👉 Новые страны для публикации лицензированных приложений для азартных игр на реальные деньги
👉 Вводятся новые требования для программ лояльности в игровой форме (без подробностей)
👉 Уточнение правил для азартных игр
#Jetpack

Обновление Android Jetpack от 27.01.2021

Новые мажорные релизы
🎉 Autofill Version 1.1.0 - поддержка API Android 11 и новое InlineSuggestionUi API
🎉 Biometric Version 1.1.0 - поддержка API Android 11 и исправлены утечки памяти и проблемы производительности
🎉 RecyclerView-Selection Version 1.1.0 - улучшение производительности и
🎉 Transition Version 1.4.0 - появились KTX расширения
🎉 Work Version 2.5.0 - подробности изменения здесь, особенно если у вас приложение с несколькими процессами + новый инспектор в Android Studio

Багфикс релизы
🔨 Media2 Version 1.1.2
🔨 Navigation Version 2.3.3

Готовятся к мажорному релизу
🌔 CameraX 1.0.0-rc02
🌔 Fragment Version 1.3.0-rc02
🌓 Annotation-Experimental Version 1.1.0-beta01
🌓 Room Version 2.3.0-beta01 - БД теперь может сама закрываться если она не используется определенное время

В разработке
🏗️ Biometric Version 1.2.0-alpha02 - улучшение API и больше поддержки Kotlin Coroutines
🏗️ CameraX 1.1.0-alpha01
🏗️ Emoji Version 1.2.0-alpha03
🏗️ Hilt Version 1.0.0-alpha03 - поддержка ViewModel и WorkManager / исправление багов
🏗️ Paging Version 3.0.0-alpha13 - изменения API
🏗️ Window Version 1.0.0-alpha02
#Jetpack #Navigation #Fragment #Dagger

Hilt integration with the Jetpack navigation library

В Hilt 1.0.0-alpha03 появилась интеграция с Navigation библиотекой, которая позволяет получить ViewModel со скопом графа навигации
#AndroidOS

A Garbage Collection Story

Статья в которой рассказывается о сборщике мусора (GC) в Android, а именно:
👉 Как занимаются ячейки памяти
👉 Появление утечек памяти
👉 Причины OutOfMemoryException
👉 Что плохо с GC в Dalvik VM?
👉 ART и heap fragmentation

Вроде бы матёрому разработчику будет все понятно, но автор настолько легко доносит тему на примере парковки, что я не смог обойти статью мимо.

Еще очень круто об это рассказали Chet Hasse и Roman Guy - https://youtu.be/Zc4JP8kNGmQ
#AndroidBroadcast #Новости #Jetpack

Новостной дайджест от 01.02.2021 (15 мин)

Новости Android разработки прошедшей недели:
👉 WorkManager 2.5.0
👉 WorkManager Инспектор в Android Studio
👉 Ускорение старта приложения и уменьшение ANR
👉 AndroidX Biometric 1.1.0: исправление утечек и фикс производительности
и много чего ещё интересного в выпуске!

Поддержать любимый проект http://bit.ly/3sratqQ

P.S. В это выпуске я сделал крупный план и использовал другие подходы в монтаже. Как вам? Оставляйте свой отзыв на YouTube. Это очень важно, позволяет развиваться и повышать качество
#Gradle

Take care of your gradle home directory

История как Gradle Daemon поедает десятки гигабайт на вашем SSD, чтобы "ускорить" работу. Готовьтесь периодически подчищать за ним
#Fragment

7 Common Mistakes Easily Made with Android Fragment

Любой Android разработчик имеет дело с Fragment, но правильно варить с ними приложения не всегда очевидно. Автор статьи рассказывает о наиболее популярных ошибка разработчиков:
Создавать новый экземпляр Fragment без проверки того что он уже добавлен
Создавать объекты в onCreateView(), которые живут дольше чем UI
Восстанавливать состояние в onCreateView()
Держать ссылку на Fragment в Activity/Fragment
Обращаться к View во время сохранения состояния Fragment
Использовать add() в транзакциях вместо replace()
Использовать имя класса Fragment как его тег
От себя еще добавлю - не храните ссылки на объекты, привязанные к жизненному циклу View, за пределами onDestoyView().