Андроид как среда разработки

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

Постановка задачи.

Основной целью данной исследовательской работы является анализ основ программирования под Android OS.

В процессе исследования необходимо решить следующие задачи:

  • проанализировать особенности Android OS;
  • раскрытие особенностей Android OS;
  • Краткая классификация средств разработки под Android OS;

Развитие Android OS

По данным 2014года, в 68% проданных смартфонов использовалась Android OS. Всего несколько лет понадобилось этой инновационной мобильной платформе для того, чтобы занять место лидера на рынке смартфонов и планшетов.

Изначально, в 2005 году компания Android Inc. являлась обычным стартап-проектом и занималась разработкой программного обеспечения для мобильных телефонов. Известный уже в то время гигант компания Google, уже в июле того же года решила купить данный проект, заприметив в нем большие возможности и, в частности, возможность создать инновационную мобильную платформу. Так, стартап-проект попал под крыло компании Google и началась работа над созданием новой мобильной ОС.

Задача состояла в следующем: Создание мобильной операционной системы с открытым исходным кодом, а это в свою очередь очень важный фактор для успешной конкуренции. Система создавалась на базе ядра Linux. В ноябре 2007 года, аккурат после появление первого iPhone, новая мобильная платформа была представлена на суд общественности. Название Android осталось от имени стартапа. Уже через несколько дней на серверах появилась бета-версия Android SDK, которая позволяла сторонним разработчикам создавать свой софт. Для стимуляции этого процесса был даже объявлен конкурс среди разработчиков с призовым фондом в 5 млн. долларов.

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

Основными партнерами стали такие компании, как Samsung, HTC, Intel, Motorola, LG, Nvidia и другими. Во главе альянса находилась компания Google и конечно, маркетинг этой компании является главным фактором, который позволил за довольно короткий промежуток времени сделать несколько важных шагов в развитие платформы. Однако, стоит упомянуть и удобство самой ОС Android: многозадачность, поддержка multi-touch, объемной графики, свой удобный браузер и полная открытость для любых манипуляций, позволяющая "собирать" систему на подобии конструктора, изменяя даже стандартные приложения. Все это позволило отлично конкурировать с главным соперником в лице Apple, где пользователь сильно ограничивался в своих возможностях.

Особенности ОС Андроид

Android динамично развивающаяся платформа. Именно Android поддерживает огромный интерес разработчиков к Java. Мотивируя начинающих программистов к изучению языка.

Ниже будут представлены основные особенности рассматриваемой ОС:

-Открытый исходный код;

- Сервисы Google и синхронизация;

-Android API практически совпадает с Java API. Но, Android поддерживает не все классы, которые доступны в J2SE SDK. Он поддерживает только те, которые являются критичными.

-Android не использует виртуальную машину Java для исполнения файлов классов. Android использует виртуальную машину Dalvik, которая не является JVM и не оперирует байт-кодом Java.

- Dalvik - файлы классов компилируются в формат Dalvik Executable (DEX). После преобразования в DEX-формат, файлы классов вместе с остальными ресурсами обьединяются в Android Package (APK) для установки на различные гаджеты.

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

Вот некоторые из них:

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

Media Framework - библиотеки, реализованные на базе PacketVideo OpenCORE. С их помощью система поддерживает вывод статических изображений и может осуществляет запись, воспроизведение аудио и видео данных. Поддерживаются многие популярные форматы, такие как : MPEG4, H.264, MP3, AAC, AMR, JPG и PNG.

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

3D библиотеки - используются для высокооптимизированной отрисовки 3D-графики, при возможности используют аппаратное ускорение. Их реализации строятся на основе API OpenGL ES 1.0.

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

LibWebCore - библиотеки известного шустрого браузерного движка WebKit, используемого также в десктопных браузерах Google Chrome и Apple Safari.

SGL (Skia Graphics Engine) - открытый движок для работы с 2D-графикой. Графическая библиотека является продуктом Google и часто используется в других их программах.

SSL - библиотеки для поддержки одноименного криптографического протокола.

Libc - стандартная библиотека языка C, а именно её BSD реализация, настроенная для работы на устройствах на базе Linux. Носит название Bionic.

На этом же уровне располагается Android Runtime - среда выполнения. Ключевыми её составляющими являются набор библиотек ядра и виртуальная машина Dalvik. Библиотеки обеспечивают большую часть низкоуровневой функциональности, доступной библиотекам ядра языка Java. Каждое приложение в ОС Android запускается в собственном экземпляре виртуальной машины Dalvik. Таким образом, все работающие процессы изолированы от операционной системы и друг от друга. И вообще, архитектура Android Runtime такова, что работа программ осуществляется строго в рамках окружения виртуальной машины. Благодаря этому осуществляется защита ядра операционной системы от возможного вреда со стороны других её составляющих. Поэтому код с ошибками или вредоносное ПО не смогут испортить Android и устройство на его базе, когда сработают. Такая защитная функция, наряду с выполнением программного кода, является одной из ключевых для надстройки Android Runtime.

Краткая классификация средств разработки Android OS

Android Studio - полностью интегрированная среда разработки приложений, выпущенная компанией Google , для разработки под ОС Android. Продукт оснащает разработчиков новыми инструментами для создания приложений, а также предоставить альтернативу Eclipse, являющейся в настоящее время наиболее популярной средой разработки.

Android Development Tools(ADT) - плагин для Eclipse IDE, позволяющий разрабатывать приложения под ОС Android.

Android SDK содержит множество инструментов и утилит для создания и тестирования приложений. Большинство из них доступно прямо внутри среды разработки Eclipse из панели DDMS.

DDMS (Dalvik Debug Monitoring Service)

DDMS- служба отслеживания процессов и отладки в Dalvik. Позволяет отслеживать и контролировать виртуальные машины Dalvik. Является мощным отладочным инструментом, позволяет мониторить активные процессы, останавливать рабочие потоки, изучать файловую систему подключенного устройства.

AAPT (Android Asset Packaging Tool)

AAPT - инструмент для создания пакетов. Создает файлы пакетов для Android OS.

ADB (Android Debug Bridge)

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

Draw 9-patch

Утилита работает с png-файлами и сохраняет в формате .9.png

Hierarchy Viewer

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

TraceView

Инструмент для графического анализа. С его помощью можно просматривать трассировочные записи, принадлежащие вашему приложению.

MkSDCard

Утилита командной строки создает образ диска для SD-карты (FAT32). Может использоваться эмулятором для имитации флеш-накопителя. После создания образа карточки ее нужно указать в настройках эмулятора, чтобы у вас была возможность работать с ней.

Заключение.

На основании работы можно сказать что, поставленная задача выполнена. Автор, рассмотрел ключевые особенности Android OS. Архитектуру операционной системы и рассмотрел краткую классификацию средств разработки для данной ОС. Проанализировав ключевые особенности системы, становиться ясно что, Андроид на данный момент является наиболее перспективной средой разработки с удобным инструментарием разработчика. Темпы развития операционной системы превосходят все возможные прогнозы.

Год: 2015
Город: Караганда
Категория: Экономика