Принципы работы операционной системы Android

Автор работы: Пользователь скрыл имя, 31 Января 2013 в 07:52, курсовая работа

Краткое описание

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

Прикрепленные файлы: 1 файл

Принципы работы операционной системы Android.docx

— 301.37 Кб (Скачать документ)

Введение

 

Развитие мобильных устройств  не стоит на месте, они завоевывают  всё большую популярность среди  пользователей. А доминирующей на рынке  мобильной платформой является операционная система Android. Её доля ≈60%. Согласно последнему отчету исследовательской компании Gartner, через несколько лет платформа Android может стать самой популярной операционной системой в мире, что является хорошим поводом для изучения как самой системы, так и сред разработки под неё.

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

"Родным" для Android языком программирования, о котором и пойдет речь, является Java. Для разработки используется среда Eclipseс надстройкой AndroidSDK и встроенным в SDK эмулятором мобильного устройства.

Java является объектно-ориентированным языком. Синтаксис программного кода для ПК и мобильных разнится, в AndroidSDK используется множество собственных библиотек, в первую очередь, обеспечивающих взаимодействие пользователя с устройством жестами.

 

 

1. Вступление

 

Android – операционная  система для смартфонов, планшетов  и нетбуков. Компания Google приобрела  разработчика программного обеспечения Android inc. в 2005 году. Операционная система Android основана на модифицированном ядре Linux. Впоследствии, Google и другие участники Open Headset Alliance сотрудничали для совместной разработки этой новой операционной системы. Далее Android Open Source Project (AOSP) поручено поддержание и дальнейшее развитие платформы. У Android имеется большое сообщество разработчиков, которые расширяют функциональность устройств.  Официально об OS Android стало известно 5 ноября 2007 года, когда было объявлено основание Open Headset Alliance – консорциум из 80 компаний

Android приложения включают  в себя java-приложения и библиотеки, которые запускаются виртуальной машиной Dalvik. Библиотеки включают в себя систему управления, графику OpenGL ES 2.0, движок WebKit, графический движок SGL, SSL и библиотеки Bionic. OS Android состоит из 12 миллионов строк кода, в том числе 3-х миллионов строк XML, 2.8 миллионов строк на C, 2.1 миллиона строк на Java и 1.75 миллиона строк на C++.android операционный телефон файл

 

2. История OS Android

 

Компания Android inc. была основана в октябре 2003 года в Пало Альто, штат Калифорния. Основателями Android inc. были Энди Рубин, Рич Майнер, Ник Сирс и Крис Уайт.

В августе 2005 года компания Google приобрела Android inc. После этого Android inc. стала дочерней компанией Google. После  покупки Энди Рубин, Рич Майнер и  Крис Уайт остались в Android inc. После поглощения Android inc., в сети стали появляться слухи о том, что Google хочет выйти на рынок мобильных телефонов.

Получив поддержку Google, команда  во главе с Энди Рубином начала работать над операционной системой базирующейся на ядре Linux. Тогда же, в декабре 2006 года поползли слухи  о том, что Google планирует выпустить  смартфон под свои брендом, так называемый “Гуглофон”.

Все эти слухи опроверг Эрик Шмидт, заявив следующее: «Сегодняшнее заявление носит более амбициозный  характер, чем выпуск смартфона под  нашим брендом, о чем пресса спекулирует  последние недели. Наше видение заключается  в том, что мощнейшая платформа  должна отдать свои силы тысячам различных  моделей телефонов». После этих слов 5 ноября 2007 года и был представлен Open Headset Alliance – консорциум из множества компаний, в который вошли такие гиганты как: Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile, Texas Instruments и другие.

Названия каждой очередной версии ОС Android представляет собой название какого-либо десерта. Первые буквы наименований в порядке  версий соответствуют буквам латинского алфавита.

 

 

3. Среда разработки Eclipse

3.1 Подготовка к работе

 

Прежде всего для работы необходимо установить несколько компонентов:

  • Java JDK
  • Eclipse
  • Android SDK

JavaDevelopmentKit(JDK) можно скачать с оффициального сайта Java, раздела "Загрузки".

Для скачивания среды разработки Eclipseнужно перейти на сайт http://www.eclipse.org/ и в разделе "Загрузки" выбрать версию EclipseClassic.

Оставшийся компонент - AndroidSoftwareDevelopmentKit загружается по адресу http://developer.android.com/sdk/index.html.

3.2 Настройка программ

 

Устанавливаем Android SDK

Начнем с установки Android SDK. Первое что требуется - установить JDK.

Далее - запустить программу  установки последней версии Android SDK.

После завершения установки  запускаем SDK Manager. Выбираем packages, которые  нужно установить. SDK Manager скачивает  и устанавливает все выбранные  пакеты, а затем перезапускается.

 

 

Рис. 1

 

Устанавливаем Eclipse

Следующий шаг - установка Eclipse. Eclipse поставляется в виде zip-архива. Распаковываем его в любую  директорию, например, c:\utils\eclipse.

Теперь устанавливаем  плагин для работы с android SDK - ADT Plugin. Запускаем Eclipse. Он предложит создать новый workspace, соглашаемся.

Выбираем Help>Install new software. Жмем кнопку "Add..", появляется окно "Add repository". В поле Name вводим "ADT Plugin", в поле Location указываем https://dl-ssl.google.com/android/eclipse/. Ставим галочку "Developer Tools", дважды жмем Next, принимаем лицензионное соглашение. После завершения загрузки плагина перегружаем Eclipse.

 

Рис. 2

 

Осталось указать Eclipse путь к Android SDK. Открываем Window>>Preferences>>Android, в графе SDK

Location вводим c:\program files\Android\android-sdk. Жмем кнопку "Apply" - появится список установленных API. Закрываем окно - Eclipse и Android SDK установлены.

 

Рис. 3

3.3 Создание проекта

 

Для создания нового Android проекта необходимо выбрать File\New\Project\Android\AndroidProject

 

Рис. 4

 

Далее идет настройка проекта:

Рис. 5

 

 

На первых порах настройки  не так важны, достаточно назвать  проект и выбрать версию API, остальное можно оставить по-умолчанию.

 

 

4. Структура проекта

 

Рис. 6

 

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

 

 

5. Android Manifest

 

В структуре Android проекта одним из важнейших файлов является Android Manifest.xml.

 

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.hello"

android:versionCode="1"

android:versionName="1.0">

 

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="15"/>

 

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme">

<activity

android:name=".MainActivity"

android:label="@string/title_activity_main">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

 

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

</application>

 

</manifest>

 

Файл манифеста выполняет следующие  функции:

  • Объявляет имя Java-пакета данного приложения.
  • Описывает компоненты приложения – деятельности, службы, приемники, широковещательных намерений и контент провайдеры, из которых приложение состоит.
  • Объявляет, какие разрешения должно иметь приложения для обращения к защищенным частям API и взаимодействия с другими приложениями.
  • Объявляет разрешения, которые сторонние приложения обязаны иметь, чтобы взаимодействовать с компонентами данного приложения.
  • Объявляет минимальный уровень APIAndroid, которого требует приложение.
  • Перечисляет библиотеки, с которыми приложение должно быть связано.

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

Общая структура манифеста

 

Рис. 7

 

<manifest>- Корневой раздел файла. По умолчанию создается с 4 атрибутами:

Xmls:android– Определяет пространство имен Android. Строка одинакова для любого проекта.

Package – определяет имя пакета приложения.

Android:versionCode–Указывает внутренний номер версии.

Android:versionName – указывает номер пользовательской версии.

<Permission>объявляет разрешение, которое используется для ограничения доступа к определенным компонентам или функциональности данного приложения. В этой секции описываются права, которые должны запросить другие приложения для получения доступа к вашему приложению.

<uses-permission>Запрашивает разрешения, которые должны быть предоставлены приложению для его полного функционирования.

<Permission-group> - Элемент, определяющий имя для набора логически связанных разрешений. Этот элемент не объявляет разрешение непосредственно, только категорию, в которую могут быть помещены разрешения.

<instrumenantion>- Элемент объявляет объект Instrumentation, который дает возможность контроллировать взаимодействие приложений с системой. Обычно используется только при отладке и тестировании прилоения.

<uses-sdk>позволяет объявлять совместимость приложения с указанной версией платформы Android.

<Uses-configuration> – указывает требуемую для приложения аппаратную и программную конфигурацию мобильного устройства.

<uses-feature>- Элемент, определяющий соответствие требований приложения к функционалу устройства.

<support-screens> определяет разрешение экрана, требуемое для функционирования устройства.

<application> - Важный элемент манифеста, содержащий описание компонентов приложения, доступных в пакете.

6. Компоненты Android приложения

 

6.1 Деятельность(Activity)

 

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

Деятельность может использовать дополнительные всплывающие окна.

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

 

6.2 Службы

 

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

Приложения могут подключаться к службе и с помощью интерфейса управлять ею.

 

6.3 Приемники широковещательных сообщений

 

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

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

 

 

6.4 Контент-провайдеры

 

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

 

 

7. Ресурсы проекта

 

Файлы ресурсов, которые  используются в проекте хранятся в каталоге /res и делятся на подкатегории:

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

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

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

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

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

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

 

 

8. Разметка

 

Разметка – это совокупность элементов пользовательского интерфейса и их расположения для конкретного  окна(деятельности). Разметку можно  объявлять двумя способами:

  • Объявить элементы пользовательского интерфейса в XML коде.
  • Создать разметку окна в коде программы во время выполнения.

Eclipse позволяет редактировать XML файлы, содержащиеся в каталоге /res/layout, с помощью графического редактора LayoutEditor, позволяющий увидеть, как будут расположены все объекты, объявленные в XML.

 

8.1 Объявление в XML

 

Каждый файл разметки должен содержать только один корневой элемент, который должен быть элементом представления  Viewили ViewGroup(это классы-наследники Layout, используемые для создания внутри них каких-либо объектов или других View, в определенном контексте их можно назвать «контейнарами»).

Можно дополнять корневой элемент  дополнительными, которые постепенно позволят создать иерархию элементов, которую определяет разметка.

Объявление элемента в XML коде разметки на примере TextView(самого простейшего контейнера, отображающего текст):

Информация о работе Принципы работы операционной системы Android