[Разработка под Android] Новости Android разработки 15.02.2021

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
16-Фев-2021 15:31

Привет. Меня зовут Кирилл Розов и вы если вы интересуетесь разработкой по Android, то скорее всего слышали о Telegram канале "Android Broadcast", с ежедневными новостями для Android разработчиков, и одноимённом YouTube канале. Этот пост является текстовой расшифровкой нового видео на каналеПривет! Очередная неделя подошла к концу, и я собрал лучшие новости специально для вас! Вышла большая порция новых стабильных библиотек Android Jetpack, IDEA теперь можно запустить на CI, а в конце вы узнаете как выиграть билет на Mobius! Я Кирилл Розов, это канал Android Broadcast. Давайте разбираться!Извините, данный ресурс не поддреживается. :( AndroidX Activity 1.2.0 | Activity Result API
Вышла библиотека Activity 1.2.0 в которой появилось Activity Result API, возможность получить Context до вызова onCreate(), поддержка ViewTree, а также backport метода reportFullyDrawn().
Activity Result API - это новое API, которое приходит на замену перегрузке метода onActivityResult() и делает его более удобным. Теперь вам нужно просто зарегистрироваться с указанием контракта и callback для получения объекта ActivityResultContract, который вы можете вызвать для получения результата из любой Activity. Самые распространенные контракты такие как получение картинки или выбор файла уже реализованы в библиотеки, но вы легко можете добавить свой. Также важный аспект нового API то, что оно упрощает работу с получением разрешений, так как их механизм основан на onActivityResult().Следующая новинка - возможность получить Context до вызова onCreate(), подписавшись на соответствующее событие. Конечно есть вариант для Coroutine без callback-a.Поддержка ViewTree - это значит что ComponentActivity теперь работает со всеми новыми API из SavedState и Lifecycle, о которых я расскажу позже. Fragment 1.3.0
Вышла новая библиотека Fragment 1.3.0 в которой произошел большой рефакторинг под капотом, добавлена интеграция с новыми API, пометили как deprecated множество API, а также представили новый механизм для коммуникации между Fragment.
Самое важное, что произошло в новой версии - это новый менеджер состояния Fragment-ов, который исправил множество странностей в поведении, а также заложил фундамент для поддержки множества back stack-ов.Интеграция Activity Result API позволила упростить код внутри, а также исправила несколько проблем, связанных с request кодами и вызовами callback-ов о получение permission.Если вы пробовали когда передавать результат между Fragment с помощью setTargetFragment - это была еще та задача. Не место ему добавили новое API - Fragment Result API, которое позволяет через FragmentManager обмениваться данными между Fragment-ами через специальные Callback."Пора Fragment меняться и становиться проще" - видно так решили в Google и стали помечать deprecated множество API. setRetainInstance() уходит, передавая свои полномочия ViewModel. FragmentPagerAdapter из ViewPager 1 теперь тоже deprecated и как замена предлагается использовать вторую версию библиотеки, которую разработчики ругают и зачастую все также пользуются первой. Но самый интересный deprecation произошел с методом onAttachFragment() в Activity и Fragment. Ему на смену приходит FragmentOnAttachListener, который более гибкий и позволяет делегировать вызов onAttachFragment(). Lifecycle 2.3.0
Вышла новая версия Lifecycle 2.3.0 добавила возможность сохранять новые типы в SavedStateHandle, изменилось поведение Lifecycle, а также добавили новое ViewTree API.
В SavedStateHandle появилась lazy сериализация, т.е. теперь можно задать setSavedStateProvider() для заданного ключа, чтобы сериализовать его лениво, что позволяет сохранять любой тип.Изменения также затронули Lifecycle: теперь DESTROYED - это терминальное состояние, и после него никаких вызовов происходить не будет. Также теперь все методы Lifecycle вызываются строго на главном потоке, а в противном случаем будет креш. Помимо прочего добавили нового API, чтобы упростить тестированиеБольшая новинка ViewTree API, которое позволяет получить LifecycleOwner или ViewModelStoreOwner для заданного View. Аналогичное API добавили для SavedStateRegistry в библиотеки savedstate 1.1.0 Kotlin Symbol Processing вышел в Альфу
Kotlin Symbol Processing (KSP) перешёл в альфу и начата работа по его адаптации в Room
Новость хорошая так как цель KSP - заменить kapt, который здорово тормозит сборку проектов и не всегда позволяет генерировать код инкрементально. Новое решение от Google будет сразу генерировать Kotlin код без магии, которая необходима, чтобы завести Java apt в Kotlin. По предварительным данным скорость работы KSP в 2 раза быстрее kapt. Похоже свет в конце туннеля есть. Будем ждать адаптации KSP в библиотеках Запуск анализа кода IDEA на CI
Статически анализ кода из IDEA теперь можно будет запустить без GUI на CI
Новый проект JetBrains - Qodana, который позволяет запустить статически проверки кода на вашем CI и генерировать отчеты. Qodana состоит из 2 частей: IDEA без UI для запуска проверок и утилита для создания Web UI с отчетом. Теперь анализ можно добавить в ваш pipeline. Сейчас поддерживается интеграция в Teamcity, через Docker образ и есть GitHub Action и Application. Вы также можете посмотреть на анализ открытых проект на публичном TeamCity. В будущем количество поддерживаемых языков и способов интеграции будет увеличиваться. На стадии EAP проект бесплатен, но что будет с выходом первого релиза непонятно. Core App Quality
На сайте developers.android.com появился новый раздел "App Quality", содержащий ключевые аспекты качественного Android приложения.
В новом разделе вы сможете найти каким критериям должно соответствовать хорошее приложение, а главное как это добиться. Помимо прочего вы найдете checklist в котором представлены все тренды экосистемы Android. Сейчас представлены пять категорий:
  • визуальный опыт
  • функциональность
  • производительность и стабильность
  • приватность и безопасность
  • Соответствие политикам Google Play
Также вы найдете рекомендации по организации тестирования для проверки этих требований в своих приложениях. Модуляризация 2021Вышла серия статей от разработчиков Kaspersky в которой они рассказывают о своём опыте современной модуляризации android приложения и инициализации feature модулей сразу, так и отложенно, когда feature понадобится пользователю. Всем кто задумывался над модуляризацией или хочет ее оптимизировать обязательно к прочтению. Условия розыгрыша билета на Mobius
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_razrabotka_pod_android (Разработка под Android), #_android, #_jetpack, #_activity, #_jetbrains, #_fragment, #_androidx, #_lifecycle, #_arhitektura (архитектура), #_razrabotka_pod_android (
Разработка под Android
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 17:51
Часовой пояс: UTC + 5