Обзор мобильной операционной системы Android, Архитектура операционной системы Android - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
ОС Android - операционная система для мобильных телефонов, планшетных компьютеров и нетбуков, основанная на ядре Linux. Изначально разрабатывалась компанией Android Inc., которую затем купила компания Google. Первая версия ОС Google Android вышла в сентябре 2008 года. В конце 2010 года платформа Android стала самой продаваемой ОС для смартфонов.
ОС Android - это набор открытого программного обеспечения для мобильных устройств от компании Google, в состав которого входит операционная система и комплект базовых межплатформенных приложений. Приложения для ОС Android являются программами в байт-коде для виртуальной машины Dalvik, которая является частью мобильной платформы Android.
Архитектура операционной системы Android
Если представить компонентную модель Android в виде иерархии (Рис.2) [2], то можно выделить 4 основных уровня:
Уровень ядра Linux;
Уровень библиотек (Libraries);
Уровень среды исполнения (Android Runtime);
Уровень каркаса приложений (ApplicationFramework);
Уровень приложений (Applications).
Уровень ядра Linux. В самом низу, в основе будет располагаться ядро операционной системы. ОС Android основана на ОС Linux версии 2.6, тем самым платформе доступны системные службы ядра, такие как управление памятью и процессами, обеспечение безопасности, работа с сетью и драйверами. Также ядро служит слоем абстракции между аппаратным и программным обеспечением.
Рис.2 Обзор архитектуры Android
Уровень библиотек (Libraries)."Выше" ядра, как программное обеспечение промежуточного слоя, лежит набор библиотек, предназначенный для решения типовых задач, требующих высокой эффективности. То есть, именно этот уровень отвечает за предоставление реализованных алгоритмов для вышележащих уровней, поддержку файловых форматов, осуществление кодирования и декодирования информации, отрисовку графики и многое другое. Библиотеки реализованы на C/C++ и скомпилированы под конкретное аппаратное обеспечение устройства, вместе с которым они и поставляются производителем в предустановленном виде.
Перечислим некоторые из низкоуровневых библиотек:
SurfaceManager - диспетчер поверхностей управляет доступом к подсистеме отображения 2D - и 3D - графических слоев.
Media Framework - библиотеки, c помощью которых система может осуществлять запись и воспроизведение аудио и видео данных, а также вывод статических изображений.
SQLite - легковесная и производительная реляционная СУБД, используемая в Android в качестве основного движка для работы с базами данных.
3D libraries - библиотеки для работы с 3D-графикой.
FreeType - библиотека, предназначенная для работы со шрифтами.
LibWebCore - ядро встроенного web-браузера.
SGL (ScalableGraphicsLibrary) - библиотека для работы с 2D-графикой.
SSL - библиотеки для поддержки одноименного криптографического протокола.
Libc - библиотека стандартных вызовов языка C.
Уровень среды исполнения (Android Runtime). На этом же уровне располагается Android Runtime - среда выполнения прикладных программ. Ключевыми ее составляющими являются набор стандартных библиотек и виртуальная машина Dalvik. Каждое приложение в ОС Android запускается в собственном экземпляре виртуальной машины Dalvik. Таким образом, все работающие процессы изолированы от операционной системы и друг от друга. Архитектура Android Runtime такова, что работа программ осуществляется строго в рамках окружения виртуальной машины. Благодаря этому осуществляется защита ядра операционной системы от возможного вреда со стороны других ее составляющих. Поэтому код с ошибками или вредоносное ПО не смогут испортить ОС Android и устройство на ее базе. Такая защитная функция, наряду с выполнением программного кода, является одной из ключевых для Android Runtime.
Уровень каркаса приложений (ApplicationFramework). ОС Android позволяет полностью использовать API (интерфейс программирования приложений - набор готовых классов, процедур, функций, структур и констант) используемый в приложениях ядра. Архитектура построена таким образом, что любое приложение может использовать уже реализованные возможности другого приложения при условии, что последнее откроет доступ на использование своей функциональности. Таким образом, архитектура реализует принцип многократного использования компонентов ОС и приложений.
Основой всех приложений является набор систем и служб:
Диспетчер действий (ActivityManager) управляет жизненным циклом приложений и предоставляет систему навигации по истории работы с действиями.
Диспетчер окон (Window Manager) управляет окнами, и предоставляет для приложений более высокий уровень абстракции библиотеки Surface Manager.
Поставщик содержимого (ContentProviders) - это службы, которые позволяют приложениям получать доступ к данным других приложений, а также предоставлять доступ к своим данным.
Система представлений (ViewSystem) - это богатый набор представлений с расширяемой функциональностью, который служит для построения внешнего вида приложений, включающий такие компоненты, как списки, таблицы, поля ввода, кнопки и т. п.
Диспетчер уведомлений (NotificationManager) позволяет любому приложению отображать пользовательские уведомления в строке статуса.
Диспетчер пакетов (Package Manager) управляет установленными пакетами на вашем устройстве, отвечает за установку новых и удаление существующих.
Диспетчер телефонии (Telephony Manager) содержит API для взаимодействия с возможностями телефонии (звонки, смс и т. п.)
Диспетчер ресурсов (ResourceManager) предназначен для доступа к строковым, графическим и другим типам ресурсов.
Диспетчер местоположения (Location Manager), позволяющий приложениям получать обновленные данные о текущем географическом положении устройства
Уровень приложений (Applications). На вершине программного стека Android лежит уровень приложений. Сюда относится набор базовых приложений, который предустановлен на ОС Android. Например, в него входят браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов и многие другие. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. И помимо этого базового набора к уровню приложений относятся все прикладные приложения под платформу Android, в том числе и установленные пользователем. [3][4]
Похожие статьи
-
Процессы и потоки - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
Когда хотя бы один из компонентов приложения (или все приложение) будет востребован, система Android запускает процесс, который содержит единственный...
-
Анализ и выбор операционной системы При создании мобильного приложения, первый возникающий вопрос - для какой платформы его разрабатывать. На рынке...
-
Разработка приложений ведется на языке Java, для этого потребуется специальное программное обеспечение. Самые новые версии системного программного...
-
При создании проекта нужно указать его свойства: Application Name (название приложения), Project location (расположение проекта на диске), Min SDK...
-
Основные компоненты и структура приложения Прежде чем приступить к установке и настройке среды программирования, построению технического задания и...
-
Требования к аппаратным и операционным ресурсам Для разработки данного программного приложения будет использована Windows XP Professional. Данная...
-
Структура проекта Программа была реализована на языке Java в среде разработки AndroidStudio с помощью инструментов для разработки Android SDK. Разработка...
-
База данных SQLite - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
Платформа Android предоставляет функции управления базой данных, которые позволяют сохранять сложные коллекции данных. Android также поставляется с...
-
Заключение - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
Смартфон интерфейс мобильный приложение В результате проведенной работы были рассмотрены существующие мобильные ОС и изучены особенности и архитектура...
-
Пользовательский интерфейс обеспечивает взаимодействие между пользователем и компьютером, обмен действиями и ответными реакциями на них. Стоит начать с...
-
Назначение программы Программное средство на тему "Калькулятор коммунальных услуг" предназначено для повышения эффективности расчета коммунальных...
-
Реализация напоминаний - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
Первым делом следует построить уведомление, т. е. описать как оно будет выглядеть, что будет происходить при взаимодействии пользователя с ним. Ниже...
-
Реализация базы данных - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
Для создания таблиц базы данных, структура которой представлена на рис. 21 в программе использовались следующие запросы: CREATE TABLE tariffs ( Tariff_id...
-
Рассмотрим иерархию компонентов (Рис. 26) и вид интерфейса (Рис. 27) на примере экрана "Информация о пользователе". Экран "Информация о пользователе"...
-
Разработку приложения для мобильных платформ, можно разбить на этапы. Первым этапом в создании мобильного приложения является этап разработки...
-
На данный момент существует несколько аналогов приложения, разработанного в рамках курсовой работы. Самые популярные и наиболее функциональные из них,...
-
Введение - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
В настоящее время трудно представить свою жизнь без мобильного телефона. Если раньше он был атрибутом деловых людей, то сейчас есть практически у всех....
-
В настоящее время систем видеонаблюдения на рынке продается очень много, и обычно бывает очень сложно принять правильное решение, выбрать нужное решение....
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Требования к приложению Результатом дипломного проекта "Калькулятор коммунальных услуг" должно служить достижение и решение поставленных задач: -...
-
ЗАДАНИЕ, КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ - Основы программирования в операционной системе Unix
Цель работы : изучение и использование языка программирования С++ для работы с ресурсами операционной системы Unix. Написать программу на языке С++ в...
-
Public void btnBackup_OnClick(View view) throws IOException { // Получаем путь к нашей БД (/data/data/course. utilities/databases/) Final String source =...
-
Система функционирует как распределенная трехзвенная клиент-сервер-СУБД программная архитектура. В среде серверной операционной системы Microsoft Windows...
-
Инструменты разработки - Разработка программного приложения "Калькулятор коммунальных услуг"
Инструментами разработки для программного приложения будут являться: - визуальная среда проектирования Microsoft Visual Studio 2008; - Microsoft...
-
Выбор мобильной платформы и изучение инструментов разработки - Исследование алгоритмов
Практическая реализация алгоритмов, представленных в предыдущих пунктах, предполагает: 1) Выбор мобильной платформы; 2) Изучение соответствующей среды...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
Введение, Операционная система Windows - Операционная система Windows
Компьютер сам по себе (Hardware) без разработанных человеком для него программ (Software) не может выполнить какой-либо работы. Программы для компьютера...
-
Целью дипломного проекта "Калькулятор коммунальных услуг" является разработка программного средства "Calculation. exe". Для достижения цели дипломного...
-
По результатам обследования необходимо выбрать архитектуру системы. Для корпоративных систем рекомендуется архитектура клиент/сервер. Архитектура...
-
Информационно - измерительные системы: структура и состав Постоянное совершенствование и развитие средств измерений необходимо для промышленного...
-
Экономическое обоснование необходимости разработки информационной системы "Учет посещаемости в детском саду" В современных условиях хозяйствования...
-
Проектирование модели - Разработка программного приложения "Калькулятор коммунальных услуг"
При проектировании информационных систем предметная область отображается моделями данных нескольких уровней. Число используемых уровней зависит от...
-
Существуют две группы определений ОС: "совокупность программ, управляющих оборудованием" и "совокупность программ, управляющих другими программами". Обе...
-
Из универсальных языков программирования сегодня наиболее популярны следующие: Бейсик (Basic), Паскаль (Pascal), Си++ (C++), Ява (Java). Для каждого из...
-
Операционная система Windows - Программное обеспечение информационных компьютерных систем
Само название Windows, на русском языке означает "Окна" и имеет в нашем языке синонимы Виндовс, Вундоуз и другие производные полученные после перевода....
-
Рис. 2 Схема IP видеонаблюдения IP видеонаблюдение - один из распространенных методов с современных системах наблюдения и охраны. Все крупные...
-
Введение - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
Тема разработки автоматизированной системы контроля успеваемости и вычисления оценок слабо освещена в научной литературе со стороны вычислительной части...
-
Техническое задание - Разработка информационно-справочной системы "Аптека"
Техническое задание представляет собой документ, в котором сформулированы основные цели разработки, требования к программному продукту, определены сроки...
-
Введение, Проект документирования cистемы Linux - Операционная система Linux
В этой книге рассматриваются аспекты системного администрирования операционной системы Linux. В первую очередь данное руководство предназначено для тех,...
-
Уровни программного обеспечения. - Основы теории информации
1. Базовый уровень - самый низкий уровень ПО представляет базовое ПО. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Как правило,...
Обзор мобильной операционной системы Android, Архитектура операционной системы Android - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг