[Разработка под Android] Новости Android разработки 15.02.2021
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Привет. Меня зовут Кирилл Розов и вы если вы интересуетесь разработкой по 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 проект бесплатен, но что будет с выходом первого релиза непонятно.
- Ранний доступ к JetBrains Qodana
- Посмотреть работу Qodana (входить как гость)
Core App Quality
На сайте developers.android.com появился новый раздел "App Quality", содержащий ключевые аспекты качественного Android приложения.
В новом разделе вы сможете найти каким критериям должно соответствовать хорошее приложение, а главное как это добиться. Помимо прочего вы найдете checklist в котором представлены все тренды экосистемы Android. Сейчас представлены пять категорий:
- визуальный опыт
- функциональность
- производительность и стабильность
- приватность и безопасность
- Соответствие политикам Google Play
Также вы найдете рекомендации по организации тестирования для проверки этих требований в своих приложениях.
Модуляризация 2021Вышла серия статей от разработчиков Kaspersky в которой они рассказывают о своём опыте современной модуляризации android приложения и инициализации feature модулей сразу, так и отложенно, когда feature понадобится пользователю. Всем кто задумывался над модуляризацией или хочет ее оптимизировать обязательно к прочтению.
Условия розыгрыша билета на Mobius
- Подписаться на YouTube канал "Android Broadcast"
- Подписаться на Telegram канал "Android Broadcast"
- Подписаться на Telegram канал "Kotlin Broadcast"
- Оставить комментарий под роликом с указанием своего никнейма в Telegram (не номер телефона!!!)
- Ждать розыгрыша, который пройдет в марте
===========
Источник:
habr.com
===========
Похожие новости:
- [Управление проектами] Школа или как завалить архитектурное планирование
- [Анализ и проектирование систем, .NET, Проектирование и рефакторинг, Микросервисы] Взаимодействия. RPC vs REST vs MQ
- [Разработка мобильных приложений, Проектирование и рефакторинг, Разработка под Android, Kotlin] Разработка на Android: как найти подходящую абстракцию для работы со строками (перевод)
- [Java, Микросервисы] Микросервисы: от CRUD до Native Image. Часть первая
- [Анализ и проектирование систем, Подготовка технической документации] Требования от системного аналитика и шаблоны документации
- [PHP, Разработка под Android, Google API] SafetyNet Attestation — описание и реализация проверки на PHP
- [Разработка под Android] Обновление Android Jetpack: Activity Result API и рефакторинг Fragment
- [Программирование, Разработка мобильных приложений, Разработка под Android, Kotlin] Как заблокировать приложение с помощью runBlocking
- [] IntelliJ IDEA Conf: отмечаем два десятилетия продуктивной разработки
- [IT-компании, Микросервисы] Микросервисы VS монолит: баттл адептов
Теги для поиска: #_razrabotka_pod_android (Разработка под Android), #_android, #_jetpack, #_activity, #_jetbrains, #_fragment, #_androidx, #_lifecycle, #_arhitektura (архитектура), #_razrabotka_pod_android (
Разработка под Android
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 17:51
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Привет. Меня зовут Кирилл Розов и вы если вы интересуетесь разработкой по 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().
Вышла новая библиотека Fragment 1.3.0 в которой произошел большой рефакторинг под капотом, добавлена интеграция с новыми API, пометили как deprecated множество API, а также представили новый механизм для коммуникации между Fragment.
Вышла новая версия Lifecycle 2.3.0 добавила возможность сохранять новые типы в SavedStateHandle, изменилось поведение Lifecycle, а также добавили новое ViewTree API.
Kotlin Symbol Processing (KSP) перешёл в альфу и начата работа по его адаптации в Room
Статически анализ кода из IDEA теперь можно будет запустить без GUI на CI
На сайте developers.android.com появился новый раздел "App Quality", содержащий ключевые аспекты качественного Android приложения.
=========== Источник: habr.com =========== Похожие новости:
Разработка под Android ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 17:51
Часовой пояс: UTC + 5