Аникин Д.А. Магистрант

 Атырауский государственный университет имени Х.Досмухамедова

 

ANDROID- ПЛАТФОРМА С ОТКРЫТЫМ  ИСХОДНЫМ  КОДОМ  ДЛЯ СПЕЦИАЛИЗИРОВАННЫХ УСТРОЙСТВ

 

Ключевые слова: Android, Linux, WebKit, SQLite, эмулятор Android

Платформа Android

По широте возможностей платформа Android не уступает операционным системам настольных ПК. Это многоуровневая среда на основе ядра Linux с богатыми функциональными возможностями. В подсистему пользовательского интерфейса входят [1]:

·  Окна

·  Представления

·  Виджеты для отображения общих элементов, таких как редактируемые поля, списки и развертывающиеся списки.

Android содержит встраиваемый браузер на базе WebKit - того же механизма с открытым исходным кодом, который лежит в основе браузера Safari мобильного телефона iPhone.

Android обладает широким спектром возможностей подключения, охватывающим Wi-Fi, Bluetooth и протоколы передачи данных через сотовую сеть (GPRS, EDGE, 3G и др.). Популярным приемом в приложениях для Android является ссылка на Google Maps для отображения адреса непосредственно в приложении. В стек программного обеспечения Android входит и поддержка сервисов, основанных на определении местоположения (например, GPS), и акселерометров, хотя не все устройства на этой платформе оснащены необходимым оборудованием. Есть также поддержка видеокамеры.

Исторически двумя областями, где мобильные приложения отставали от своих настольных собратьев, были графика/мультимедиа и способы хранения данных. Android решает проблему графики благодаря встроенной поддержке 2-D и 3-D графики, включая библиотеку OpenGL. Задача хранения данных упрощается благодаря наличию в платформе Android популярной базы данных с открытым исходным кодом SQLite. На рисунке 1 показана упрощенная схема уровней программного обеспечения Android [2].

Рисунок 1. Уровни программного обеспечения Android

 

Архитектура приложений

Как уже говорилось, Android работает поверх ядра Linux. Android-приложения пишутся на языке программирования Java и выполняются в виртуальной машине (VM). Важно отметить, что виртуальная машина – это не JVM, как можно было бы ожидать, а открытая технология Dalvik Virtual Machine. Каждое приложение Android запускается внутри экземпляра Dalvik VM, который, в свою очередь заключен в пределах управляемого ядром Linux процесса, как показано на рисунке 2.

Рисунок 2. Dalvik VM

Android-приложение содержит элементы одного или нескольких перечисленных ниже типов:

Действия (Activities)

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

Сервисы (Services)

Сервисы применяются для приложений, которые работают в течение длительного времени, таких как сетевой монитор или проверка обновлений.

Источники данных (Content providers)

Источник данных можно представить себе как сервер баз данных. Его задача - управление доступом к хранящимся данным, таким как база данных SQLite. Если приложение совсем простое, источник данных создавать не обязательно. Если вы пишете более сложное приложение или приложение, в котором к данным обращается несколько действий или приложений, источник данных служит средством организации доступа к вашей информации.

Приемники (Broadcast receivers)

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

Приложение для Android развертывается на устройстве вместе с файлом AndroidManifest.xml. Этот файл содержит необходимую информацию о конфигурации, которая позволяет правильно установить приложение на устройстве. Он включает также необходимые имена классов и типы событий, которые может обрабатывать приложение, и разрешения, требуемые для его работы. Так, если приложению нужен доступ к сети – например, чтобы загрузить файл, - соответствующее разрешение должно быть явно указано в файле манифеста. Это конкретное разрешение могут иметь многие приложения. Такая защита путем декларирования помогает уменьшить вероятность повреждения устройства по вине некорректно написанного приложения [3].

В следующем разделе рассматривается среда разработки, необходимая для создания Android-приложений.

Необходимые инструменты

Самый простой способ приступить к разработке приложений для Android - это загрузить SDK Android и Eclipse IDE. Разработку Android-приложений можно вести на платформах Microsoft® Windows®, Mac OS X или Linux.

В этой статье предполагается, что вы используете Eclipse IDE и плагин Android Developer Tools для Eclipse. Android-приложения пишутся на языке Java, но компилируются и выполняются в Dalvik VM (не в виртуальной машине Java). Кодирование на языке Java в рамках Eclipse – интуитивно понятный процесс; Eclipse предоставляет богатую среду Java, включая контекстно-зависимую справку и подсказки к коду. Когда ваш Java-код будет безошибочно скомпилирован, Android Developer Tools сам позаботится о том, чтобы приложение был надлежащим образом упаковано, в том числе снабдит его файлом AndroidManifest.xml.

Android-приложение можно написать и без Eclipse и плагина Android Developer Tools, но для этого нужно хорошо разбираться в Android SDK.

Android SDK распространяется в виде файла ZIP, который распаковывается в папку на жестком диске. Так как вышло несколько обновлений SDK, мы рекомендуем вам поддерживать среду разработки в порядке, чтобы можно было легко переключаться между разными установками SDK. В SDK входят [4]:

android.jar

Файл архива Java, содержащий все классы SDK Android, необходимые для создания приложений.

documention.html и каталог docs

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

Каталог с примерами

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

Каталог инструментов

Содержит все инструменты командной строки для создания Android-приложений. Наиболее часто используемый и полезный инструмент – это утилита adb (Android Debug Bridge).

usb_driver

Каталог, содержащий все необходимые драйверы для подключения среды разработки к поддерживающим Android устройствам, таким, как G1 или разблокированный телефон для разработки Android Dev 1. Эти файлы необходимы только разработчикам, использующим платформу Windows.

Android-приложения могут работать как на реальном устройстве, так и на эмуляторе Android, который прилагается к SDK Android. На рисунке 3 показан главный экран эмулятора Android.

Рисунок 3. Эмулятор Android

 

 

Отладочный мост Android

Утилита adb поддерживает несколько дополнительных аргументов командной строки, которые обеспечивают мощные функции, такие как копирование файлов в устройство и из него. Аргумент оболочки командной строки позволяет подключаться к самому телефону и подавать простые команды оболочки. Рисунок 4 иллюстрирует команду оболочки adb, подаваемую реальному устройству, подключенному к ноутбуку под Windows с помощью кабеля USB.

Рисунок 4. Применение команды оболочки adb

В рамках этой консоли можно:

·  Отображать конфигурацию сети с несколькими сетевыми соединениями. Обратите внимание на наличие нескольких сетевых соединений:

o          lo - это локальное (петлевое) соединение.

o          tiwlan0 - это соединение WiFi с адресом, предоставленным локальным сервером DHCP.

·  Отображать значение переменной среды PATH.

·  Выполнять команду su, чтобы стать суперпользователем.

·  Переходить в каталог /data/app, где хранятся пользовательские приложения.

·  Печатать листинг каталогов, в котором вы увидите одно приложение. Файлы приложений Android на самом деле представляют собой архивы, которые можно просматривать с помощью WinZip или эквивалентной программы. Эти файлы имеют расширение apk.

·  Подавать команду ping, чтобы проверить доступность Google.com.

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

 

Список использованных источников

1.Голощапов А. Google Android. Программирование для мобильных устройств.  СПб.: БХВПетербург, 2011. – 438 с.

2. Дейтел Х.М., Дейтел П.Дж., Сантри С.И. – Технологии программирования на Java 2: Книга 3. Корпоративные системы, сервлеты, JSP, webсервисы. – Пер. с англ. – М.: ООО «БиномПресс», 2003. – 672 с.

3. Перри Б. Java сервлеты и JSP: сборник рецептов, 2е изд. – Пер. с англ. – М.: КУДИЦПРЕСС, 2006. 768 с.

4. Шилдт Г.Ю Холмс Д. Искусство программирования на Java. – Пер. с англ. – М.: Издательский дом «Вильямс», 2005.  336 с.