Android. Собеседование #1. Как работает Android; Структура приложения на Android

Автор:

В статье можно прокачать фундаментальные знания, обязательно должен владеть Ты ими.

1. Расскажите об операционной системе Android

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

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

Над ядром операционной системы располагается Android Runtime – среда выполнения приложений. Ключевыми её составляющими являются виртуальная машина Dalvik (Art), а также набор стандартных библиотек. Каждое приложение в ОС Android запускается в собственном экземпляре виртуальной машины.

2. Как работает приложение на Android?

Программный код написанный разработчиком и все требуемые файлы данных и ресурсов, необходимые для корректной работы приложения компилируются в файл APK – программный пакет Android, который представляет собой файл архива с расширением .apk. В файле APK находится все, что требуется для работы Android-приложения, он позволяет установить приложение на любом устройстве под управлением системы Android.

Android не использует виртуальную машину Java (JVM) для выполнения файлов классов, вместо этого, в нём используется виртуальная машина Dalvik, не являющаяся истинной JVM и не работающая с Java байт-кодом. Начиная с версии Android 4.4 начала использоваться виртуальная машина Art (Android Runtime) и в версии Android 5.0 она полностью заменила Dalvik. На схеме приведены примеры исполнения обычного java-приложения, приложения для Android, а также приложения, созданного на фреймворке Xamarin.

Для платформы Android исходный java код транслируется в байт код и далее в далвик байт-код, с расширением .dex (Dalvik Executable Format), который понятен виртуальной машине Android.

3. Опишите структуру Android приложения

Рассмотрим структуру проекта приложения для ОС Android, которая представлена на изображении ниже.

Основные каталоги приложения:
src – cодержит исходный код приложения;
animator – содержит XML файлы, которые определяют свойства анимации;
anim – содержит XML файлы, которые определяют анимацию преобразований;
color – содержит XML файлы, которые определяют списки цветов;
drawable – содержит графические файлы или XML файлы, которые компилируются в графические ресурсы;
layout – содержит XML файлы, которые определяют расположение элементов пользовательского интерфейса;
menu – содержит XML файлы, которые определяют все меню приложения;
values – содержит XML файлы, которые определяют простые значения, таких ресурсов как, строки, числа, цвета.

mipmap – содержит изображение для лаунчера приложения

AndroidManifest.xml – содержит основную информацию о приложении

.gitignore – текстовый файл, содержащий список файлов и папок, которые будут игнорироваться системой контроля версий (VCS) и не будут загружены в удалённый репозиторий.

proguard-rules.pro –  конфигурационный файл с правилами для утилиты Proguard

setting.gradle – все модули, которые содержит проект указываются в данным файле

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

gradle.proeprties – файл, содержащий настройки используемые при сборке проекта

gradlew – используется Gradle Wrapper

local.properties – файл используется только Gradle, содержит путь к Android SDK

External Libraries – представляет собой перечень библиотек с расширением .jar, которые были подключены к нашему проекту

4. Что такое Android Manifest?

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

 

Ваш адрес email не будет опубликован. Обязательные поля помечены *