Разработка Android приложений с Jetpack Compose - Денис Попков

Разработка Android приложений с Jetpack Compose

Страниц

25

Год

2022

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

Дополнительная информация от меня:
Технологический прорыв, достигнутый в рамках этого фреймворка, является ответом на растущие потребности в инновационных решениях в области веб-разработки. Уникальность этого руководства заключается в его полноте и всестороннем обзоре всех возможностей, которые предоставляет этот фреймворк. Здесь вы найдете подробные инструкции о том, как успешно использовать эти инструменты и компоненты в рамках разработки, а также узнаете о передовых методах и техниках, которые позволят вам создавать потрясающие пользовательские интерфейсы. Независимо от вашего уровня опыта, это руководство будет полезным и вдохновляющим ресурсом для всех, кто стремится достичь максимального успеха в своих проектах.

Читать бесплатно онлайн Разработка Android приложений с Jetpack Compose - Денис Попков

Вступление

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

Задача отображения списка новостей требует в XML проектах: адаптер, делегат, верстку элемента списка + фрагмента, Presenter/ViewModel. Слишком много кода для повседневной задачи.

JetpackCompose значительно упрощает процесс верстки, он позволит справится с задачей выше, менее чем в 200 строк. Помимо лаконичности, фреймворк предоставляет возможности писать мультиплатформенный легко поддерживаемый reusable код.

Нововведения из последних версий Android быстрее приходят в фреймворк, нежели в XML. Google заинтересована в развитие нового видения и предлагает использовать современный стэк технологий, который входит в состав Jetpack: MVVM, Coroutines, Jetpack Compose, Room, Hilt, Ktor, DataStore, WorkManager, Coil.

В стэке технологий также представлены 3rdparty библиотеки и архитектурное решение MVVMModel-View-Model.

Для кого это руководство?

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

Главное отличие этого руководства от других книг – это обзор всех возможностей фреймворка и его компонентов.

Настройка проекта

Процесс создания проекта схож со стандартным FileNewNewproject. Выберите EmptyComposeActivity, далее укажите название проекта, пакет, версию Android и нажмите Finish. Обновите версии библиотек до последних версий.



Код зависимостей вы можете найти по ссылке – [https://inky-belief-259.notion.site/23f6848a200346d3b1b49ad211226b27].

Основные аспекты

Все построение UI в JetpackCompose завязано на функциях, помеченных аннотацией Composable, она указывает компилятору на то, что эта функция должна быть сконвертирована в UI.

Composable функции могут быть вызваны только из других Composable функций или лямбд.

В классе MainActivity есть точка входа, ComposablesetContent лямбда-блок, внутри которой как раз и будет вызываться весь интерфейс приложения. Функции вызываются друг под другом и отображаются в порядке вызова их в коде.

Compose предоставляет возможность переиспользовать элементы, так же как и в customXMLView. Для этого нужно создать package c базовыми компонентами, задать некоторые параметры Composable функции, а поведение определять через параметры.

Preview

Аннотация Preview отображает в боковом меню сверстанные элементы. Если необходимо отобразить дополнительно фон View, укажите showBackground = true. После внесения изменений нужно нажать build&refresh для обновления Preview, если изменения небольшие, то Preview обновится автоматически.

Учтите, что Preview не будет работать, если Composable функция принимает какие-либо параметры и они при этом не заданы по умолчанию.

PreviewParameter позволит это исправить, также упростит использование mock файлов в проекте для тестирования верстки.



Так для создания provider-класса необходимо наследоваться от PreviewParameterProvider<T> и переопределить значение по умолчанию. PreviewParameter принимает