Принципы работы операционной системы Android
Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.11.2012 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Развитие мобильных устройств не стоит на месте, они завоевывают всё большую популярность среди пользователей. А доминирующей на рынке мобильной платформой является операционная система 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(самого простейшего контейнера, отображающего текст):
<?xmlversion=”1.0”encoding=”utf-8”?>//Стандартная строка, обозначающая кодировку и версию XML.
<LinearLayoutxmlns:android=”http://schemas.android.com/apk/res/android”//Данная ссылка обязательна для любого приложения Android.
Android:orientation=”vertical”//Задание ориентации экрана на данной разметке.Android:layout_width=”fill_parent”//Задание ширины относительно экрана
Android:layout_height=”fill_parent”>//Задание высоты разметки относительно экрана
<TextView// Объявление элемента TextView
Android:id=”@+id/TextView01”//Указание ID объекта
Android:layout_width=”fill_parent”//Ширины
Android:layout_heigth=”wrap_content”//Высоты
Android:text=”@String/hello”//Вставка текста из строковой константы
</TextView>
</LinearLayout>?>
8.2 Инициализация представлений (Layout)
При запуске деятельности, система должна получить ссылку на корневой элемент представления, который будет использоваться для графической прорисовки изображения на экране мобильного телефона.
Чтобы это сделать необходимо в методе onCreate() вызвать метод setContentView()передав ему в качестве параметра ссылку на ресурс разметки в виде:
setContentView(R.layout.layout_file_name)
Пример загрузки разметки в коде программы:
publicvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Прорисовка начнется с корневого элемента и продолжится подгрузкой дочерних.
8.3 Стандартные разметки
Существуют следующие стандартные виды разметок:
· FrameLayout
· LinearLayout
· TableLayout
· RelativeLayout
Рис.8. Иерархия классов разметок.
Frame layout
Это самый простой тип разметки, на нем можно обычно размещают один дочерний элемент с параметрами fill_parrent и для ширины и для высоты. Объясняется это тем, что все последующие дочерние элементы накладываются друг на друга. Пример с двумя дочерними элементами:
<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/FrameLayout1"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_gravity="center">
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/HelloButton"
android:id="@+id/Button01"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/Button02"
android:id="@+id/Button02"
/>
</FrameLayout>
Выглядит на экране мобильного это так:
Linear Layout
Данная разметка выравнивает все дочерние объекты в одном направлении.Все дочерние элементы помещаются на разметку один за другим.
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout2"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_gravity="top"
android:orientation="vertical">
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button01"/>
<Button
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button02"/>
<Button
android:id="@+id/Button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button03"/>
<Button
android:id="@+id/Button04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button04"/>
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/HelloButton"/>
</LinearLayout>
Table Layout
Разметка позиционирует свои дочерние элементы в строки и столбцы. При формировании таблицы можно оставлять некоторые ячейки пустыми.
При создании разметки для строк используются объекты TableRow. Строка может не иметь ячеек, или иметь одну и более. Каждая ячейка может быть контейнером для View или ViewGroup. Допускается вложить другой Tableили Linearlayoutв ячейку.
Relative Layout
Такая разметка позволяет располагать дочерние элементы относительно родительского или соседнего дочернего(по идентификатору элемента).
В относительной разметке дочерние элементы расположены так, что если первый находится в центре экрана, то другие будут расположены относительно центра. Соседние элементы обращаются к такому элементу по идентификатору => он должен быть создан первым.
<?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/button_center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:height="20pt"
android:longClickable="true"
android:text="1"
android:width="20pt"
android:layout_centerVertical="true"
android:layout_centerInParent="true"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="false"
android:layout_alignParentRight="false"
android:height="20pt"
android:longClickable="true"
android:text="2"
android:width="20pt"/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:height="20pt"
android:longClickable="true"
android:text="3"
android:width="20pt"/>
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:height="20pt"
android:longClickable="true"
android:text="4"
android:width="20pt"/>
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="30sp"
android:height="20pt"
android:longClickable="true"
android:text="5"
android:width="20pt"/>
<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:height="20pt"
android:longClickable="true"
android:text="6"
android:width="20pt"/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button_center"
android:layout_alignBottom="@+id/button_center"
android:layout_alignParentRight="true"
android:layout_alignWithParentIfMissing="false"
android:layout_centerHorizontal="false"
android:layout_centerInParent="true"
android:layout_marginRight="30sp"
android:text="7"/>
</RelativeLayout>
Размещено на Allbest.ru
Подобные документы
Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.
курсовая работа [2,0 M], добавлен 19.10.2014Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.
дипломная работа [1,6 M], добавлен 08.07.2015Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.
дипломная работа [1,0 M], добавлен 11.07.2014Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.
курсовая работа [167,8 K], добавлен 18.01.2017Разработка клиент-серверного игрового приложения на примере игры в шашки для мобильных устройств на базе операционной системы Android. Обзор мобильных платформ. Экраны приложения и их взаимодействие. Графический интерфейс, руководство пользователя.
курсовая работа [2,6 M], добавлен 15.06.2013Средства разработки развивающих и обучающих игр и используемой программы. Среда выполнения и Dalvik. Разработка приложения для платформы Android. Графический интерфейс и обработка касаний экрана. Разработка экранов приложения и их взаимодействия.
дипломная работа [2,1 M], добавлен 18.01.2016Преимущества операционной системы Android. Проектирование интерфейса приложений. Визуальные редакторы и средства кроссплатформенной разработки. Оптимизация игрового процесса, выбор фреймворка и библиотек. Классификация и характеристика игр по жанрам.
дипломная работа [2,6 M], добавлен 10.07.2017Обзор особенностей операционной платформы для мобильных телефонов, смартфонов и коммуникаторов. История обновлений и модифицированные версии. Прошивка устройств. Приборы на платформе Android. Изучение основных достоинств операционной системы Android 4.2.
реферат [885,8 K], добавлен 19.10.2015Общая схема работы приложения Android. Разработка обучающего приложения для операционной системы Android, назначение которого - развитие речи посредством произнесения скороговорок. Описание компонентов разработанного приложения, его тестирование.
дипломная работа [1,2 M], добавлен 04.02.2016Общие характеристики операционной системы Android. Разработка приложения на основе создания менеджера файлов. Получение с помощью приложения доступа к файлам, хранящимся в "облачном хранилище" в сети Интернет. Расчет стоимости программного обеспечения.
дипломная работа [2,7 M], добавлен 03.04.2015