Введение в Android
Прежде чем погрузиться в дебри плагина Eclipse и разработки Android-приложений, рассмотрим архитектуру Android и некоторые ключевые термины, которые помогут при изучения руководства и позднее, когда вы начнете создавать Android-приложения самостоятельно.
Для разработки Android-приложений в среде Eclipse требуется знание среды Eclipse и платформы Android. В разработке Android-приложения с помощью плагина Eclipse поможет знание приведенных ниже терминов.
- Open Handset Alliance
- Возглавляемый Google альянс, состоящий из многочисленных государственных и частных организаций.
- Android
- Основной продукт Open Handset Alliance. Операционная среда с открытым исходным кодом, предназначенная для мобильных устройств.
- Эмулятор
- Инструмент программирования, представляющий другую систему – часто это среда, работающая на персональном компьютере (IBM®, Mac, Linux®), которая эмулирует другую среду, такую как мобильное вычислительное устройство.
- Linux
- Ядро операционной системы с открытым исходным кодом, лежащее в основе многих вычислительных платформ, включая серверы, настольные ПК, сетевое оборудование и мобильные вычислительные устройства. Android работает поверх ядра Linux.
- Виртуальная машина Dalvik
- ВМ Dalvik – это входящая в состав Android операционная среда, интерпретирующая код приложений во время его исполнения. ВМ Dalvik аналогична ВМ Java, но несовместима с ней.
Основы Android и необходимые инструменты
Android - это операционная система с открытым исходным кодом, предназначенная для мобильных платформ. На момент написания статьи это была чисто программная платформа, не имеющая никаких общедоступных устройств.
Платформу Android удобнее всего описывать в виде стека, так как это набор компонентов, в который входят:
- Операционная система на базе ядра Linux
- Среда программирования Java
- Цепочка инструментов, включая компилятор, компилятор ресурсов, отладчик и эмулятор
- ВМ Dalvik для исполнения приложений
Теперь, когда мы кратко описали архитектуру платформы Android, давайте взглянем на некоторые важные характеристики платформы с точки зрения рынка.
Компьютерная пресса пристально следит за технологией Android с момента ее анонсирования и выпуска первого SDK. Android является важной платформой как минимум по двум разным, но убедительным причинам.
Android служит локомотивом рынка. Сектор мобильных приложений густо населен, и на него трудно проникнуть со стороны. Google располагает достаточными ресурсами и поддержкой, чтобы произвести переворот на любом рынке, куда обратится взор компании. Выход Google на рынок мобильных устройств готовился в течение нескольких лет. Android была отдельной, независимой компанией, которую Google приобрела специально для этой цели. Все, что делает Google, привлекает внимание, а хорошая реклама полезна для внедрения новой платформы. Это первый довод в пользу Android.
Второй причиной важности Android является ее модель приложений. Android-программы - не монолитные приложения со множеством меню, для работы с которыми требуется много манипулировать и щелкать кнопками мыши. Конечно, есть и меню, и кнопки, но в архитектуру Android введен новаторский элемент, называемый интентом.
Интент - это конструкция, которая позволяет приложению выдавать запрос, наподобие знака "требуется помощь". Он может выглядеть следующим образом:
"Требуется: приложение, которое поможет мне разыскать определенного человека", или "Требуется: приложение, которое поможет мне вывести это изображение", или "Требуется: приложение, которое произведет географический поиск".
Действуя согласованно и дополняя друг друга, приложения могут регистрироваться в качестве заинтересованных средств обработки определенных запросов, или интентов. Пользуясь парадигмой рекламных объявлений, это можно проиллюстрировать следующим образом:
"Предлагаю услуги: приложение приведет в порядок контактную информацию", или "Предлагаю услуги: приложение произведет географический поиск".
Это примеры интент-фильтров (IntentFilter), которые рассматриваются ниже.
Приложения объявляют о своей готовности выполнить подобные операции посредством конструкции, называемой IntentFilter.
IntentFilter регистрируется на этапе исполнения или указывается в файле AndroidManifest.xml.
В листинге 1 представлен фрагмент Android-приложения, который отвечает на входящие сообщения SMS:
Листинг 1 Android-приложение, отвечающее на входящие SMS
<receiver class=".MySMSMailBox" >
<intent-filter>
<action android:value="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
|
После этого краткого введения в интенты и IntentFilter рассмотрим в следующем разделе четыре основных типа Android-приложений.