Автор работы: Пользователь скрыл имя, 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
Российско-Армянский (Славянский) Университет
Факультет Прикладной Математики и Информатики
Кафедра Системного Программирования
ДИПЛОМНАЯ РАБОТА
Тема:
Организация процесса компиляции
и запуска проектов на платформе Android
Թեմա`
Android հարթակի վրա պրոյեկտների կոմպիլյացիայի և մեկնարկի կազմակերպում
Студент 4 курса:
Тоноян Арташес Мушегович
Руководитель:
Гишян Сурен Арменович
Данная работа была направлена на изучение компьютерной платформы Android, сравнительно новой на рынке информационных технологий, ее основным концепциям для создания пользовательских приложений, организации поэтапного компилирования и запуска проектов и проектированию графической среды разработки приложений на платформе Android.
Компьютеры становятся все более «персональными», возможности доступа к ним в любое время все время расширяются. В авангарде этого процесса находятся мобильные устройства, которые трансформируются в компьютерные платформы. Мобильные устройства стали выполнять такой широкий спектр компьютерных задач широкого профиля, что именно такие устройства могут стать новым поколением персональных компьютеров. Кроме того, некоторые производители традиционных моделей ПК – в частности ASUS, HP, DELL – уже делают устройства, многие конструктивные параметры которых основаны на операционной системе Android. Фронт, на котором разворачивается борьба между операционными системами, вычислительными платформами, языками программирования и средами разработки, смещается в сторону мобильных устройств.
Тот факт, что выделенные устройства, такие как мобильные телефоны и планшеты, станут в один ряд с другими маститыми платформами общего назначения, немало озадачивает программистов. Эта новая тенденция открывает доступ к мобильным устройствам для традиционных языков программирования, благодаря чему диапазон применения мобильных приложений и их доля на рынке растут.
В центре этих событий находится компания Google со своей операционной системой Android для мобильных устройств, являясь одной из лидирующих (сегодня уже, возможно, лидирующей) в сфере развития мобильных платформ. Это стало одной из причин, которая заставила столь серьезно заинтересовать данной платформой, и именно ей будет посвящена дальнейшая работа.
На сегодняшний день в мире ежедневно продается самое большое количество мобильных устройств с операционной системой Google Android. Из-за небольших размеров, удобного инструментария и производительности они вполне могут заменить «обычному» пользователю персональный компьютер.
Тем не менее, все еще существует некоторый спектр задач, которые не доступны для выполнения на мобильных устройствах. В частности речь идет о возможности создания программного продукта (приложений) на Android-устройствах. В настоящее время есть группы разработчиков, которые занимаются данной задачей, но пока что не существует полноценной графической среды разработки, работающей на 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.Некоторыми из наиболее известных членов альянса являются:
Одной из целей альянса является ускоренное внедрение инноваций и улучшение отклика на нужды потребителя — и первым значительным результатом работы альянса стала платформа 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.
Была изучена архитектура системы, которую принято разделять не четыре уровня:
основные особенности этой платформы, виртуальная машина Dalvik (о ней будет рассказано ниже), которая хоть и является аналогом виртуальной машины Java, существенно от нее отличается и, на которой построена вся операционная система Google Android.
Программирование
Намерение – это сложное явление, в котором сочетаются такие идеи, как сообщения, выводимые в окнах (windowing messages), действия (actions), модели типа «публикация и подписка» (publish-and-subscribe), межпроцессный обмен информацией и реестры приложений.
В Android также широко поддерживаются ресурсы (resources), к которым относятся такие как строки (strings), растровые изображения (bitmaps), а также некоторые менее известные элементы, в частности основанные на XML.
Рассмотрены также ряд важных пакетов, входящих в состав Android SDK (Software Development Kit), а именно:
В ходе работы с 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.
Приложение 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