Какова структура файлов для мобильного приложения
Если мы взглянем на боковую колонку в левой части редактора, то увидим обзор основных папок и файлов созданного проекта FirstApp:
src — здесь находится «исходный код» нашего приложения (java-классы). Как вы помните, пока что мы создали всего один класс MainActivity.java, который отвечает за отображение первого (и единственного) экрана с выводом приветствия. Сам класс хранится в «пакете» ru.androiddocs.firstapp
gen — хранилище генерируемых системных файлов. В частности, здесь располагается файл R.java, в котором хранятся идентификаторы всех ресурсов, создаваемых в проекте (строковые ресурсы и т. п.). Изменять здесь что-то вручную крайне не рекомендуется
Android 4.4, Android Private Libraries — системные файлы и библиотеки
bin — скомпилированные файлы проекта. В частности, здесь можно найти созданный архив приложения FirstApp.apk, который можно скопировать на свой девайс и установить
libs — различные библиотеки, используемые приложением
res — ресурсы проекта. Здесь имеются ресурсы различного типа:
- иконки и картинки приложения для различного типа и характеристик экрана (хранятся в папках drawable-
- xml-файлы, описывающие структуру и элементы экрана (layout)
- ресурсы, описывающие элементы меню (menu)
- константы различного типа (values), например, строковые данные (strings.xml), стили (styles.xml) и т.п.
AndroidManifest.xml — файл описания проекта (поддерживаемые версии SDK, версия приложения и т.п.)
Данная структура создается автоматически при создании нового проекта в IDE (например, Eclipse).
Ключевую роль при запуске нашего приложения является класс MainActivity.java. Как видно из кода, здесь содержится всего один метод onCreate, который отрабатывается при запуске приложения.
В методе onCreate устанавливается компоновка или внешний вид экрана с помощью метода setContentView(R.layout.activity_main). В качестве параметра передается id схемы компоновки — это файл activity_main.xml, расположенный в каталоге layout. Если мы захотим при запуске отображать другой экран, то нам нужно просто заменить в скобках идентификатор на id другого layout.
activity_main.xml построен с помощью следующего кода:
Layout может иметь различную структуру, но в нашем случае используется RelativeLayout (более подробно об этих типах мы поговорим позднее). Сам макет содержит всего один элемент или виджет — TextView, который служит обычно для отображения какого-либо текста. Сам текст здесь не виден, а все потому, что мы подгружаем его из файла строковых ресурсов strings.xml, обращаясь к нему по идентификатору:
Такой способ более предпочтителен, так как все текстовые данные хранятся в одном файле, и в дальнейшем можно будет легко добавить новую языковую версию. Если мы заглянем в содержимое файла strings.xml, то увидим простую структуру