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

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

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

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

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

Жанр: Техническая литература
Цикл: Не является частью цикла
Год публикации: 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 принимает provider класс и параметр – максимальное количество элементов, которые он должен отобразить.

В случае, если provider класс возвращает объект, обернутый в список, то Preview отобразится единожды, что порой удобно для анализа верстки.



Класс CollectionPreviewParameterProvider принимает в конструктор коллекцию, в отличие от PreviewParameterProvider, которой требует переопределять каждый раз переменную


Вам будет интересно
Повествование о грузовых автомобилях «Урал» с дизельными двигателями воздушного охлаждения. Описаны модели машин и их модификации, двигателей и их трудное освоение в производстве, а также значимость их в истории отечественной автомобильной промышленности....
Читать онлайн
Столетиями принято все дома строить в декартовой системе координат для возведения недорогого жилья. Однако функциональная деятельности человека независима от системы координат ограждающих конструкций. Оказывается, для многоэтажного строительства можно создать иную систему, более экономичную по сравнению даже с самыми недорогими крупнопанельными домами. Этого можно достичь, если создать нелинейные законы формирования структуры зданий, отличающиейся ещё большей экономичностью....
Читать онлайн
Небольшое повествование о перспективном семействе грузовиков Урал под шифром «Суша». От первых опытных образцов моделей Урал-4322/5322, до серийных автомобилей Урал-43223/5323.В издания рассмотрена история, модификации и краткие характеристики машин семейства «Суша»....
Читать онлайн
Учебник «Системная инженерия – 2022» продолжает учебники «Практическое системное мышление – 2022» и «Методология 2022» (обязательные пререквизиты), рассказывая о практиках современной системной (основанной на системном мышлении) безмасштабной (для систем самого разного вида) и непрерывной (эксплуатируемая система постоянно развивается) инженерии. Учебник базируется на совмещении изложения лучших практик программной инженерии, классической «железной» системной инженерии и инженерии предприятия....
Читать онлайн
Настоящая научно-практическая работа является отредактированным и дополненным результатом публикации выпускной квалификационной работы, подготовленной автором по итогам обучения по специальности «Судебный эксперт по производству криминалистической экспертизы веществ, материалов и изделий из них» (экспертная специальность: 10.4. «Исследование изделий из металлов и сплавов») по профессиональной переподготовке в ПОАНО «НУСТ» в 2022 году....
Читать онлайн
В монографии приводятся физические свойства и механизм образования фото-ЭДС в пленках А2В6. Комплексное изучение фото-ЭДС и фотопроводимости позволил определить энергии их активации и свойства межкристаллических барьеров вдоль слоя. Рассмотрена структура края поглощения пленок для упрощения анализа спектров фотопроводимости и тока замыкания. Монография предназначена для научных работников, студентов и аспирантов тех. образования. Монография рекомендована к печати Ученым советом ФерГУ....
Читать онлайн
В монографии рассмотрены вопросы становления и развития инженерно-технического образования в России, в частности, на Урале, предложены теоретические основы повышения эффективности обучения на основе реализации метапредметного подхода и принципа субъектности, показана возможность организации системы целостной подготовки молодежи к инженерно-технической деятельности в условиях образовательного кластера....
Читать онлайн
В этой книге вы не прочтете о том, как выиграть в ночных уличных гонках, не узнаете, как уйти от преследования полиции или избежать уплаты налогов. Этот текст преследует иную цель – простыми способами повысить безопасность и вашу, и окружающих, и при этом не быть «белой вороной», замедляющей движение всего потока. Да, здесь рассказывается о том, как начать движение быстрее, чем сосед по светофору, как избежать многих неприятностей, но ни скучных методик, ни мудреных графических схем не найдете....
Читать онлайн
В книге представлен системный подход для построения технического рисунка одежды в CorelDRAW. Книга охватывает все основные вопросы подготовки изображений: теоретические основы графического построения рисунков одежды, пошаговые инструкции по изучению инструментария и рабочей среды программы CorelDRAW, последовательность разработки первых технических рисунков, использование разных видов заливки и добавление размерных линий. В книге показаны оптимальные приемы работы в CorelDRAW для того, чтобы быс...
Читать онлайн
Роман «Ложится мгла на старые ступени», признанный лучшим произведением 2000-х годов (премия «Русский Букер десятилетия», 2011), основан на семейной истории автора. Александр Павлович Чудаков, один из крупнейших русских филологов XX века, вырос в интеллигентной семье, волей судьбы заброшенной на край света – в Щучинск, город ссыльных на границе России и Казахстана. В суровые послевоенные годы, в условиях постоянной угрозы новых репрессий и отсутствия самого необходимого семья главного героя суме...
Читать онлайн
Лиллен считала свою жизнь идеальной до тех пор, пока не повстречала иностранного певца по имени Кан Му Ён. Любимая работа – и никаких магов, пытающихся убить, никаких случайных связей…У ног Кан Му Ёна был весь мир, он получал все, что желал, по одному лишь щелчку пальцев… пока судьба не свела его с Лиллен Адамс.Кто же знал, что ничего не значащая интрижка между ними может превратить жизнь в ад?Теперь ни Лиллен, ни Му Ён не могут и шагу ступить без того, чтобы не оказаться в смертельной опасности...
Читать онлайн
Для одного молодого человека, которого угораздило как-то повстречаться с настоящим демоном, наступила полоса невезения, в результате чего он вынужден терзаться многочисленными вопросами и самостоятельно находить на них ответы. У него остался всего один глаз? Да. Это Россия? Кажется, все-таки да. Москва? Похоже. Местами. Только нет пробок, многоэтажек и Кремля. Зато есть паровые роботы, маги и куча проблем. Век? Ну, все говорят, что двадцать третий… Ах да. Еще он подлежит призыву, и отказаться от...
Читать онлайн