Разработка Android-приложений в деталях Машнин Тимур

Дизайнер обложки Тимур Сергеевич Машнин

© Тимур Сергеевич Машнин, 2020

© Тимур Сергеевич Машнин, дизайн обложки, 2020

ISBN 978-5-4483-0450-7

Создано в интеллектуальной издательской системе Ridero

Введение

Разработку Android-приложений можно вести как в среде Eclipse, так и в среде Android Studio. Хотя среда Android Studio является официально поддерживаемой средой разработки, среда Eclipse не теряет актуальности из-за своей универсальности в разработке Java-приложений самого широкого спектра применений.

Поддержку разработки Android-приложений в среде Eclipse обеспечивает Eclipse-плагин Android Development Tools (ADT) (http://developer.android.com/sdk/eclipse-adt.html).

ADT-плагин помогает создать Android-проект, разработать UI-интерфейс приложения на основе программного интерфейса Android Framework API, отладить Android-приложение и подготовить подписанный файл. apk к публикации.

Установка ADT плагина

Для установки ADT-плагина откроем среду Eclipse IDE for Java EE Developers и в меню Help выберем команду Install New Software. В списке Work with: нажмем кнопку Add, в поле Name: введем имя плагина ADT, а в поле Location: – адрес https://dl-ssl.google.com/android/eclipse/ хранилища плагина, нажмем кнопку OK, в мастере Install отметим флажок Developer Tools и нажмем кнопку Next.

Рис.0 Разработка Android-приложений в деталях

После установки ADT-плагина и перезапуска среды Eclipse может открыться окно приложения Android SDK Manager набора разработчика Android SDK.

Рис.1 Разработка Android-приложений в деталях

Сам по себе дистрибутив набора Android SDK (http://developer.android.com/sdk/index.html) включает в себя набор инструментов SDK Tools, SDK Platform-tools, а также приложения AVD Manager и SDK Manager.

Приложение SDK Manager дает возможность устанавливать и обновлять компоненты набора Android SDK, а также запускать приложение AVD Manager и управлять URL-адресами дополнений.

Приложение SDK Manager можно также запустить из среды Eclipse с помощью команды Android SDK Manager меню Window перспективы Java.

Набор инструментов SDK Tools обеспечивает отладку и тестирование Android-приложений. Набор инструментов SDK Platform-tools обеспечивает поддержку самой последней версии Android-платформы и включает в себя инструмент Android Debug Bridge (adb), позволяющий взаимодействовать с эмулятором или Android-устройством. Приложение AVD Manager предоставляет GUI-интерфейс для моделирования различных конфигураций Android-устройств, используемых Android-эмулятором запуска приложений в среде выполнения Android. Набор Android Build Tools обеспечивает сборку кода Android-приложения.

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

Поэтому, используя приложение SDK Manager, установим последнюю возможную версию Android-платформы и наиболее распространенную или минимальную версию Android-платформы. Обратная совместимость между максимальной и минимальной версиями осуществляется с помощью библиотеки Android Support Library каталога Extras.

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

Различные версии API Android-платформы отличаются друг от друга наличием новых пакетов, а также изменениями в существующих пакетах.

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

Описание ADT-плагина

В результате установки ADT-плагина в команде New меню File среды Eclipse появится раздел Android, содержащий следующие мастера:

Android Activity – создает класс, расширяющий класс android.app.Activity и представляющий экран приложения.

Android Application Project – обеспечивает создание проекта Android-приложения.

Android Icon Set – позволяет создать набор значков приложения:

Launcher Icons – значок, представляющий приложение.

Action Bar and Tab Icons (Android 3.0+) – значки элементов панели действий пользователя для платформы версии 3.0 и выше.

Notification Icons – значки уведомлений панели состояния.

Pre-Android 3.0 Tab Icons – значки элементов панели действий пользователя для платформы версии ниже 3.0.

Pre-Android 3.0 Menu Icons – значки меню для платформы версии ниже 3.0.

Android Object – создает различные компоненты, такие как Activity, Widget, Fragment, Receiver, Provider, Service и др.

Android Project from Existing Code – импорт проекта приложения.

Android Sample Project – при условии установки с помощью SDK Manager пакета примеров Samples for SDK, позволяет создать проект выбранного примера Android-приложения.

Android Test Project – для выбранного Android-проекта создает основу набора тестов на базе каркаса Android testing framework, являющегося расширением платформы тестирования JUnit.

Android XML File – обеспечивает создание таких ресурсов приложения как:

Layout – XML-описание GUI-интерфейса Activity-компонента.

Values – XML-файл, содержащий набор текстовых строк, стилей, различного рода значений, используемых приложением.

Drawable – XML-файл, формирующий отображаемую на экране графику.

Menu – XML-файл, определяющий меню приложения.

Color List – XML-файл, определяющий набор цветов для различных состояний GUI-компонента.

Property Animation – XML-файл, задающий анимацию свойств объекта.

Tween Animation – XML-файл, задающий анимацию View-компонента (вращение, исчезновение, перемещение и масштабирование).

AppWidgetProvider – XML-файл, содержащий метаданные для миниатюрного приложения App Widget, как правило размещаемого на главном экране Home Screen.

Preference – XML-описание GUI-интерфейса PreferenceActivity-операции, позволяющей пользователю персонифицировать приложение.

Searchable – XML-файл, определяющий настройки GUI-компонента поиска.

Android XML Layout File – аналог мастера Android XML File | Layout.

Android XML Values File – аналог мастера Android XML File | Values.

Template Development Wizard – генерирует код на основе файла шаблона template. xml.

Рис.2 Разработка Android-приложений в деталях

После установки ADT-плагина, в контекстном меню окна Package Explorer появятся следующие команды:

Run As | Android Application – запускает Android-приложение в виртуальном мобильном устройстве, созданным с помощью AVD Manager.

Run As | Android JUnit Test – запускает набор тестов для Android-приложения с использованием виртуального мобильного устройства.

Android Tools | New Test Project – открывает мастер Android Test Project создания набора тестов для Android-приложения.

Android Tools | New Resource File – открывает мастер Android XML File создания ресурсов приложения.

Android Tools | Export Signed Application Package – открывает мастер Export Android Application экспорта пописанного цифровой подписью и готового к публикации Android-приложения.

Android Tools | Export Unsigned Application Package – экспортирует неподписанный для релиза APK-файл Android-приложения.

Android Tools | Display dex bytecode – в окне Eclipse-редактора отображает инструкции байткода, дизассемблированные из DEX-файла, который создается в процессе сборки приложения путем конвертации из Java класс-файлов для выполнения виртуальной машиной Dalvik среды выполнения Android.

Android Tools | Rename Application Package – переименовывает пакет приложения.

Android Tools | Add Support Library – запускает приложение SDK Manager для добавления в путь приложения библиотеки Android Support Package, предоставляющей дополнительный API, не являющийся частью API версии Android-платформы. Другой способ добавления библиотеки Android Support Package – установить библиотеку с помощью раздела Extras приложения SDK Manager, создать папку libs в каталоге проекта, скопировать в нее библиотеку из папки extras\android\support каталога Android SDK и добавить библиотеку в путь приложения используя команду Build Path | Configure Build Path контекстного меню окна Package Explorer.

Android Tools | Fix Project Properties – в случае импорта готового Android-проекта гарантирует правильную его сборку, в частности добавляет в путь приложения необходимые библиотеки.

Android Tools | Run Lint: Check for Common Errors – сканирует Android-проект для поиска потенциальных багов с выводом сообщений о них в окно Lint Warnings.

Android Tools | Clear Lint Markers – очищает окно Lint Warnings.

Android Tools | Add Native Support – добавление поддержки Android NDK.

В меню Windows Workbench-окна появятся команды Android SDK Manager, AVD Manager и Run Android Lint, с помощью которых можно запустить приложения набора SDK Tools и сканирование Android-проекта для поиска потенциальных багов. Данные команды дублируются соответствующими кнопками панели инструментов Workbench-окна.

ADT-плагин добавляет в среду Eclipse перспективы DDMS, Hierarchy View, Pixel Perfect, Tracer for OpenGL ES и XML.

Перспектива DDMS

Перспектива DDMS запускает инструмент отладки Dalvik Debug Monitor Server набора SDK Tools и отображает его GUI-интерфейс в виде набора Eclipse-представлений, обеспечивая информацию о работе эмулятора или подсоединенного Android-устройства.

Перспектива DDMS содержит представления Devices, Emulator Control, LogCat, Threads, Heap, Allocation Tracker, Network Statistics, System Information и File Explorer.

Представление Devices отображает подключенные Android-устройства. Для каждого подключенного Android-устройства Devices-представление показывает все запущенные на нем процессы, каждый из которых работает в своем экземпляре виртуальной машины Dalvik. Каждый отображаемый процесс представляет инсталлированное и запущенное на Android-устройстве приложение, поэтому идентификация процесса производится по имени пакета приложения. Так как виртуальная машина Dalvik работает поверх ядра Linux, каждый процесс имеет свой Linux-идентификатор, отображаемый в окне Devices после имени пакета. Крайний правый столбец окна Devices показывает номер порта, который DDMS-инструмент назначает для подсоединения Eclipse-отладчика к экземпляру Dalvik-машины с использованием протокола JDWP (Java Debug Wire Protocol). По умолчанию Eclipse-отладчик подсоединяется к статическому порту 8700, на который перенаправляются трафики экземпляров Dalvik-машины от всех портов. DDMS-инструмент взаимодействует с подключенным Android-устройством с помощью инструмента Android Debug Bridge (adb), имеющего клиент-серверную архитектуру. DDMS-инструмент создает adb-клиента, который взаимодействует с adb-демоном (фоновый процесс, работающий в Android-устройстве) через adb-сервер.

Рис.3 Разработка Android-приложений в деталях

Панель инструментов представления Devices содержит следующие кнопки:

(Debug the selected process, …) – подсоединяет процесс, представляющий Android-приложение с открытым в среде Eclipse проектом, к Eclipse-отладчику, для работы с которым используется перспектива Debug.

Рис.4 Разработка Android-приложений в деталях

(Update Heap) – включает информацию об использовании динамической памяти для процесса.

Рис.5 Разработка Android-приложений в деталях

(Dump HPROF file) – создает снимок динамической памяти в виде HPROF-файла. В случае Android-устройств версии 2.1 и ранее для создания HPROF-файла требуется наличие SD-карты памяти, а также разрешения <uses-permission http://www.eclipse.org/mat/).rmission. WRITE_EXTERNAL_STORAGE»/> в файле манифеста AndroidManifest. xml Android-приложения. Анализ HPROF-файла можно выполнить с помощью Eclipse-плагина Memory Analyzer (MAT) (android:name="android.pe

Рис.6 Разработка Android-приложений в деталях

(Cause GC) – вызывает сборщика мусора, что влечет за собой сборку данных о динамической памяти.

Рис.7 Разработка Android-приложений в деталях

(Update Threads) – включает информацию о запущенных потоках для выбранного процесса.

Рис.8 Разработка Android-приложений в деталях

(Start Method Profiling) и (Stop Method Profiling) – запускает и останавливает запись информации о выполнении методов приложения в Trace-файл, который после остановки записи открывается в Traceview-окне, отображающем журнал выполнения в виде двух панелей: Timeline Panel – с помощью цветовой гаммы и шкалы времени описывает старт и остановку выполнения метода в потоке, Profile Panel – показывает детали выполнения методов. В случае Android-устройств версии 2.1 и ранее для создания Trace-файла требуется наличие SD-карты памяти, а также разрешения <uses-permission android:name="android.permission. WRITE_EXTERNAL_STORAGE»/> в файле манифеста AndroidManifest. xml Android-приложения. За отображение окна Traceview отвечает инструмент traceview набора SDK Tools.

Рис.9 Разработка Android-приложений в деталях
Рис.10 Разработка Android-приложений в деталях
Рис.11 Разработка Android-приложений в деталях
Рис.12 Разработка Android-приложений в деталях

(Stop Process) – останавливает выбранный процесс.

Рис.13 Разработка Android-приложений в деталях

(Screen Capture) – открывает окно Device Screen Capture, которое позволяет создавать скриншоты экрана Android-устройства.

Рис.14 Разработка Android-приложений в деталях

(Dump View Hierarchy for UI Automator) – обеспечивает тестирование GUI-интерфейса приложения путем получения снимка экрана Tablet-устройства API 16 и выше, предоставляя визуальный интерфейс для проверки GUI-иерархии и просмотра свойств отдельных компонентов GUI-интерфейса. Работа команды обеспечивается инструментом uiautomatorviewer набора Android SDK.

Рис.15 Разработка Android-приложений в деталях

(Capture system wide trace using Android systrace) – для устройства Android 4.1 (API Level 16) помогает анализировать производительность приложения, формируя журнал событий системы и приложения в виде HTML-файла.

Рис.16 Разработка Android-приложений в деталях

(Start OpenGL Trace) – для устройства Android 4.1 (API Level 16) – помогает анализировать выполнение графических OpenGL ES команд.

Рис.17 Разработка Android-приложений в деталях

Меню панели инструментов представления Devices, помимо вышеперечисленных команд, содержит команду Reset adb, обеспечивающую перезапуск adb-инструмента.

Представление Emulator Control дает возможность имитировать для экземпляра Android-эмулятора входящий звонок, SMS-сообщение и локализацию.

Рис.18 Разработка Android-приложений в деталях

Списки Voice: и Data: раздела Telephony Status представления Emulator Control позволяют установить состояние GPRS-соединения:

unregistered – сеть отсутствует.

home – локальная сеть.

roaming – телефон в роуминге.

searching – поиск сети.

denied – только звонки экстренных служб.

Список Speed: раздела Telephony Status представления Emulator Control позволяет установить скорость передачи данных сети:

GSM – 14.4 килобит\сек.

HSCSD – от 14.4 до 43.2 килобит\сек.

GPRS – от 40.0 до 80.0 килобит\сек.

EDGE – от 118.4 до 236.8 килобит\сек.

UMTS – от 128.0 до 1920.0 килобит\сек.

HSDPA – от 348.0 до 14400.0 килобит\сек.

Full – без ограничений.

Список Latency: раздела Telephony Status представления Emulator Control позволяет имитировать уровень задержки сети:

GPRS – от 150 до 550 миллисекунд.

EDGE – от 80 до 400 миллисекунд.

UMTS – от 35 до 200 миллисекунд.

None – задержка отсутствует.

Раздел Telephony Actions представления Emulator Control дает возможность имитировать входящий звонок и SMS-сообщение.

Раздел Location Controls представления Emulator Control обеспечивает определение локализации Android-устройства вручную (вкладка Manual) или с помощью файлов GPS eXchange (вкладка GPX) и Keyhole Markup Language (вкладка KML).

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

LogCat-окно отображает системные сообщения в таблице, содержащей столбцы Level (приоритет сообщения), Time (время создания сообщения), PID (Linux-идентификатор процесса), Application (имя пакета приложения), Tag (идентификатор системного компонента, от которого получено сообщение), Text (текст сообщения). Соответственно панель инструментов представления LogCat обеспечивает фильтрацию отображаемых сообщений по приоритету, тэгу, по идентификатору и имени пакета приложения.

Представление Threads показывает запущенные потоки для выбранного процесса. Для просмотра потоков необходимо в окне Devices выбрать процесс и нажать кнопку Update Threads панели инструментов окна Devices.

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

ID – Dalvik-идентификатор потока – нечетные числа, начиная с 3. Демоны помечаются «*».

TID – Linux-идентификатор потока.

Status – статус потока:

Wait – вызван метод Object. wait ().

Native – выполняет системный код.

Vmwait – ожидает Dalvik-ресурс.

Runnable – может быть запущен.

TimedWait – ожидает в течение определенного количества времени.

utime – общее время выполнения пользовательского кода (единица 10 мс.).

stime – общее время выполнения системного кода (единица 10 мс.).

Name – имя потока.

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

Представление Heap отображает информацию об использовании динамической памяти выбранным процессом. Для просмотра кучи процесса в Heap-окне необходимо в окне Devices выбрать процесс и нажать кнопку Update Heap, затем кнопку Cause GC панели инструментов окна Devices.

Представление Heap содержит три области. Самая верхняя область показывает таблицу структуры кучи процесса со столбцами ID (идентификатор кучи), Heap Size (общее количество памяти кучи), Allocated (количество занятой памяти кучи), Free (количество свободной памяти кучи), %Used (процент занятости кучи) и #Objects (количество объектов кучи), а также имеет кнопку Cause GC обновления информации о куче.

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

Рис.19 Разработка Android-приложений в деталях

Представление Allocation Tracker позволяет в реальном времени отследить объекты, для которых выделяется память. Для начала просмотра журнала выделения памяти для объектов необходимо в окне Devices выбрать процесс и нажать кнопку Start Tracking в окне Allocation Tracker, затем кнопку Get Allocations. В результате верхняя область окна Allocation Tracker покажет список объектов, созданных с момента нажатия кнопки Start Tracking до момента нажатия кнопки Get Allocations, с указанием выделенной памяти, идентификатора потока, класса и метода, а нижняя область – более детальную информацию для выбранного объекта, с указанием класса, метода, файла, строки и признака кода.

Представление Network Statistics позволяет сформировать и проанализировать журнал передачи данных по сети.

Представление System Information отображает диаграммы использования системных ресурсов.

Представление File Explorer показывает файловую систему Android-устройства с возможностью экспорта и импорта файлов, удаления файлов и создания новых папок.

Общая настройка DDMS-инструмента осуществляется с помощью раздела Android | DDMS команды Preferences меню Window, где можно определить номер порта, с которого DDMS-инструмент начинает назначать порт для подсоединения Eclipse-отладчика к экземпляру Dalvik-машины по протоколу JDWP, обновление по умолчанию информации о куче и потоках с указанным интервалом, сохранение HPROF-файла или открытие его в среде Eclipse, время ожидания adb-инструмента, adb-хост для связи с Android-устройством по сети.

Рис.20 Разработка Android-приложений в деталях

Перспективы Hierarchy View и Pixel Perfect

Перспективы Hierarchy View и Pixel Perfect запускают инструмент hierarchyviewer набора SDK Tools и отображают его GUI-интерфейс в виде набора Eclipse-представлений, помогая отладить и оптимизировать GUI-интерфейс Android-приложения.

Перспектива Hierarchy View содержит представления Windows, View Properties, Tree View, Tree Overview, Layout View.

Рис.21 Разработка Android-приложений в деталях

Представление Windows отображает список подключенных Android-устройств, для каждого из которых показывает список Activity-объектов, включающий в себя системные объекты и объект приложения, GUI-интерфейс которых отображается на экране Android-устройства.

Представление Tree View показывает иерархию GUI-компонентов графического интерфейса выбранного Activity-объекта. Для просмотра диаграммы иерархии GUI-интерфейса приложения в представлении Tree View, в окне Windows необходимо выбрать Activity-объект приложения и нажать кнопку Load the view hierarchy into the tree view панели инструментов Windows-окна. В результате в окне Tree View отобразится иерархия View-объектов приложения.

Рис.22 Разработка Android-приложений в деталях

Диаграмму окна Tree View можно увеличивать с помощью нижнего ползунка, фильтровать, используя поле Filter by class or id:. Панель инструментов представления Tree View позволяет сохранить отображаемую диаграмму как PNG-изображение, как PSD-документ, открыть выбранный View-объект в отдельном окне и др.

Представление Tree Overview обеспечивает перемещение по диаграмме окна Tree View с помощью перетаскивания выделенного прямоугольника окна Tree Overview.

Окно Layout View является блочным представлением GUI-интерфейса. При выборе компонента диаграммы окна Tree View его расположение в GUI-интерфейсе подсвечивается красным цветом в окне Layout View. Также при выборе View-объекта диаграммы окна Tree View, выше его узла появляется небольшое окно с реальным изображением GUI-компонента и информацией о количестве View-объектов, представляющих компонент, и о времени отображения компонента в миллисекундах. При этом свойства выбранного View-объекта диаграммы отображаются в представлении View Properties.

Информация о времени визуализации компонентов GUI-интерфейса приложения помогает найти причину его медленной работы.

Перспектива Pixel Perfect содержит представления Windows, Pixel Perfect Tree, Pixel Perfect Loup и Pixel Perfect.

Рис.23 Разработка Android-приложений в деталях

Представление Windows отображает список подключенных Android-устройств без детализации. При выборе устройства и нажатии кнопки Inspect a screenshot in the pixel perfect view панели инструментов окна Windows снимок экрана выбранного Android-устройства открывается в представлениях Pixel Perfect Loup и Pixel Perfect. В представлении Pixel Perfect Tree отображается дерево View-объектов GUI-интерфейса приложения, формирующего снимок экрана. При выборе View-объекта в окне Pixel Perfect Tree, его расположение обозначается красной рамкой в окне Pixel Perfect.

Рис.24 Разработка Android-приложений в деталях

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

Представление Pixel Perfect также содержит перекрестье, расположение которого относительно снимка экрана совпадает с расположением перекрестья окна Pixel Perfect Loup и наоборот. Перекрестье окна Pixel Perfect можно передвигать мышкой, а панель инструментов окна Pixel Perfect дает возможность сохранить снимок экрана как PNG-изображение, а также загрузить поверх снимка экрана другое изображение, представляющее макет GUI-интерфейса приложения, при этом прозрачность загруженного изображения можно регулировать с помощью слайдера Overlay: окна Pixel Perfect Loup.

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

Wizard мастера ADT плагина

Мастер Android Project

Для создания Android-приложения откроем среду Eclipse с инсталлированным ADT-плагином и в меню File выберем команду New | Other | Android | Android Application Project и нажмем кнопку Next.

Введем имя приложения, отображаемое в устройстве, имя проекта, имя пакета. Выберем минимальную версию SDK, предпочтительную версию SDK, версию SDK относительно которой приложение будет компилироваться, тему приложения и нажмем кнопку Next. Оставим отмеченными флажки Create custom launcher icon и Create activity и нажмем кнопку Next. Определим значок приложения и нажмем кнопку Next. Выберем создаваемый Activity-компонент и нажмем кнопку Next:

Blank Activity – экран с надписью «Hello world!».

Blank Activity with Fragment – экран с фрагментом с надписью «Hello world!».

Empty Activity – все равно экран с надписью «Hello world!».

Fullscreen Activity – экран, нажатие на который вызывает переключение между обычным и полноэкранным режимами.

Master/Detail Flow – экран с боковой панелью меню.

Navigation Drawer Activity – экран с двумя фрагментами, панелью навигации и контентом.

Tabbed Activity – экран с вкладками и типом навигации: с помощью жеста Swipe Views (ViewPager), с помощью панели закладок Action Bar Tabs (with ViewPager), с помощью выпадающего списка Action Bar Spinner.

Определим имя Activity-компонента, имя компоновочного файла res/layout/activity_main. xml и нажмем кнопку Finish – в результате будет сгенерирована основа проекта Android-приложения.

Модель программирования Android-приложений основывается не на конструкции с главным классом приложения, имеющим точку входа – статический метод main (), а является компонентной моделью. Android-приложение может состоять из одного или нескольких компонентов, объявленных в файле манифеста приложения AndroidManifest. xml и относящихся к четырем типам:

Activity – расширение класса android.app.Activity, обеспечивающее создание одного окна на экране Android-устройства с формированием в нем GUI-интерфейса.

Service – расширение класса android.app.Service, обеспечивающее выполнение операций без предоставления GUI-интерфейса.

BroadcastReceiver – расширение класса android.content.BroadcastReceiver, отвечающее за прослушивание широковещательных сообщений с запуском других компонентов Android-приложения или выводом уведомлений пользователю в строку статуса.

ContentProvider – расширение класса android.content.ContentProvider, обеспечивающее хранение и извлечение общих данных.

Существующая версия ADT-плагина при создании Android-проекта предлагает формирование основы только Activity-компонента.

Рис.25 Разработка Android-приложений в деталях

Основа самого простого Android-проекта, сгенерированная средой Eclipse, состоит из следующих узлов окна Package Explorer:

src – содержит пакет класса, расширяющего класс android.app.Activity.

gen – содержит R-класс, автоматически генерируемый инструментом aapt набора SDK Platform-tools из существующих ресурсов проекта для программного к ним доступа, а также класс BuildConfig, содержащий константу DEBUG, которая со значением true определяет запуск приложения в режиме отладки. При экспорте подписанного приложения значение константы DEBUG автоматически становится false.

Android х.х – библиотека Android-платформы, на основе которой создается приложение.

Android Private Libraries – дополнительная библиотека android-support, обеспечивающая обратную совместимость с предыдущими версиями Android API.

аssets – каталог предназначен для хранения данных приложения, доступ к которым осуществляется с помощью класса android.content.res.AssetManager. Отличие данного каталога от каталога res заключается в том, что он не должен иметь строго преопределенной структуры, которая для каталога res обеспечивает автоматическую генерацию R-класса.

bin – каталог сборки приложения.

libs – содержит JAR-файл библиотеки android-support.

res – содержит ресурсы приложения, доступ к которым осуществляется с помощью R-класса, и имеет строго предопределенную структуру:

animator – XML-файлы для создания объектов анимации.

color – XML-файлы, определяющие цветовую гамму View-объектов.

drawable – PNG, JPEG, GIF, 9-PNG и XML-файлы, формирующие графику.

layout – XML-файлы для формирования структуры GUI-интерфейса Activity-объектов.

menu – XML-файлы, описывающие меню приложения.

raw – каталог предназначен для хранения таких данных приложения как файлов в формате MP3 или Ogg.

values – XML-файлы для хранения строк, стилей, чисел, размеров и др., используемых приложением, в виде пар имя-значение.

xml – различные конфигурационные и ресурсные XML-файлы.

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

ic_launcher-web.png – значок приложения для магазина Google Play Store.

proguard.cfg – файл инструмента proguard набора SDK Tools, обеспечивающего сокращение, оптимизацию и обфускацию кода.

project.properties – содержит установки проекта.

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

Для создания Android-библиотеки нужно в окне Package Explorer нажать правой кнопкой мышки на узле Android-проекта и в контекстном меню выбрать команду Properties. Далее в разделе Android отметить флажок Is Library и нажать кнопку OK.

Рис.26 Разработка Android-приложений в деталях

Для использования созданной Android-библиотеки другим Android-проектом необходимо в окне Package Explorer нажать правой кнопкой мышки на узле Android-проекта и в контекстном меню выбрать команду Properties. Далее в разделе Android нажать кнопку Add и выбрать Android-библиотеку.

В результате в окне Package Explorer в Android-проект добавится узел Library Projects, содержащий временный JAR-файл Android-библиотеки, код и ресурсы которой можно использовать в проекте.

Запуск Android-приложения из среды Eclipse

Перед тем как воспользоваться командой Run As | Android Application контекстного меню окна Package Explorer для тестирования Android-приложения в реальной среде выполнения, необходимо либо подсоединить к компьютеру реальное Android-устройство, либо создать экземпляр Android-эмулятора.

Для тестирования Android-приложения в реальном Android-устройстве нужно зайти в настройки устройства и открыть раздел Приложения. В разделе Приложения отметить флажок Неизвестные источники, затем открыть раздел Разработка и отметить флажок Отладка USB. После чего инсталлировать драйвер устройства на компьютер и подсоединить устройство к компьютеру. В результате среда Eclipse произведет опознание устройства, которое отобразится в окне Devices (команда Window | Show View | Android | Devices).

Для запуска Android-приложения выберем команду Run As | Run Configurations контекстного меню окна Package Explorer и в разделе приложения во вкладке Target отметим флажок Always prompt to pick device. Нажмем кнопку Run, в окне Android Device Chooser выберем устройство и нажмем кнопку OK. В результате Android-приложение будет инсталлировано и запущено в реальном Android-устройстве. Нажав кнопку Screen Capture панели инструментов окна Devices можно сделать снимок экрана реального Android-устройства.

Рис.27 Разработка Android-приложений в деталях
Рис.28 Разработка Android-приложений в деталях

Для тестирования Android-приложения в Android-эмуляторе нужно запустить приложение AVD Manager и для создания виртуального Android-устройства во вкладке Android Virtual Devices нажать кнопку Create:

В поле AVD Name: ввести имя устройства.

В списке Device: выбрать тип устройства.

В списке Target: выбрать версию Android-платформы устройства.

В списке CPU/ABI: выбрать тип процессора.

В списке Skin: выбрать оболочку эмулятора – установка аппаратной клавиатуры и отображение кнопок устройства в оболочке Android-эмулятора.

В списках Front Camera: и Back Camera: определить камеры устройства.

В разделе Memory Options: определить размер оперативной памяти и максимальный размер кучи, выделяемый для работы одного Android-приложения.

В разделах Internal Storage: и SD Card: определить размер внутренней памяти и тип/размер карты памяти устройства. Поле File: раздела SD Card: предназначено для определения образа карты памяти, созданного с использованием инструмента mksdcard набора SDK Tools.

В разделе Emulation Options: с помощью флажка Snapshot определить ускорение повторного запуска виртуального устройства, так как его состояние будет сохраняться при закрытии, с помощью флажка Use Host CPU определить ускорение работы эмулятора, так как он будет использовать CPU компьютера.

И нажать кнопку OK. В результате в окне Android Virtual Device Manager появится созданное виртуальное устройство, которое нужно запустить кнопкой Start.

Страницы: 1234 »»

Читать бесплатно другие книги:

В этой книге авторы специально для вас, уважаемые читатели, изложили собственный опыт и опыт несколь...
Говорят, Сны Богов порождают чудовищ «реальности». Однажды СтранникЪ-Бес-Пробуддень Киргудуин Коровё...
Когда вы освоите этот процесс, то, скорее всего, жить без него уже не сможете. Не сможете создавать ...
Сенсация!Первое русское издание личного дневника Вольфа Мессинга. Сокровенные записи великого экстра...
Бросив вызов сильным мира сего, Тимур рискует всем: своей карьерой, спокойным существованием, любимо...
Эгоцентрики, все помыслы которых сосредоточены только на них самих, – вот кто такие нарциссы. Со сто...