Аникин
Д.А. Магистрант
Атырауский
государственный университет имени Х.Досмухамедова
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 с.