Android Developers Guide: What Is Android
Translations of this material:
- into Russian: Перевод "Android Developers Guide: What Is Android". Translation is not started yet.
-
Submitted for translation by oleeq2 25.01.2012
Text
Что такое Android?
Android — это совокупность приложений для мобильных устройств, которое включает в себя операционную систему, программную прослойку и другие ключевые приложения.
Android SDK(Software Development Kit) включает инструменты и API(Application Programing Interface) необходимых для старта разработки на Android, используя язык программирования Java.
Особенности
Фрэймворк позволяет многократное использование и замену компонентов
Виртуальная машина Dalvik оптимизированая для мобильных устройств
Встроенный браузер основанный на движке WebKit, с открытым кодом.
Оптимизированная графика со специально написаноой библиотекой 2D графики;
3D графика основана на OpenGL ES 1.0 спецификации (аппаратное ускорение опционально)
SQLite для структурированного хранения данных
Поддержка аудио, видео и некотороых форматов изображений (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM телефония (зависит от аппаратного обеспечения)
Bluetooth, EDGE, 3G и WiFi (зависит от аппаратного обеспечения)
Камера, GPS, компас, и акселерометр (зависит от аппаратного обеспечения)
Богатое окружение разработки включает в себя эмулятор устройства, инструменты для отладки, профилирование памяти и выполнения, а также плагин для Eclipse IDE.
Архитектура Android
На прикреплённой диаграмме показаны основные компоненты операционной системы Android. Каждая секция будет рассмотрена подробне
Applications
Android представляет набор приложений по умолчанию, включающий в себя email клиент, SMS мессенджер, календар, карты, браузер, менеджер контактов, и другие. Все приложения написаны с использованием языка Java.
Application Framework
Путём открытости платформы для разработки, Android предлагает разработчикам возможность сборки очень клёвых программ ;)
Разработчики свободны использовать преимущества аппаратного обеспечения, доступ к метонахождению информации, запуску фоновых задач, установки сигналов, добавлению уведомлений в трэй и многое, многое другое.
Разработчики имеют полный доступ к API фрэймворка, используемых стандартными приложениями Архитектура приложений создана таким образом, чтобы упростить повторное использование компонентов; любое приложение an publish its capabilities и любое другое приложение может использовать эти возможности (объекты охраняются принудительно фрэймворком). Этот простой механизм позволяет пользователям заменять компоненты.
В основе всех приложений лежит набор сервисов и систем, включающий:
Богатый и расширяемый набор видов (views), который используется для сборки приложения, включает списки(lists), grids, текстовые поля(text boxes), кнопки(buttons), и даже встраевыемый веб-браузер.
Content Providers которые позволяют приложению получать доступ к данным от других приложений (например менеджер контактов), или открывать доступ своих данных
Resource Manager, обеспечивает доступ к не встроенным в код ресурсам, например локализованные строки, графика, и файлы макетов (layout files)
Notification Manager, который позволяет приложениям выводить свои оповещения в status bar(трей).
Activity Manager, который управляет жизненным циклом приложений и обеспечивает common navigaiton backstack.
За деталями и пошаговым руководством к приложениям, смотри Notepad Tutorial.
Библиотеки
Android включает в себя набор С/С++ библиотек, используемых разными компонентами OS Android. Эти возможности могут быть использованы разработчиками через фрэймворки.
Системная библиотека языка Си (System C library) – BSD-производная реализация стандартной библиотеки языка Си (libc), приспособленая для встраевыемых систем, основанных на Linux.
Медиа библиотеки(Media libraries) – основаны на PacketVideo OpenCORE; библиотеки поддерживают воспроизведение и запись во многих аудио и видео форматах, также статических изображений, включают в себя MPEG4, H.264, MP3, AAC, AMR, JPG, и PNG.
Surface manager – управляет доступом к подсистеме экрана и “чистому” композиту 2D и 3D графических раскладок (layouts) из многих приложений
LibWebCore – современный движок для веб-браузера, который обладает полномочиями Android браузера и встраивает веб в ваше приложение.(web view)
SGL – 2D движок
3D libraries – реализация основанная на OpenGL ES 1.0 API; библиотека использует аппаратное ускорение ( там, где это доступно), высокооптимизированный программный 3D растеризатор.
FreeType – рендеринг шрифтов с использованием битовых карт и векторов.
SQLite – полноценный и лёгкий движок реляционных баз данных, доступен для всех приложений
Среда выполнения Android (Android Runtime)
Android включает в себя библиотеки ядра реализующие основные возможности, для библиотек ядра Java.
Каждое android приложение выполняется в своём собственном процессе, с собственным экземпляром виртуальной машины Dalvik. Dalvik был написан так, что запуск нескольких виртуальных машин будет эффективным. Виртуальная машина Dalvik выполняет файлы в формате Dalvik Executable (*.dex), этот формат оптимизирован для мимального потребления памяти. Виртуальная машина основана на регистрах, и выполняет классы скомпилированные компиляторами языка Java, которые переведены в формат .dex с помощью утилиты dx, включённой в стандартный набор.
Dalvik VM(Виртуальная машина) работает на ядре linux, которое обеспечивает функциональность в области низкоуровневого управления памятью и многопоточностью.
Ядро Linux
Android работает на ядре Linux версии 2.6 для основных сервисов таких как безопасность, управление памятью, управление процессами, сетевой стэк, и модель драйверов. Ядро также является уровнем абстракции между аппаратной частью и софтом.
