Главная » Разработка для Android » Знакомство с фреймворком разработчика

0

«Рекламная кампания» закончена, теперь можно приступать  к рассмо- трению процесса разработки приложений для Android. Язык программиро- вания приложений для платформы Android  — Java. Однако  они исполня- ются не на классической Java VM, а на специальной виртуальной машине Dalvik. Чуть ниже в данной главе будет представлен фреймворк.

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

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

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

Что в комплекте

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

• API-платформы  Android. Ядро среды разработки  — библиотеки API, которые обеспечивают программисту доступ к стеку платформы Android. Эти же самые библиотеки  используются компанией  Google для написания встроенных в Android приложений.

• Инструменты разработки. Вы можете преобразовать исходный код в исполняемые приложения для Android. В состав среды разработки входят инструменты,  которые позволяют  компилировать и отлажи- вать приложения. Более  подробную  информацию об инструментах разработки  читайте в главе 2.

• Менеджер виртуальных устройств и эмулятор. Эмулятор Android — это полностью интерактивный эмулятор устройств, включающий несколько  альтернативных вариантов  интерфейса. Эмулятор запу- скается  внутри  виртуального устройства  Android,  которое модели- рует аппаратную  конфигурацию определенной  модели  телефона. С помощью эмулятора вы можете увидеть, как приложения будут выглядеть и функционировать на реальном устройстве под управлени- ем Android. Все программы  здесь запускаются внутри  виртуальной машины  Dalvik, программный эмулятор  создает для них идеальное окружение,  которое не зависит  от особенностей  той или иной аппа- ратной начинки и представляет собой лучшую независимую среду для тестирования, чем любая конкретная аппаратная реализация.

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

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

• Онлайн-поддержка. Группы Google по адресу http://developer.android.com/ resources/community-groups.html — это форумы разработчиков, на которых часто появляются сообщения от команд инженеров и специалистов компании Google. Ресурс StackOverflow по адресу http://www.stackoverflow.com/ questions/tagged/android также стал популярным — здесь публикуются вопросы, посвященные Android.

Для тех, кто использует  популярную среду разработки  Eclipse, Android выпустил  специальный плагин, который упрощает процесс создания  про- екта и тесно связывает Eclipse с эмулятором и отладочными инструментами Android. Информация о плагине ADT приводится в главе 2.

Программный стек Android

Программный стек Android состоит из элементов, показанных на рис. 1.1. Их подробное  описание  приводится ниже. Упрощенно  их можно пред- ставить как комбинацию  ядра Linux и набора библиотек  C/C++, которые доступны в фреймворке приложения. Последний обеспечивает управление и функционирование рабочей среды и приложений.

• Ядро Linux. Работу системных служб (драйверы устройств, управле- ние процессами и памятью, питанием, безопасность, сетевые службы) обеспечивает  ядро Linux версии 2.6. Оно также отвечает за уровень абстракции между аппаратной начинкой и остальной частью про- граммного стека.

• Библиотеки. Android включает разнообразные системные библиотеки C/C++ (например, SSL и libc), которые работают поверх ядра. Среди них можно выделить:

§ библиотеку  для работы с мультимедиа,  которая обеспечивает про- игрывание  аудио- и видеофайлов;

§ менеджер интерфейса, отвечающий  за управление  отображением;

§ графические библиотеки, такие как SQL и OpenGL,  для работы с 2D- и 3D-графикой;

§ библиотеку  SQLite,  обеспечивающую работу встроенных  баз дан- ных;

§ SSL и WebKit для работы встроенного веб-браузера и обеспечения интернет-безопасности.

• Рабочая среда Android. Особенным  телефон на платформе Android делает не столько мобильная версия ОС Linux, сколько рабочая среда Android. Она включает в себя библиотеки ядра и виртуальную машину Dalvik и обеспечивает функционирование программ, а вместе с биб- лиотеками формирует основу фреймворка приложений.

§ Библиотеки ядра. Хотя приложения для Android  разрабатыва- ются на языке  Java, Dalvik  — это не виртуальная Java-машина. Библиотеки ядра Android обеспечивают основную функциональ- ность библиотек ядра Java, а также присущий Android уникальный функционал.

§ Виртуальная машина Dalvik. Dalvik — это виртуальная машина на основе регистров, которая  оптимизирована таким образом, чтобы на устройстве можно было запускать несколько приложений одно- временно.  В ее основе ядро Linux, которое  обеспечивает  работу потоков и низкоуровневое управление  памятью.

§ Фреймворк приложений. Фреймворк включает набор классов, кото- рые используются для разработки  приложений. Он также предо- ставляет  обобщенные абстрактные  классы для доступа к оборудо- ванию и обеспечивает управление пользовательским интерфейсом и ресурсами приложения.

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

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии