Для разработки приложений для Android часто используется среда Eclipse, как наиболее популярная для Java, мы тоже воспользуемся именно ей. Эта система поддерживает большое количество плагинов, считается одной из лучших сред разработки для Android. Современные платформы для разработки становятся все более удобными для обычных пользователей с базовыми знаниями программирования. Во многом это связано с внедрением средств визуального проектирования и среда Eclipse не является исключением.
Установка Eclipse
Загрузить пакет установки, можно с сайта разработчика абсолютно бесплатно. Дистрибутив «eclipse-inst-win64.exe» занимает около 50 Мб.
Перед установкой, не дожидаясь сообщения инсталлятора, необходимо установить инструменты Java:
- Oracle JDK – бесплатный комплект разработчика;
- Oracle JRE – виртуальная машина для запуска Java-приложений.

Дистрибутивы доступны для различных версий Windows архитектуры x64, x86.
После запуска скаченного инсталлятора Eclipse (eclipse-inst-win64.exe), необходимо выбрать установку «Eclipse IDE for java Developers».
Далее выбрать путь установки.
Для продолжения следует прочитать и принять пользовательское соглашение – «Accept Now».
В отдельном окне будет отображаться прогресс установки.
В процессе установки может открыться дополнительное соглашение, для продолжения нужно нажать «Accept»:
После окончанию установки будет предложен запуск среды – кнопка «LAUNCH».
При запросе изменения Workspace (рабочее пространство, где хранятся рабочие файлы) – можно изменить путь по- умолчанию. Далее нажать «Launch».
После успешной установки, главный интерфейс Eclipse IDE выглядит следующим образом.
Установка ADT плагина к Eclipse
Плагин Android Development Tools (ADT) расширяет возможности среды для разработки под Android. С помощью него упрощается создание мобильного приложения для Андроид, разработка интерфейса, процесс отладки программы и распространение дистрибутива «APK» на устройство. Плагин добавляет следующие расширения:
- мастер проектов и шаблон приложения;
- манифест, редактор ресурсов;
- поддержка проектов в формате «*.apk» и «*.dex»;
- эмулятор Android с настройками сети, возможностью изменения интерфейса, имитацией телефонных функций (смс и звонки);
- мониторинг DDMS (Dalvik Debug Monitoring Service);
- доступ к файловой системе устройства;
- полноценная отладка на этапе запуска;
- логирование и консоль сообщений.
DDMS – служба отслеживания процесса отладки в «Dalvik» для мониторинга виртуальных машин. Android имеет собственную виртуальную машину Java – Dalvik Virtual Machine с собственным набором инструкций (байт-кодом).
Установка плагина производится в следующем порядке:
- В меню «Help» необходимо запустить «Install New Software».

- Далее необходимо добавить адрес репозитория Eclipse https://dl-ssl.google.com/android/eclipse/ с помощью кнопки «ADD».

- С этого адреса и будет происходить загрузка плагина ADT.
- Затем нужно отметить инструменты разработчика и нажать «Next».

- Внизу экрана инсталляции можно увидеть информацию о размере загружаемых пакетов.

- Для продолжения потребуется принять лицензионное соглашение и нажать кнопку «Finish».

- Прогресс установки плагина отображается в правом нижнем углу.

- После окончания необходимо перезапустить IDE кнопкой «Restart Now».

Инсталляция Android SDK
Для разработки мобильных приложений также понадобится «Android SDK» – универсальное средство разработки. С помощью этого инструментария можно разрабатывать и тестировать приложения Android, в которых необходимо использовать камеру, GPS, Wi-Fi, 4G, 3G, EDGE, Bluetooth и другое оборудование.
Для начала потребуется установка «SDK Manager»:
- Выбрать «Install new SDK», нажать «Next».

- Далее будет произведена проверка доступности репозитория Google.

- В процессе установки возникнет запрос на принятие лицензии – ознакомившись, нажать «Accept License» и «Install».

- Прогресс установки.

- После окончания установки открыть «SDK Manager».

- Выбрать необходимые пакеты «build-tools» (компоненты для создания кода программы).

Как устроено приложение
Программа Android состоит из манифеста приложения, набора ресурсов и кода. Для каждой программы существует файл Manifest.xml, в котором определяется конфигурация и описываются используемые элементы. Все значения устанавливаются через атрибуты. Файл манифеста определяет:
- имя пакета Java;
- уровень API;
- компоненты приложения (Activity, Service, Broadcast Receiver, Content Provider);
- подключение библиотек;
- доступы, разрешения.
Описание манифеста
Файл задается в формате XML, и состоит из основных (обязательных) элементов или тегов:
- <manifest>;
- <application>;
- <uses-sdk>.
Тег «manifest» — корневой элемент, с которого начинается файл описания. Атрибуты:
- xmls:android – пространство имен;
- package – имя пакета приложения (должно быть уникальным);
- android:versionCode – внутренний код версии;
- android:versionName – пользовательский код версии.
Тег «application» — c множеством дочерних элементов (activity, service, receiver, provider) определяет структуру и работу программы. Описываются все компоненты программы.
Тег «uses-sdk» — указывает совместимость программы с версией Android. Это делается путем сравнения уровней API приложения и оборудования. Атрибуты:
- android:minSdkVersion – минимальный уровень API;
- android:minSdkVersion – максимальный уровень API;
- targetSDKVersion – целевая платформа для которой разрабатывалось приложение.
Кроме основных тегов существует ряд не менее важных элементов:
- Тег «permission» — секция содержит разрешения и ограничения доступа к функционалу и компонентам приложения (собственным и внешним).
- Тег «uses-permission» — системные разрешения для нормальной работы, задаются на этапе установки приложения. Например – доступ в интернет (internet), местонахождение по GPS (access_fine_location), входящие смс (receive_sms), доступ в адресную книгу на чтение или запись (read_contacts, write_contacts).
- Тег «uses-configuration» — включает требования программной и аппаратной конфигурации мобильного устройства. Для каждой конфигурации задается новая секция.
- Тег «uses-feature» — требования функциональности, необходимые для работы. Например требование поддержки Bluetooth будет описываться в структуре таким образом: <uses-feature android:name=”android.hardware.bluetooth” />
- Тег <support-screens> — требования разрешения экрана.
Набор ресурсов
Ресурсы программы — это компоновка элементов интерфейса, изображения, строки, цвета. Хорошей практикой считается отделение ресурсов от кода приложения, в дальнейшем это позволит использовать и обновлять различные конфигурации ресурсов. Как правило ресурсы различают по типам – по умолчанию и альтернативные. Размещение ресурсов необходимо делать в папке res/ в поддиректориях (не напрямую в корневой, иначе будет ошибка компиляции). В основном ресурсы хранятся в виде XML файлов.
Примеры ресурсов по умолчанию в поддиректориях:
- сolor/ — цвета;
- drawable/ — графические элементы;
- menu/ — меню приложения;
- layout/ — компоновка элементов интерфейса.
В проекте это выглядит следующим образом (в Project Explorer).
Что разместить ресурсы альтернативной конфигурации, надо:
- Создать в папке /res каталог с именем: имя_ресурса-спецификатор_конфигурации, где:
- имя_ресурса – имя каталога, ресурса по умолчанию;
- спецификатор_конфигурации – имя конфигурации для которой используются ресурсы.
- Сохранить ресурсы в новом каталоге имя файлов должно быть, как у соответствующего файла по умолчанию.
Доступ к ресурсам осуществляется через код, либо через XML.

Макет
В приложениях Android интерфейс построен на объектах View и ViewGroup. В подклассе Layout (макет или разметка), основу составляет класс ViewGroup. Макет также задается в формате XML, в директории /res/layout.
Типы макетов:
- FrameLayout – пустое пространство, заполняется дочерними элементами;
- LinearLayout – задает вертикальное или горизонтальное выравнивание;
- TableLayout – размещение в строки и столбцы;
- RelativeLayout – позиционирование относительно родительского представления.
Макеты можно группировать, как элементы управления.
Компоненты приложения
Компоненты в мобильном приложении бывают четырех типов: Activities, Services, Broadcast receivers, Content providers.
Activity – одно действие (здесь необходимо понимать, как деятельность или активность) в интерфейсе пользователя (например — показать контакты, экран, настройки). Каждое действие подразумевает некую активность. Эти активности составляют интерфейс программы.
Services – службы выполняющие процессы или задачи в фоновом режиме. Например, если свернуть музыкальный плеер, то он продолжить проигрывать музыку в фоне.
Broadcast receiver – широковещательный приемник системных сообщений и запросов.
Content Providers – например база данных предоставляющая приложению доступ к данных.
Другими компонентами могут быть – виджеты, живые обои и т.д.
Базовые основы программирования
Для освоения программирования понадобятся знания базовых принципов создания программ для Андроид, которые включают:
- Переменные (типы). Здесь есть понятие «примитивы» — не все типы являются объектами: byte, short, int, long, float, double, char, boolean.
- Операторы условия. Java использует булеву логику переменных для проверки условия — true или false (истина или ложь). К логическим операторам относятся – if, else, ==, equals.
- Массивы (Array). В массиве данные представлены в виде набора значений. В массиве есть элементы (переменные) и индексы – для определения позиции. В Java – массивы это объекты и перед использованием должны быть объявлены.
- Циклы вида — for и while. Для управления циклами используются операторы break и continue.
- Методы. В Java это порядок инструкций для выполнения задачи. Определяются внутри классов. Методы могут быть статическими (относятся к классу) и не статическими (относятся к объектам).
- Объекты. Основу Java кода составляют объекты и классы т.к. это объектно-ориентированный язык. Объекты хранят состояние в переменных или членах экземпляра класса.
- Компиляция. Процесс запуска проекта после написания кода. Для этой цели в Java используется компилятор java.exe или javac.exe.
- Интерфейсы. Интерфейсы похожи на классы. Создают уровень абстракции в Java, определяют некоторый функционал, но не имеют методов реализации. Создать экземпляр интерфейса в Java нельзя.
Создание приложения с нуля
Перед тем как приступить к созданию приложения самому нужно создать виртуальное устройство – Android Virtual Device Manager (AVD). На следующих этапах в нем будет производиться отладка (Debug). Создание устройства выполняется в меню Window.
Для создания нового устройства, необходимо нажать «Create».
Далее необходимо выбрать шаблон устройства, либо задать его параметры. В примере задается устройство «Nexus» на целевой платформе Android 6.0, API уровня 23, процессор Intel Atom, RAM 512Mb, внутренняя дисковая память на 200 Мб, SD – карта на 100 Мб.
После сборки – устройство будет добавлено в список виртуальных устройств.
После подготовки виртуального устройства можно создавать проект программы «Hello World!» и написать приложение. Выполняется по следующей инструкции:
- Необходимо перейти в меню File – New – Project.

- Выбрать тип проекта – «Android Application Project».

- Затем задается класс Activity, Workspace.

- Настраивается иконка запуска.

- Заполняется имя программы, API платформы, тема.

- Создается «Activity».

- Указывается имя «Activity» и после нажатия кнопки «Finish» – начнется сборка программы (в зависимости от уровня выбранного API и мощности компьютера, процесс занимает разное время).

- После сборки, рабочий проект выглядит следующим образом.

Готовый проект с выводом текста «Hello World!» на виртуальное устройство.