Что такое Андроид? Альянс из 30 компаний во главе с Google, решили сделать открытую и бесплатную операционную систему для мобильных устройств.
Android – это программный стэк для мобильный устройств, который влючает в себя следующие уровни: операционную систему, middleware(промежуточное ПО) и приложения.
Возможности:
- Application framework – набор компонентов для приложений
- Dalvik virtual machine – виртуальная машина, в которой работают все приложения Оптимизированная для мобильных устройств
- Встроенный браузер – взят за основу WebKit с открытым кодом
- Оптимизированная графика с 2D библиотекой, 3D графика – OpenGL ES 1.0. Возможна поддержка hardware акселератора
- SQLite – база данных
- Поддержка медиа форматов: звук, видео, картинки(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- GSM стандарт.
- Bluetooth, EDGE, 3G и WiFi
- Камера, GPS, компас и акселерометр
- Богатый выбор инструментов для разработчиков ПО, включает эмулятор устройства, дебаггер, инструменты для профайлинга, плагины для Eclipse IDE
Архитектура Андроида
Приложения
Android будет включать в себя набор стандартных программ, таких как:
- почтовый клиент
- SMS клиент
- календарь
- гео карты
- браузер
- контакты
Всё ПО написано на языке программирования Java.
Application Framework
Программисты имеют полный доступ до всей функциональности, что лежит в основе операционной системы. Архитектура приложений построенна так, чтобы было легко использовать основные компоненты, есть возможность создавать свои компоненты и предоставлять их в открытое использование.
Набор основных компонентов/сервисов:
- визуальные компоненты (списки, текстовые поля, grids, кнопки и встроенный браузер)
- провайдеры контента, например для получения стандартных контактов
- менеджер ресурсов – доступ к таким ресурсам, как локализованные строки, графика, файлы
- менеджер извещений
- менеджер активности
Более подробную информацию об архитектуре можно найти здесь.
Библиотеки
Android включает набор С/С++ библиотек, используемых разными компонентами операционной системы. Вот некоторые из них:
- System C library – взята из BSD. Немного подправлена для embedded-Linux устройств.
- Media Libraries – за основу взята PacketVideo OpenCORE, библиотеки поддерживающие воспроизведение и запись популярных звуковых и видео форматов, а так же картинок.
- Surface Manager – 2D и 3D графика
- LibWebCore – веб-браузер
- SGL – 2D графический движок
- 3D библиотеки
- FreeType – битмапные и векторные шрифты
- SQLite – база данных
Android Runtime
Включает набор основных библиотек, которые предоставляют функциональность для Java. Каждое приложение запускает свой собственный процесс, с собственным истансем виртуальной машины Dalvik. Dalvik написан и оптимизирован для устройств, так чтоб можно было запуска несколько виртуальных машин одновременно. Dalvik-виртуальная машина запускает файлы на исполнение в формате Dalvik Executable(.dex), который в свою очередь, оптимизирован для минимального использования памяти. Виртуальная машина основана на регистрах, запускает классы скомпилированные Java-компилятором и сконвертированных в .dex формат специальной утилитой – “dx”.
В остнове Android лежит операционная система Linux, версии 2.6
Еще краткая справочная информация:
- Можно ли написать программу для Android на С++? – Нет, только Java
- Можно ли установить Android на мой телефон <вставьте сюда свою модель телефона>? – Нет. На сегодняшний день существет эмулятор с SDK для Windows, Mac OS X(intel) и Linux(i386) платформ.
Официальная страница проекта: http://code.google.com/android/
Пожалуй, я создам еще один таг – Android.

как-то мало новостей…