Глава 3. Создание первого приложения с помощью Jetpack Compose

Итак, после успешной установки и запуска IDE Android Studio можно наконец-то сделать ваше первое Android-приложение с помощью фреймворка Jetpack Compose. Для этого на экране Welcome to Android Studio (Рисунок 13) нажмите на кнопку New Project (с английского, «Новый проект»). Перед вами появится окно создания нового проекта New Project с уже выбранным пунктом шаблона Empty Activity (с английского, «Пустая Активити») с логотипом фреймворка Jetpack Compose (Рисунок 14), на основе которого будет создано ваше приложение.

Вам необходимо просто нажать на кнопку Next и перейти к следующему экрану настройки нового проекта.

На этом экране (Рисунок 15) вам необходимо установить значения пяти параметров: Name (с английского, «Название»), Package name (с английского, «Название пакета»), Save location (с английского, «Место хранения»), Minimum SDK (с английского, «Минимальный SDK») и Build1 configuration language (с английского, «Язык конфигурации сборки»).

Рассмотрим назначение этих параметров подробнее:

  • Name — название вашего приложения (по умолчанию, «My Application» (с английского, «Моё приложение»)). Это название пользователь увидит после установки приложения на своё устройство (смартфон или планшет). При создании нового проекта нужно использовать название на английском языке, так как на основе него именуются файлы и классы приложения. Позже вы сможете поменять это название на русское, если потребуется.
  • Package name — название пакета приложения (по умолчанию, com.example.myapplication). Это уникальный идентификатор вашего приложения на устройстве, то есть вы не сможете установить другое приложение с таким же названием пакета на ваше устройство. По этой причине важно изначально выбрать уникальное название пакета, так как оно будет являться таким не только в рамках устройства, но и в магазинах приложений, таких как Google Play, RuStore и HUAWEI AppGallery. Обычно, название пакета состоит из трёх частей (сегментов), разделённых точкой, и указывается в формате {домен верхнего уровня}.{название компании}.{название приложения}, например, «ru.jetpackcompose.helloworld». Стоит учитывать, что у названия пакета есть минимальные требования к именованию: идентификатор должен быть написан только английскими буквами и разделён хотя бы одной точкой, то есть состоящий минимально из двух частей, например, «ru.helloworld». Соответственно, кириллический идентификатор вида «рф.россия» недопустим в качестве названия пакета вашего приложения. Имейте в виду, что название пакета можно изменить позже в файле конфигурации проекта.
  • Save location — место сохранения файлов проекта после его создания, то есть это путь до папки в файловой системе вашей операционной системы. В моём случае для операционной системы macOS путь выглядит следующим образом — «/Users/tum0rc0re/AndroidStudioProjects/MyApplication», то есть проект будет размещён в папке MyApplication, которая в свою очередь размещена в родительской папке AndroidStudioProjects, а она уже будет находиться в системной домашней папке пользователя tum0rc0re.
  • Minimum SDK — минимальная версия SDK, которая по сути означает минимальную версию операционный системы Android, на которой сможет запустится ваше приложение. В данном случае выбрана версия API 24 («Nougat»; Android 7.0), где 24 — это версия SDK, а Nougat (с английского языка, «нуга») — кодовое имя версии ОС Android 7.0, которая указана после точки с запятой непосредственно за кодовым именем. Чтобы вам легче было сделать выбор, ниже поля выбора минимальной версии SDK Android Studio подсказывает какой процент пользователей от общей массы сможет установить ваше приложение. В моём случае это 97.4% от всех устройств. Помимо этого, вы можете нажать на надпись Help me choose (с английского языка, «Помогите мне выбрать») и увидеть перед собой экран Android Platform/API Version Distribution (Рисунок 16) с процентным распределением версий операционной системы Android, по клику на которых можно увидеть список новых возможностей, которые появились в каждой конкретной версии и на основе этой информации выбрать, какой минимальный SDK вам подходит больше всего. Стоит заметить, что процент распределения периодически обновляется, о чём свидетельствует надпись в нижнем левом углу Last updated: May 1, 2024 (с английского языка, «Последнее обновление: 1 мая 2024 года»).
  • Build configuration language — язык конфигурации для системы автоматической сборки Gradle2 (по умолчанию, Kotlin DSL3 (build.gradle.kts)). Он используется для настройки параметров сборки проекта и его отдельных модулей, и в настоящее время рекомендуется к выбору по умолчанию взамен ранее используемому Groovy4 DSL (build.gradle). Файл build.gradle.kts — это файл, в котором хранится конфигурация проекта или модуля, то есть таких файлов может быть несколько. Также стоит упомянуть, что в файле конфигурации могут прописываться зависимости проекта, в том числе от внешних библиотек, версии которых в данном случае будут храниться с использованием Gradle Version Catalog (с английского языка, «каталог версий Gradle»), который централизованно (в одном месте) хранит версии и псевдонимы внешних библиотек и Gradle-плагинов для удобного переиспользования в нескольких модулях проекта. Подробнее об этом будет рассказано позже.
Рисунок 16. Окно с процентным распределением версий операционной системы Android

После заполнения всех вышеперечисленных параметров вам нужно нажать кнопку Finish (с английскогого языка, «Завершить»), после чего начнётся процесс создания проекта вашего первого приложения на фреймворке Jetpack Compose.

  1. Build (с английского языка, «сборка») — процесс получения готовой для использования программы из исходного кода, в нашем случае написанного на языке Kotlin. Сборка включает в себя два основных этапа: компиляцию и компоновку модулей в единое целое. ↩︎
  2. Gradle — система автоматической сборки от компании Gradle Inc., используемая в данном случае для сборки Android-приложений с возможностью конфигурации различных параметров сборки с помощью Kotlin DSL или Groovy DSL. ↩︎
  3. DSL (Domain-Specific Language, с английского языка, «предметно-ориентированный язык») — язык, специфичный для конкретной предметной области. В нашем случае, в качестве предметной области (области применения) выступает процесс сборки Android-приложения, который мы настраиваем с помощью Kotlin DSL. Kotlin DSL — по сути, набор определённых языковых конструкций, написанных с использованием синтаксиса языка Kotlin, используемых для конфигурации параметров Android-проекта и его модулей в процессе его сборки. ↩︎
  4. Groovy — объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку программирования Java. Он ранее повсеместно использовался для конфигурации сборки Android-приложений с помощью Groovy DSL. В настоящее время, ему на замену пришёл Kotlin DSL, который более привычен Android-разработчикам, так как сейчас все новые Android-проекты пишутся на языке программирования Kotlin. ↩︎