Структура проекта Android Studio

В нашем предыдущий урок, мы узнали, как создать наше первое приложение для Android и как его запустить. Когда мы создаем проект, Android Studio генерирует проект приложения с несколькими пакетами и папками по умолчанию. В этом руководстве мы обсудим структуру проекта приложения для Android.

Раньше многие приложения для Android разрабатывались в среде Eclipse IDE, но в настоящее время можно разработать приложение для Android только с помощью Android Studio, иначе Google не позволит сделать приложение общедоступным или даже отклонит приложение из Google Play Store. Для тех, у кого есть приложения, которые были разработаны с использованием Eclipse и которые теперь планируют перенести код на Android Studio, этот урок поможет вам понять структуру обоих инструментов разработки.


Структура проекта в Eclipse IDE

Сначала мы разберемся со структурой проекта Eclipse IDE. Если вы новичок, можете пропустить эту часть урока. Для этого предположим, что у вас есть базовое «Hello World!» приложение для Android, созданное в Eclipse IDE. И Eclipse, и Android Studio требуют одинаковых шагов для создания проекта приложения, есть лишь незначительные отличия.

В Eclipse, каждая структура проекта Android включает следующие папки,

  • src
  • gen
  • Android Version
  • Assets
  • libs
  • res
    • drawable
    • layout
    • anim
    • values
  • AndroidManifest.xml
  • default.properties
Структура пакета в Android

Это папки по умолчанию, которые вместе образуют проект приложения Android вместе с двумя другими файлами, один из которых AndroidManifest.xml и default.properties. Есть и другие папки, такие как bin и referenced libraries.

Папки созданные в Eclipse, создаются с некоторыми изменениями в структуре каталогов по сравнению с Android Studio, но концепция очень похожа. Если вы только начинающий сразу переходите к Android Studio.


Структура проекта в Android Studio

В Android Studio структура пакетов Android приложений может со временем незначительно меняться, так что если вы будите читать эту статью через несколько лет, то будте к этому готовы, но все равно вам должно быть все понятно.

Вот список папок, созданный Android Studio, при создании проекта приложения в Android Studio:

Структура в режиме Android
Структура в режиме Project

Полная структура проекта видна только в режиме Project, а в режиме Android структура упрощённая, но зато удобная для работы, так как отображается только всё необходимое. Мы советуем пользоваться режимом Android для структуры.

Вот структура на которую стоит обратить внимание:

  • app
    • libs
    • src
      • androidTest
      • main
        • java
        • res
        • AndroidManifest.xml
  • Gradle

ПРИМЕЧАНИЕ: Пакеты, выделенные жирным шрифтом, являются важными пакетами.

Папка src

src папка содержит две самые важные папки в любом проекте Android, а именно: androidTest и main.

AndroidTest пакет создан для хранения тестовых примеров для тестирования кода приложения и его запуска.

В то время как main папка, имеет 2 папки и 1 файл:

  • Java каталог содержит .java (JAVA) файлы. Эта папка содержит только код Java. Здесь хранятся интерфейсы, активности, фрагменты, адаптеры для вашего приложения. Вы можете создавать отдельные пакеты для каждого из них и создавать внутри них классы, чтобы придать проекту приложения четко определенную структуру.
  • AndroidManifest.xml – это файл, который является обязательным для любого приложения Android. В этом файле мы предоставляем информацию обо всех активностях, службах, приемниках вещания и т. д., а также обо всех разрешениях для доступа к Интернету, Контактам, Камере и т. д., которые потребуются нашему приложению при установке на любое устройство. Просто имейте в виду, что этот файл является сердцем любого приложения для Android.
  • res – эта папка содержит все ресурсы, такие как значки, изображения связанные с нашим проектом приложения, и содержит следующие подпапки:
    • drawable – эта папка содержит файлы xml, png, jpg и jpeg. В этой папке вы можете хранить изображения, которые используются в вашем приложении и других .xml файлы, которые используются для многих целей, таких как создание фона кнопок, теневого эффекта и т. д.
    • layout – эта папка содержит только макет .xml файлы для разных экранов и частей вашего приложения.
    • values – эта папка содержит файлы, такие как strings.xml, dimens.xml, colors.xml, styles.xml.
      • strings.xml – тут вы можете указать все строковые константы, такие как заголовок экрана или любой другой тег, которые постоянно используются в вашем приложении. Все текстовые данные используемые в вашем приложении следует указывать в таких файлах, это позволит в последствии быстро менять текст не разбираясь в груде кода, а также позволит перевести ваше приложение на разные языки. Писать текстовые данные в коде или в Layout считается хардкодом. Например в нашем приложении Hello World! написанное в Layout – это хардкод, так лучше не делать в серьёзных приложениях.
      • В dimens.xml, вы можете создавать разные переменные, чтобы определить размеры и положения элементов экрана в соответствии с разрешением и размером экрана.
      • В color.xml вы можете указать список цветов, и их хэш-коды, используемые в вашем приложении. Если он не создается по умолчанию, вы можете создать его самостоятельно.
      • В styles.xml вы можете определить различные готовые стили, чтобы использовать их в любом месте вашего Android приложения.

Папка libs

Если вы хотите использовать какую-либо внешнюю библиотеку, все, что вам нужно сделать, это скопировать и вставить .jar файл в папку библиотеки, а затем вы можете напрямую использовать ее в коде своего .java файла.

Папка gradle

В этой папке находятся файлы, которые можно изменить, чтобы изменить процесс построения проекта. Например: если вы хотите запустить все доступные тестовые примеры перед сборкой .apk файла, вы можете сделать это, указав его в файле gradle.

Итак, теперь вы знаете подробности каждой готовой папки вашего проекта Android приложения. По мере продвижения по урокам вы узнаете больше об этих папках и типах файлов, которые они содержат.


Поделись с друзьями:
Если вам понравилась статья, подписывайтесь на наши социальные сети.

Оставьте комментарий

шестнадцать + 2 =