Какая папка в структуре android приложения содержит файлы с исходным кодом на языке java

Обновлено: 15.07.2024

Android – базирующаяся на ОС Linux операционная система с открытым исходным кодом, предназначенная для мобильных устройств – таких, как, например, смартфоны или планшетные компьютеры.

Это руководство предназначено для введения в основные понятия программирования под Android, так что после его изучения вы будете понимать некоторые базовые концепции программирования под эту ОС.

От вас же, в свою очередь, требуется только желание и базовое понимание программирования на языке Java. Не так много, правда? Что ж, начнём!

Для разработки приложений под Android можно использовать любые из перечисленных операционных систем:

  • Microsoft Windows XP или более поздняя версия
  • Mac OS X 10.5.8 или более поздняя версия с чипом Intel
  • Linux, включающая GNU C Library 2.7 или более позднюю версию

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

Поздравляем, ваше оборудование готово к работе! Однако прежде чем приступить к вашему первому приложению, поговорим о том, что из себя представляет приложение на Android и из чего оно состоит.

Компоненты приложения являются своего рода «строительными блоками» для приложения Android. Эти компоненты связаны файлом-манифестом приложения AndroidManifest.xml, который описывает каждый компонент приложения и взаимодействие этих компонентов между собой.

Есть четыре базовых типа компонентов, которые могут быть использованы в приложении Android:

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

  • Фрагменты (Fragments) – части пользовательского интерфейса в Операциях (см. выше);
  • Виды (Views) – элементы пользовательского интерфейса, отображаемые на экране, например, кнопки, списки и т. д.;
  • Макеты (Layouts) – определяют элементы пользовательского интерфейса, их свойства и расположение;
  • Намерения (Intents) – соединяют вместе различные компоненты приложения или связывают друг с другом работу разных приложений;
  • Ресурсы (Resources) – внешние элементы, такие, как строки, константы или изображения;
  • Манифест (Manifest) – конфигурационный файл приложения.

Теперь, когда вы получили базовое понимание о структуре приложений на Android, хотелось бы предложить вам самим попробовать создать свое первое приложение.

Итак, давайте приступим к созданию простого Android-приложения, которое будет выводить на экран "Hello World!".

У вас к этому времени уже должен быть установлен Android Studio последней версии. Ниже будет приведена небольшая пошаговая инструкция:

  1. Откройте Android Studio.
  2. В открывшемся окне кликните на «Start a new Android Studio project», чтобы создать новый проект.
  3. В открывшемся окне в строку «Application name» введите название вашего будущего приложения. Нажмите Next.
  4. В следующем окне вам нужно выбрать тип устройств, для которых создается приложение – в нашем случае необходимо выбрать «Phone and Tablet» (смартфоны и планшетные компьютеры), а в выпадающем списке под названием «Minimum SDK» нужно выбрать версию Android, для которой создается приложение (обычно указывается самая ранняя версия, способная запустить приложение) – в нашем конкретном случае выберем версию Android 6.0. Если в вашей версии есть возможность выбрать язык программирования (выпадающее окно Language), выберите пункт “Java”. Остальные опции можно оставить без изменений. Нажмите Next.
  5. На следующем этапе выберите пункт Empty Activity – это будет означать, что экран нашего приложения не будет иметь никаких дополнительных элементов. Нажмите Next.

Теперь перед вами открылась привычная среда разработки. К сожалению или к счастью, но сейчас вам не нужно будет писать код – среда разработки уже сделала это за вас, создав файлы для приложения, выводящего «Hello world!» на экран, по умолчанию. Вместо этого хотелось бы обратить ваше внимание на несколько созданных файлов и папок, найти которые вы можете в колонке слева, отображающей все элементы проекта.

В папке «Java» содержатся исходные файлы формата .java для вашего приложения. По умолчанию в ней находится исходный файл MainActivity.java, имеющий класс Операция – он запускается при нажатии пользователем на иконку приложения на устройстве. Этот файл содержит главный код приложения, и именно он преобразуется в файл .exe для запуска приложения на устройстве.

Это файл типа «Манифест», который описывает основные характеристики приложения и определяет каждый из его компонентов. Он является своего рода интерфейсом между ОС Android и вашим приложением – если компонент не упомянут в этом файле, он не будет отображен и в операционной системе.

Это автоматически генерируемый файл, содержащий определённые данные касательно приложения – такие, как, например, версия SDK.

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

Попытайтесь запустить приложение кнопкой «Run» – в появившемся диалоговом окне выберите пункт «Create New Virtual Device». В последующих окнах нужно будет выбрать размер экрана и версию Android – помните, что она должна быть не ниже, чем указанная на этапе создания проекта. В случае, если данная версия Android будет отсутствовать на компьютере, Android Studio предложит ее загрузить. Остальные пункты можно оставить без изменений – на данный момент нет необходимости их изменять. После выбора всех настроек нажмите кнопку «Finish», и если вы увидели на своем мониторе экран телефона с названием вашего приложения сверху и с надписью «Hello world!» на экране, значит, вы можете себя поздравить – вы создали свое первое Android-приложение!

Теперь у вас есть базовое понимание и минимальный опыт в создании приложений на Android. Этого, разумеется, совершенно не хватит, чтобы заниматься разработкой, но это необходимый для дальнейшего развития фундамент – продолжайте изучать и практиковаться! Всего наилучшего!

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

Статья затронет весь цикл разработки приложения. Вместе мы напишем простенькую игру “Крестики-Нолики” с одним экраном (в ОС Android это называется Activity).

Отсутствие опыта разработки на языке Java не должно стать препятствием в освоении Android. Так, в примерах не будут использоваться специфичные для Java конструкции (или они будет минимизированы на столько, на сколько это возможно). Если Вы пишете, например, на PHP и знакомы с основополагающими принципами в разработке ПО, эта статья будет вам наиболее полезна. В свою очередь так как, я не являюсь экспертом по разработке на Java, можно предположить, что исходный код не претендует на лейбл “лучшие практики разработки на Java”.

Установка необходимых программ и утилит

    ; ;
  1. IDE c поддержкой разработки для Android:
    • Eclipse + ADT plugin;
    • IntelliJ IDEA Community Edition;
    • Netbeans + nbandroid plugin;

Утилиты устанавливаются в определенном выше порядке. Ставить все перечисленные IDE смысла нет (разве только если Вы испытываете затруднения с выбором подходящей). Я использую IntelliJ IDEA Community Edition, одну из самых развитых на данный момент IDE для Java.

Запуск виртуального устройства

Запустив AVD Manager и установив дополнительные пакеты (SDK различных версий), можно приступить к созданию виртуального устройства с необходимыми параметрами. Разобраться в интерфейсе не должно составить труда.


Список устройств


Создание проекта

Мне всегда не терпится приступить к работе, минимизируя подготовительные мероприятия, к которым относится создание проекта в IDE, особенно, когда проект учебный и на продакшн не претендует.

Итак, File->New Project:








По нажатию кнопки F6 проект соберется, откомпилируется и запустится на виртуальном девайсе.

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

На предыдущем скриншоте видна структура проекта. Так как в этой статье мы преследуем сугубо практические цели, заострим внимание лишь на тех папках, которые будем использовать в процессе работы. Это следующие каталоги: gen, res и src.

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

Папка res предназначена для хранения ресурсов, таких как картинки, тексты (в том числе переводы), значения по-умолчанию, макеты (layouts).

src — это папка в которой будет происходить основная часть работы, ибо тут хранятся файлы с исходными текстами нашей программы.

Первые строки

Как только создается Activity (экран приложения), вызывается метод onCreate(). IDE заполнила его 2 строчками:

Метод setContentView (равносильно this.setContentView) устанавливает xml-макет для текущего экрана. Далее xml-макеты будем называть «layout», а экраны — «Activity». Layout в приложении будет следующий:


Для этого приложения идеально подойдет TableLayout. Id можно присвоить любому ресурсу. В данном случае, TableLayout присвоен При помощи метода findViewById() можно получить доступ к виду:


Теперь необходимо реализовать метод buildGameField(). Для этого требуется сгенерировать поле в виде матрицы. Этим будет заниматься класс Game. Сначала нужно создать класс Square для ячеек и класс Player, объекты которого будут заполнять эти ячейки.

Square.java

Player.java


Все классы нашего приложения находятся в папке src.

Game.java


Инициализация Game в конструкторе KrestikinolikiActivity.


Метод buildGameField() класса KrestikinolikiActivity. Он динамически добавляет строки и колонки в таблицу (игровое поле):

В строке 8 создается объект, реализующий интерфейс View.OnClickListener. Создадим вложенный класс Listener. Он будет виден только из KrestikinolikiActivity.

Осталось реализовать логику игры.

Определение победителя

К. О. подсказывает, что в крестики-нолики выирывает тот, кто выстроет X или O в линию длиной, равной длине поля по-вертикали, или по-горизонтали, или по-диагонали. Первая мысль, которая приходит в голову — это написать методы для каждого случая. Думаю, в этом случае хорошо подойдет паттерн Chain of Responsobility. Определим интерфейс

Так как Game наделен обязанностью выявлять победителя, он реализует этот интерфейс. Настало время создать виртуальных «лайнсменов», каждый из которых будет проверять свою сторону. Все они реализует интерфейс WinnerCheckerInterface.

WinnerCheckerHorizontal.java

WinnerCheckerVertical.java

WinnerCheckerDiagonalLeft.java

WinnerCheckerDiagonalRight.java

Проинициализируем их в конструкторе Game:

Победителя проверяем после каждого хода. Добавим кода в метод onClick() класса Listener

Метод gameOver() реализован в 2-х вариантах:

Для Java, gameOver(Player player) и gameOver() — разные методы. Воспользовавшись Builder'ом Toast.makeText, можно быстро создать и показать уведомление. refresh() обновляет состояние поля:


Готово! Надеюсь, эта статья помогла Вам освоиться в мире разработки под OS Android. Благодарю за внимание!

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

Когда мы генерируем новый Android проект с помощью Android Studio (например, создание простого Hello Android приложения), автоматически генерируется множество файлов и папок. Давайте рассмотрим каждый из основных компонентов и директорий только что созданного проекта:

project_st

Так выглядит пустой, только что сгенерированный Android проект в Android Studio.

Как видно из картинки, Android проект представлен 2 корневыми папками: app и Gradle Scripts. Папка app включает 3 подпапки:

  1. Папка manifests содержит файлы конфигураций или файлы манифеста приложения
  2. В папке java находится исходный код приложения.
  3. Папка res содержит файлы используемых в Android приложении ресурсов (картинки, стили, размерности для различных устройств и т.д.)

А теперь подробнее о каждой папке:

Что такое AndroidManifest.xml файл

Файл AndroidManifest.xml является одним из самых важных в Android проекте. В нем содержится информация о пакетах приложения, компонентах типа Activity , Service (и других пока что не знакомых нам компонентах, о которых я расскажу в следующих статьях).
Файл AndroidManifest.xml выполняет следующие задачи:

  • Предоставляет разрешения приложению на использование или доступ к другим компонентам системы.
  • Определяет как будут запускаться, например, Activity (какие фильтры использовать).

Папка java в Android проекте

Папка java содержит исходный код приложения. Классы могут быть расположены в различных пакетах, но обязательно внутри папки java.

Зачем нужна папка res

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

  • Папка drawable содержит файлы с изображениями, которые будет использоваться в приложении.
  • Папка layout располагает xml файлами, которые используются для построения пользовательского интерфейса Android приложения.
  • В папке menu находятся xml файлы, используемые только для создания меню.
  • В mipmap папке хранят только значки приложения. Любые другие drawable элементы должны быть размещены в своей папке.
  • values хранит те xml файлы, в которых определяются простые значения типа строк, массивов, целых чисел, размерностей, цветов и стилей.

Сценарии Gradle в Android Studio

Папка .idea

Папка .idea на картинке не видна, но если выбрать закладку Project Files, то она появится. Среда разработки Eclipse использует файл project.properties для настройки метаданных проекта. В Android Studio этим занимается папка .idea . Это означает, что метаданные конкретного проекта хранятся в Android Studio.

Сегодня мы рассмотрели основные компоненты структуры проекта в Android Studio.

Разработка простого приложения, помогающего понять структуру приложения, освоить основные операторы , привыкнуть к среде разработки.

Задачи лабораторной работы:

  • создать новое приложение и изучить его структуру;
  • настроить интерфейс приложения;
  • реализовать логику приложения.

4.1 Введение

Для достижения поставленной цели в лабораторной работе создадим приложение в среде разработки Android IDE (Eclipse и ADT ), подробно рассмотрим структуру полученного проекта и разберем назначение основных его элементов.

Чтобы дальнейшие действия приобрели некоторый смысл, сформулируем задачу, которую будет решать наше приложение , назовем его "Угадай число". Суть приложения в том, что программа случайным образом "загадывает" число от 0 до 100, а пользователь должен угадать это число. При каждом вводе числа, программа сообщает пользователю результат: введенное число больше загаданного, меньше или же "Ура, победа!" число угадано.

Разрабатываемое приложение выполняет свои функции только когда видимо на экране, когда оно не видимо его работа приостанавливается, т. е. имеем дело с приложением переднего плана. Для выполнения всей работы достаточно определить одну активность в приложении, фоновые процессы не предусмотрены.

Далее в работе рассмотрим простейшие элементы интерфейса пользователя и добавим их в приложение , а также рассмотрим вопросы, связанные непосредственно с программированием: научимся обрабатывать события, возникающие при взаимодействии приложения с пользователем; реализуем логику проверки числа на совпадение с загаданным.

4.2 Создание приложения и изучение его структуры

Создайте новый проект в среде Android IDE (Eclipse с ADT ). Процесс создания нового проекта и описание основных настроек подробно рассмотрен в лабораторной работе к первой лекции.

В процессе создания проекта, мы назвали его ProjectN, среда разработки подготавливает необходимые папки и файлы. Полный иерархический список обязательных элементов проекта можно увидеть на вкладке Package Explorer (аналогичную информацию предоставляет вкладка Project Explorer), иерархия полученных папок и файлов для нашего проекта изображена на рис. 4.1.

Структура проекта ProjectN

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

  • папка src - содержит файлы с исходным кодом на языке Java. Именно в этой папке размещаются все классы, создаваемые в процессе разработки приложения. Сейчас в этой папке в пакете com.example.projectn размещается единственный класс MainActivity.java . Этот класс определяет главную и единственную активность в этом приложении.

Комментарий 1: Имя пакету присваивается в процессе создания приложения в поле Package Name, использовать com . example не рекомендуется, т. к. пакет с таким именем нельзя загрузить в Google Play . Часто рекомендуют использовать в качестве имени пакета название сайта программиста, записанное в обратном порядке, можно просто использовать свои имя и фамилию. Последнее слово в имени пакета формируется автоматически и совпадает с именем проекта.

Комментарий 2: Имя файлу присваивается в процессе создания приложения на этапе настройки активности. Имя определяется в поле Activity Name.

Комментарий 3: Package Explorer отображает структуру папок, которая создается в каталоге, выбранном в качестве рабочего (Workspace) при запуске Eclipse. Например, рабочий каталог называется workspaceADT, в нем для нашего проекта появилась папка с именем ProjectN, в ней есть папка src, в ней com , в ней example , в ней projectn (заметьте, что название пакета распалось на три папки, каждое слово , отделенное точкой определило новую папку). И уже в папке projectn находится файл MainActivity. java и будут размещаться другие java -файлы проекта.

  • папка gen - содержит java-файлы, которые не требуется изменять и лучше вообще не трогать. Эти файлы генерируются автоматически. Нас может заинтересовать файл R.java он содержит идентификаторы (ID) для всех ресурсов приложения.
  • папка res - содержит структуру папок ресурсов приложения, рассмотрим некоторые из них:
    • layout - в данной папке содержатся xml-файлы, которые описывают внешний вид форм и их элементов, пока там находится только activity_main.xml;
    • values - содержит XML файлы, которые определяют простые значения, таких ресурсов как, строки, числа, цвета, темы, стили, которые можно использовать в данном проекте;
    • menu - содержит XML файлы, которые определяют все меню приложения.

    Рассмотрим файл AndroidManifest.xml - файл в формате xml , который описывает основные свойства проекта, разрешение на использование ресурсов устройства и др. Сразу после создания приложения файл AndroidManifest. xml выглядит так, как показано на рис. 4.2.

    Файл AndroidManifest.xml только созданного проекта


    увеличить изображение
    Рис. 4.2. Файл AndroidManifest.xml только созданного проекта

    Рассмотрим подробно файл манифеста.

    Первый обязательный элемент <manifest> является корневым элементом файла, должен содержать обязательный элемент <application> и все остальные элементы по необходимости. Рассмотрим основные атрибуты этого элемента:

    Рассмотрим элемент <uses-sdk> , который показывает совместимость приложения с версиями Android . Основные атрибуты:

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

    Рассмотрим элемент <application> , который является обязательным элементом манифеста, полностью определяет состав приложения. Представляет собой контейнер для элементов <activity> , <service> , <receiver> , <provider> (и не только), каждый из которых определяет соответствующий компонент приложения. Содержит набор атрибутов, действие которых распространяется на все компоненты приложения. Рассмотрим атрибуты элемента <application> , представленные в манифесте на рис. 4.2:

    В приложении всего одна активность , других компонентов нет, в связи с этим элемент <application> в манифесте содержит ровно один элемент < activity > и больше никаких других элементов не содержит. Рассмотрим элемент <activity> , который определяет активность . Для каждой активности обязательно необходим свой элемент <activity> в манифесте. Рассмотрим атрибуты элемента <activity> , представленные в манифесте на рис. 4.3:

    В манифесте для нашего приложения элемент <activity> содержит ровно один элемент: <intent-filter> , определяющий типы намерений, которые может принимать активность . Этот элемент содержит два элемента: <action> и <category> .

    Первый элемент определяет действия, которые проходят в фильтр намерений, при этом <intent-filter> должен содержать хотя бы один элемент <action> , в противном случае ни один объект -намерение не сможет пройти через фильтр и активность невозможно будет запустить. Элемент <action> имеет единственный атрибут android:name="android.intent.action.MAIN" .

    Второй элемент определяет имя категории в фильтре намерений. Имеет единственный атрибут android:name="android.intent.category.LAUNCHER" .

    Чаще всего, при создании приложения приходится иметь дело с папками src, res/layout и res/values, т.к. там находятся основные файлы проекта.


    Эксперт в Java, Kotlin, Android, SQL, проектировании информационных систем.

    Android-разработчица такси Maxim и ментор курса «Android-разработчик» Арина Мурашева подробно рассказывает, как установить и использовать Android Studio и как собирать и отлаживать приложения.

    Для чего используется Android Studio?

    Android Studio — это IDE (интегрированная среда разработки) для работы с платформой Android. Она позволяет разрабатывать приложения для смартфонов, планшетов, часов, телевизоров и других устройств на этой ОС.

    Я использую Android Studio, потому что это официальная среда разработки, которую поддерживает Google. Она основана на IntelliJ IDEA от компании JetBrains, чьи продукты я люблю и использую еще со студенческих времен. В Android Studio те же горячие клавиши и интерфейс, что и в других продуктах JetBrains, поэтому для меня эта среда самая привычная и удобная.

    Установка Android Studio

    Установка Java SDK

    Установите Java SDK независимо от того, планируете вы разрабатывать на Java или Kotlin. Для этого перейдите на официальный сайт Oracle в раздел Downloads и скачайте нужную версию Java SDK. Для разных проектов могут понадобиться разные версии, но если вы не знаете, какая нужна, — скачивайте последнюю.

    Установка и настройка Android Studio

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

    После завершения скачивания запустите установочный файл и начните процесс установки. Сначала выберите путь установки Android Studio и Android SDK. Оставьте пути по умолчанию или выберите свои.


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


    Повторная установка Android Studio

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

    При первом запуске Android Studio нужно будет ее настроить. Сначала студия спросит, нужно ли импортировать настройки с прошлой версии. Так как это первая установка студии, то сохраненных настроек у вас нет. Оставьте второй вариант и нажмите OK.


    После этого завершите настройку и скачайте необходимые компоненты с помощью Setup Wizard, который открывается после нажатия OK в предыдущем окне.


    Нажмите Next и перейдите к выбору типа установки компонентов Android Studio.


    Если вам не нужна кастомная настройка компонентов, выберите Standard и нажмите Next.

    После этого установщик сообщит, что необходимо загрузить несколько компонентов для завершения установки. Нажмите Finish и подождите, пока все компоненты загрузятся и распакуются. После завершения этого процесса снова станет доступна кнопка Finish. Нажмите на нее, после чего появится экран приветствия Android Studio.


    Как использовать Android Studio

    Работа в Android Studio похожа на работу в большинстве современных IDE. Однако, как и везде, здесь есть свои нюансы. Далее мы разберем основы работы в Android Studio.

    Для начала необходимо создать проект в Android Studio. На приветственном экране нажмите Create New Project, после этого вы увидите экран с шаблонами устройств и Activity (это класс, в котором реализуют логику экрана приложения). Для начала можно выбрать Phone and Tablet (телефоны и планшеты) и No Activity либо Empty Activity. Разница в том, что в первом случае вам нужно будет реализовать первую Activity с нуля, а во втором студия самостоятельно создаст готовый редактируемый шаблон.

    После выбора нажмите Next и увидите окно настроек будущего проекта. Название проекта (Name) в Android Studio может быть любым и даже содержать пробелы. А вот имя пакета (Package Name) должно быть уникальным, если вы собираетесь опубликовать приложение в Google Play.

    Что еще можно выбрать: расположение проекта (Save Location), язык (Language), который вы собираетесь использовать (Java или Kotlin), и минимальную поддерживаемую SDK (Minimum SDK). Минимальная поддерживаемая SDK — это самая ранняя версия операционной системы Android, в которой приложение может работать. Если вы меняете расположение файлов проекта, то не забудьте создать папку, которая будет содержать ваш проект. Обратите внимание, что в названии не должно быть пробелов.

    Станьте мобильным разработчиком в компании или запускайте собственные приложения и игры под Android. Дополнительная скидка по промокоду BLOG — 5%.

    Язык здесь можно выбрать любой, потому что в проекте доступны и Java, и Kotlin. А вот минимальную поддерживаемую Android SDK выбирайте внимательно.

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

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

    Если в предыдущем шаге вы выбрали шаблон Empty Activity, то при создании проекта студия сгенерирует и структуру файлов проекта. Так выглядит пустой, только что созданный проект в Android Studio.


    Он содержит 2 корневые папки: app и Gradle Scripts. Папка app включает 3 подпапки: manifests (содержит файлы конфигураций приложения), java (содержит исходный код приложения) и res (содержит файлы ресурсов — картинок, стилей, размерностей и т.д.).

    AndroidManifest.xml в папке manifests содержит информацию о пакетах и компонентах приложения. Этот файл важен для работы приложения Android, так как именно в нем прописаны разрешения приложения на использование компонентов системы Android. Также в нем определяется, как будут запускаться компоненты приложения.

    В папке java исходные файлы проекта могут содержаться в различных подпапках. Обычно в Android-приложении в папке java также есть определенная структура файлов. В этой статье мы рассматривать ее не будем, так как тема выходит за пределы общей структуры проекта.

    В папка res есть несколько подпапок даже при создании тестового базового проекта, и она сильно разрастается при разработке настоящих приложений. Будьте готовы, что файлы в этой папке могут занимать много места на вашем жестком диске.

    Рассмотрим подпапки, которые появляются при создании базового проекта:

    1. Папка drawable содержит файлы с изображениями.
    2. В папке layout нужно располагать xml-файлы, используемые для создания интерфейса приложения.
    3. Папка mipmap хранит значки приложения.
    4. Папка values хранит xml-файлы со значениями строк, цветов, тем, стилей.

    Папка Gradle Scripts содержит скрипты для автоматизации сборки проекта.

    Папка .idea не видна на скриншоте, но если изменить конфигурацию Android на Project, то она появится. Эта папка нужна для настройки метаданных проекта в Android Studio.

    Редактор xml

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

    Чтобы посмотреть работу этого редактора, откройте файл activity_main.xml, сгенерированный Android Studio. Кстати, если ваш проект уже разросся и искать файлы неудобно, то нажмите клавишу Shift быстро два раза, и откроется окно поиска по файлам проекта. Начните вводить туда название нужного файла, а затем выберите его из списка. Как видно на анимации, необязательно вводить слова полностью — достаточно первых букв.

    По умолчанию открывается только редактор кода.


    Чтобы открыть визуальный редактор, нажмите кнопку Split в верхнем правом углу, чтобы отобразить оба представления рядом. Или кнопку Design, чтобы открыть только визуальное представление.

    Gradle

    Android Studio выполняет сборку приложения с использованием системы Gradle. Он значительно упрощает сборку проекта из большого количества файлов в apk-файл, который можно установить на Android-устройстве.

    Хочу поделиться лайфхаком, который выручал меня не раз. Если проект перестал собираться по непонятной причине, скорее всего, это связано с gradle. В таком случае в меню выберите Build, а затем опцию Clear Project.

    Сборка и отладка приложения

    После того как вы добавили первую функциональность в свое приложение, начните отлаживать его (запускать и проверять работоспособность всех функций). Лучше делать это на устройстве Android.

    Для этого подключите устройство Android к компьютеру через USB. При этом убедитесь, что на телефоне включена отладка по USB в параметрах разработчика.

    Чтобы включить параметры разработчика, в настройках своего телефона найдите пункт «Номер сборки» (обычно находится в «Сведениях об устройстве») и нажмите на него быстро семь раз. Далее перейдите в параметры разработчика и включите отладку по USB.

    После этого подключите телефон через USB к компьютеру и увидите название своего устройства в верхней панели Android Studio — у меня это Samsung. Обратите внимание, на телефоне могут появиться уведомления, где нужно разрешить отладку с данного компьютера.


    Затем нажмите на кнопку Run (зеленый треугольник), и приложение запустится на вашем телефоне.

    Если приложение «упало» (завершило работу, когда не должно было) или возникли какие-то другие ошибки — данные вы увидите на вкладке Logcat (внизу).



    Отладка приложения на виртуальных устройствах

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

    Чтобы создать виртуальное устройство, откройте AVD Manager (Android Virtual Device Manager) и начните создание желаемого устройства.


    Для создания нового устройства нажмите кнопку Create Virtual Device. Затем выберите устройство (модель телефона).

    После нажмите Next и переходите к выбору системы Android, которая будет установлена на устройство. Если ранее вы не устанавливали ни одной эмулированной системы, то ее нужно будет скачать. У меня уже скачан Android Q.

    После скачивания нажмите Next, затем Finish, и создание виртуального устройства завершено.

    Чтобы запустить приложение на созданном устройстве, выберите его в списке устройств и нажмите кнопку Run.

    Главное — практика

    По-настоящему освоить Android Studio получится только самостоятельно в процессе практики. Дополнительно рекомендую изучить горячие клавиши в Android Studio (как двойное нажатие Shift для поиска по файлам).

    Вы начнете с основ программирования, изучите Java, Kotlin, Android Studio, Git, UX/UI и PlayMarket.

    • тренажеры
    • интерактивные вебинары
    • консультации ментора
    • помощь в трудоустройстве.

    Промокод BLOG +5% скидки

    Арина Мурашева

    Эксперт в Java, Kotlin, Android, SQL, проектировании информационных систем.

    Читайте также: