Что такое Андроид? Альянс из 30 компаний во главе с Google, решили сделать открытую и бесплатную операционную систему для мобильных устройств.
Android — это программный стэк для мобильный устройств, который влючает в себя следующие уровни: операционную систему, middleware(промежуточное ПО) и приложения.
Возможности:
- Application framework — набор компонентов для приложений
- Dalvik virtual machine — виртуальная машина, в которой работают все приложения Оптимизированная для мобильных устройств
- Встроенный браузер — взят за основу с открытым кодом
- Оптимизированная графика с 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) платформ.
Официальная страница проекта:
Пожалуй, я создам еще один таг — Android.
как-то мало новостей…
Думаю андроид долго будет завоевывать популярность (чисто мое мнение), хотя… это все — таки гугл, возможно они как-нить и раскрутят)).