Продолжение цикла статей, посвященный программированию под Android. В данной статье подробно рассмотрим: - «внутренности» Android; - основные компоненты архитектуры;
- основные библиотеки; Представим компонентную модель Android в виде некой иерархии, в самом низу, как самая фундаментальная и базовая составляющая, располагается ядро ОС Android.
Основные уровни иерархии архитектуры представлены ниже:
Картинка кликабельна
Applications (Приложения)
В Android входит комплекс базовых приложений: e-mail клиент, SMS, календарь, карты, браузер, приложение для управления контактами и т.д. Все приложения под Android написаны на языке Java.
Application Framework (Каркас приложений)
С помощью данного каркаса разработчик получает доступ к API предоставляемым компонентами самой системы. Благодаря архитектуре данного каркаса приложение может получить доступ к реализованным возможностям других приложений.
Основа всех приложений есть набор служб и систем:
• View System (Система представления) – набор представлений для интерфейса пользователя. В набор входят элементы управления: кнопки, флажки, текстовые поля, переключатели и т.д.
• Content Provider (Контент провайдер) – это службы, которые выполняет обмен данных между приложениями. Службы, которые дают возможность получать доступ к данным другого приложения.
• Resource Manager (Менеджер ресурсов) – обеспечивает возможность доступа к строковым, графическим и другим данным.
• Notification Manager (Менеджер оповещений) – с помощью данного менеджера приложения могут выводить информацию в строке состояния.
• Activity Manager (Менеджер действий) – менеджер управления жизненным циклом приложения, а также хранит историю работы приложения.
Libraries (Библиотеки)
Android-платформа несет в своем составе набор С/С++ библиотек, которые используются различными компонентами ОС. Доступ к этим библиотекам реализован с помощью Application Framework. Ниже представлены некоторые библиотеки:
• System C library (Системые библиотеки С) – реализация системной библиотеки С для встраиваемых устройств, основанных на Linux.
• Media Libraries (Медиа библиотеки) – медиа библиотеки, реализованные PacketVideo‘s OpenCORE, предназначенные для воспроизведения и записи аудио и видео форматов.
• Surface Manager (Менеджер поверхностей) – менеджер поверхностей для управления доступом к подсистеме отображения графики (2d, 3d).
• LibWebCore(Веб движок) - web движок, на котором построен встроенный Android-браузер.
• SGL (scene graph library) – движок, который осуществляет обработку и работу с 2d-графикой.
• 3D libraries – движок, осуществляет обработку и работу с 3d-графикой, построен на OpenGL ES 1.0 API.
• FreeType – библиотеки для работы со шрифтом.
• SQLite – мощный движок для работы с реляционными БД.
Android Runtime (Среда исполнения)
Android имеет набор библиотек ядра, представляющую большую часть функционала библиотек языка Java. Android использует оптимизированную виртуальную машину Dalvik, которая является регистр-ориентированной, в отличии от Dalvik, Java использует стек-ориентированную. Каждое приложение имеет свой userid и свой процесс. Dalvik обеспечивает организацию работу потоковой обработки и низкоуровневого управления памятью. Приложения написанные с помощью Java, компилируются в dex-формат с помощью утилиты dx, которая входит в состав SDK.
Linux Kernel (Ядро Linux)
Не для кого не секрет, что Android построен на OS Linux (версии 2.6), что открывает доступ платформе к системным службам ядра, таким как управление памятью, процессами, безопасностью, работы с сетью и драйверами. Слоем абстракции между аппаратным и программным обеспечением служит ядро.
Продолжение следует...
Михайлов Дмитрий - Crown
Похожие публикации
2012-01-21 • Просмотров [ 11093 ]
begin
writeln('Введите количество натуральных чисел');
readln(n);
k:=0;
writeln('Введите ', n, ' натуральных чисел');
for i:=1 to n do
begin
readln(a);
if a mod 2 =0 then if sqr(trunc(sqrt(a div 2))) = a div 2 then k:=k+1;
end;
writeln(k);
end.