В нашем предыдущий урок, мы узнали, как создать наше первое приложение для 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 вместе с двумя другими файлами, один из которых AndroidManifest.xml
и default.properties
. Есть и другие папки, такие как bin и referenced libraries.
Папки созданные в Eclipse, создаются с некоторыми изменениями в структуре каталогов по сравнению с Android Studio, но концепция очень похожа. Если вы только начинающий сразу переходите к Android Studio.
Структура проекта в Android Studio
В Android Studio структура пакетов Android приложений может со временем незначительно меняться, так что если вы будите читать эту статью через несколько лет, то будте к этому готовы, но все равно вам должно быть все понятно.
Вот список папок, созданный Android Studio, при создании проекта приложения в Android Studio:
Полная структура проекта видна только в режиме 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 приложения.
- drawable – эта папка содержит файлы xml, png, jpg и jpeg. В этой папке вы можете хранить изображения, которые используются в вашем приложении и других
Папка libs
Если вы хотите использовать какую-либо внешнюю библиотеку, все, что вам нужно сделать, это скопировать и вставить .jar
файл в папку библиотеки, а затем вы можете напрямую использовать ее в коде своего .java
файла.
Папка gradle
В этой папке находятся файлы, которые можно изменить, чтобы изменить процесс построения проекта. Например: если вы хотите запустить все доступные тестовые примеры перед сборкой .apk
файла, вы можете сделать это, указав его в файле gradle.
Итак, теперь вы знаете подробности каждой готовой папки вашего проекта Android приложения. По мере продвижения по урокам вы узнаете больше об этих папках и типах файлов, которые они содержат.