Организация процесса компиляции и запуска проектов на платформе Android

Автор работы: Пользователь скрыл имя, 13 Сентября 2013 в 15:56, дипломная работа

Описание работы

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

Содержание работы

1. Цель дипломной работы……………………………………….……..3
2. Актуальность задачи………………………………………………….4
3. Операционная система Android……………………………………..6
3.1. История Android…………………………………………………6
3.2. Изучение платформы Android…………………………………..9
3.3. Структура проекта Android……………………………………11
4. Процесс компиляции и запуска проекта…………………………….15
5. Графическая среда разработки………………………………………18
6. Полученные результаты и дальнейшее развитие…………………....19
7. Литература…………………………………………………………….25

Файлы: 1 файл

Дипломная.doc

— 275.50 Кб (Скачать файл)

Российско-Армянский (Славянский) Университет

 

Факультет Прикладной Математики и Информатики

Кафедра Системного Программирования

 

 

ДИПЛОМНАЯ РАБОТА

 

Тема:

Организация процесса компиляции

и запуска проектов на платформе Android

Թեմա`

Android հարթակի  վրա պրոյեկտների կոմպիլյացիայի և մեկնարկի կազմակերպում

Студент 4 курса:

Тоноян Арташес Мушегович

Руководитель:

Гишян Сурен  Арменович

Содержание

  1. Цель дипломной работы……………………………………….……..3
  2. Актуальность задачи………………………………………………….4
  3. Операционная система Android……………………………………..6
    1. История Android…………………………………………………6
    2. Изучение платформы Android…………………………………..9
    3. Структура проекта Android……………………………………11
  4. Процесс компиляции и запуска проекта…………………………….15
  5. Графическая среда разработки………………………………………18
  6. Полученные результаты и дальнейшее развитие…………………....19
  7. Литература…………………………………………………………….25

 

 

 

 

 

 

 

 

 

 

  1. Цель дипломной работы

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Актуальность задачи

 

Компьютеры становятся все более «персональными», возможности доступа к ним в любое время все время расширяются. В авангарде этого процесса находятся мобильные устройства, которые трансформируются в компьютерные платформы. Мобильные устройства стали выполнять такой широкий спектр компьютерных задач широкого профиля, что именно такие устройства могут стать новым поколением персональных компьютеров. Кроме того, некоторые производители традиционных моделей ПК – в частности ASUS, HP, DELL – уже делают устройства, многие конструктивные параметры которых основаны на операционной системе Android. Фронт, на котором разворачивается борьба между операционными системами, вычислительными платформами, языками программирования и средами разработки, смещается в сторону мобильных устройств.

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

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

На сегодняшний день в мире ежедневно  продается самое большое количество мобильных устройств с операционной системой Google Android. Из-за небольших размеров, удобного инструментария и производительности они вполне могут заменить «обычному» пользователю персональный компьютер.  

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

 

 

 

 

 

 

 

  1. Операционная система Android

    1. История Android

Как Android появился в сфере операционных систем для мобильных устройств? В мобильных телефонах используется целый ряд операционных систем — например, Symbian OS, Microsoft Windows Mobile, Mobile Linux, iPhone OS (на базе Mac OS X), Moblin (от Intel) и большое количество других патентованных операционных систем. Но пока еще ни одна из ОС не стала стандартом де-факто. Современные интерфейсы прикладного программирования (API) и среды для разработки мобильных приложений имеют слишком много ограничений и, кажется, сильно уступают аналогичным фреймворкам для локальных компьютеров. И вот в этой сфере появляется Google. Платформа Android выглядит многообещающе — для нее характерны и открытость, и доступность, ее код распространяется свободно, а фреймворк разработки отличается высоким техническим уровнем.

Google приобрела стартап  Android Inc. в 2005 году, чтобы приступить к разработке платформы Android. Ведущими фигурами в Android Inc. были Энди Рубин (Andy Rubin), Рич Майнер (Rich Miner), Ник Сиэрс (Nick Sears) и Крис Уайт (Chris White).

В конце 2007 года группа лидирующих компаний, работающих в области мобильной связи, сплотилась вокруг платформы Android, сформировав Open Handset Alliance.Некоторыми из наиболее известных членов альянса являются:

 

  •     Sprint Nextel;
  •  T-Mobile;
  •  Motorola;
  •  Samsung;
  •  Sony Ericsson;
  •  Toshiba;
  •  Vodafone;
  •  Google;
  •  Intel;
  •  Texas Instruments.

Одной из целей альянса является ускоренное внедрение инноваций и улучшение отклика на нужды потребителя — и первым значительным результатом работы альянса стала платформа Android. Она была разработана для удовлетворения потребностей операторов мобильной связи, производителей мобильных устройств и разработчиков программ. Члены альянса приняли решение предоставить значительный объем интеллектуальной собственности по свободной лицензии Apache, версия 2.0

Сначала инструментарий Android SDK был  выпущен в ноябре 2007 года как предварительный  вариант. В сентябре 2008 компания T-Mobile анонсировала выход T-Mobile G1, первого смартфона, работающего на платформе Android. Всего через несколько дней Google анонсировала выход Android SDK Release Candidate 1.0. В октябре 2008 года Google открыла доступ к исходному коду платформы Android в соответствии со свободной лицензией Apache.

Когда Android вышла в свет, одной  из основных целей для ее архитектуры  было обеспечить возможность взаимодействия приложений и использования компонентов  одних приложений другими. Такое  повторное применение касалось не только служб, но и данных, а также пользовательского интерфейса (UI). В результате платформа Android включила в себя некоторые архитектурные характеристики, которые позволили воплотить такую открытость в реальности.

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

В начале 2008 года Google выпустила мобильное  устройство под названием Android Dev Phone 1, на котором можно было использовать программы Android, находясь вне зоны действия какой-либо мобильной сети. Это устройство (стоившее около $400) должно было позволить разработчикам проводить эксперименты с настоящими устройствами, на которых Android можно было использовать, не заключая никаких договоров. Примерно в то же время Google выпустила исправленную версию ОС под номером 1.1, которая была полностью основана на версии 1.0. В версиях 1.0 и 1.1 Android не поддерживала виртуальную клавиатуру, требовалось устройство, на котором были бы настоящие клавиши. Эта проблема была устранена в апреле 2009 года, когда вышел комплект SDK 1.5, в котором появились и другие возможности, например продвинутые функции записи медиаданных, виджеты и живые каталоги.

В сентябре 2009 вышла версия Android 1.6, а через месяц за ней последовал Android 2.0, поддержавший бурные продажи устройств Android в рождественский сезон 2009 года. В этом релизе появились улучшенные поисковые возможности и функция преобразования текста в речь. В этом релизе появилась также поддержка управления жестами и функция мультитач. Далее делались доработки и были выпущены ряд версий Android (2.1, 2.2 и др.). И последней была уже представлена версия Android 4.0, названная Ice Cream Sandwich.

    1. Изучение платформы Android

       Была изучена архитектура системы, которую принято разделять не четыре уровня:

  • уровень ядра;
  • уровень библиотек и среды выполнения;
  • уровень каркаса приложений;
  • уровень приложений,

основные особенности  этой платформы, виртуальная машина Dalvik (о ней будет рассказано ниже), которая хоть и является аналогом виртуальной машины Java, существенно от нее отличается и, на которой построена вся операционная система Google Android.

Программирование пользовательских интерфейсов при помощи UI (user interface) - фреймворка Android, в котором применяется объявление пользовательского интерфейса в файлах XML и который вместе с другими компонентами Android базируется на некой сущности, называемой намерением (intent).

Намерение – это сложное явление, в котором сочетаются такие идеи, как сообщения, выводимые в окнах  (windowing messages), действия (actions), модели типа «публикация и подписка» (publish-and-subscribe), межпроцессный обмен информацией и реестры приложений.

В Android также широко поддерживаются ресурсы (resources), к которым относятся такие как строки (strings), растровые изображения (bitmaps), а также некоторые менее известные элементы, в частности основанные на XML.

Рассмотрены также ряд важных пакетов, входящих в состав Android SDK (Software Development Kit), а именно:

    • android.app – реализует модель приложений для Android;
    • android.content – реализует концепции, связанные с поставщиками содержимого;
    • android.content.res – обеспечивает доступ к файлам ресурсов;
    • android.view;
    • android.widget – содержит все классы элементов управления пользовательского интерфейса;

Глубокий анализ виртуальной машины Dalvik

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

По этим причинам Google пришлось во многих отношениях переработать стандартную версию JVM (Java Virtual Machine). Во-первых, Dalvik VM использует сгенерированные Java файлы классов и комбинирует их в один или несколько исполняемых файлов Dalvik  (DEX). Машина повторно использует повторяющуюся информацию из нескольких файлов классов, эффективно снижая потребность в пространстве и занимает (без архивации) вполовину меньше места, чем обычный файл JAR

Во-вторых, Google тонко настроила  в Dalvik VM процесс сборки мусора (garbage collection).

Наконец, в Dalvik VM используется иной вид генерирования ассемблерного кода, в ходе которого в качестве основных элементов хранения данных используются реестры, а не стек. Таким образом, Google рассчитывает сократить количество команд на 30 %. Следует отметить, что конечный исполняемый код в Android, получаемый после обработки Dalvik VM, основан не на байт-коде Java, а на файлах DEX.

Такое настойчивое стремление оптимизировать эксплуатационные характеристики наблюдается  во всех частях инструментария для разработки в Android.

    1. Структура проекта Android

 

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

Таблица компонентов

Название

Описание

Необходимость

gen

Файлы, сгенерированные  самой Java. Здесь находится такой  важный файл как R.java

Да

AndroidManifest.xml

Файл манифеста AndroidManifest.xml предоставляет основную информацию о программе системе. Каждое приложение должно иметь свой файл AndroidManifest.xml. Редактировать файл манифеста можно вручную, изменяя XML-код или через визуальный редактор Manifest Editor (Редактор файла манифеста), который позволяет осуществлять визуальное и текстовое редактирование файла манифеста приложения. Подробнее о файле можно почитать в отдельной статье

Да

src

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

Да

assets

Произвольное  собрание каталогов и файлов

Нет

res

Каталог, содержащий ресурсы приложения. В данном каталоге могут находиться подпапки drawable, anim, layout, menu, values, xml и raw

Да

res/drawable

Каталог, который  содержит изображения

Нет

res/anim

Каталог, содержащий XML-файлы, в которых описывается анимация (скомпилированные анимационные файлы)

Нет

res/layout

Каталог, в котором  содержатся макеты внешнего вида программы  в виде XML

Нет

res/menu

Каталог, содержащий ХМL-файлы, в которых описываются  меню

Нет

res/values

Каталог, содержащий другие ресурсы (строки, стили, цвета) в  виде XML-файлов

Нет

res/xml

Каталог с дополнительными XML-файлами (скомпилированные произвольные ХМL-файлы)

Нет

res/raw

Каталог, содержащие различные данные не в формате XML (нескомпилированные необработанные (raw) файлы)

Нет

Информация о работе Организация процесса компиляции и запуска проектов на платформе Android