Андроиды идут!

Операционный стек Google Android

Серийные мобильные устройства с операционной системой Android, которую создают технари-гоблины в недрах "империи" Google, скоро начнут завоёвывать свои первые рынки. Google, как показывают последние события, любит захватывать всё, что имеет хоть какое отношение к Интернету. Современные мобильные телефоны и смартфоны - это давно уже не только мобильные модемы, но и устройства для использования и просмотра интернет-ресурсов. Поэтому неудивительно, что Google активно вторгается на этот рынок со своей идеологией "гуглофонов".


Идеология

"Андроид" - это кодовое название, как сейчас стало модно говорить, программного стека для мобильных устройств и смартфонов с возможностью работы в сотовых сетях и сетях Wi-Fi.

"Андроид" обычно сравнивают с "Айфоном" от Apple, называя первый "убийцей" последнего. Это сравнение не очень верно. Во-первых, "Айфон" является цельным устройством, в котором операционная система и аппаратная часть полностью контролируется Apple. И главное, как и всё, что делает Стив Джобс, "Айфон" - это стильная вещичка, которую покупают из-за престижа, даже если имелась неработающая функциональность. Вот как то происходит в России.

У "Андроида" иная идеология. Это только операционная система, которая может компилироваться для широкого спектра устройств независимых производителей. Также "Андроид" вряд ли будут брать ради того, чтобы пустить окружающим пыль в глаза. Как и всё, что делает Google, эта система будет хоть и мощной, но простой рабочей лошадкой. Все популярные сервисы от этой компании тому хороший пример - поиск, GMail, Google Sites, Google Docs и т.д. Согласитесь, их используют не ради стильного дизайна и прочих изысков, а потому, что они просто делают своё дело.


Первое знакомство

Лучше один раз увидеть, чем прочитать кучу обзоров в компьютерной прессе. То, что устройств с "Андроидом" ещё не выпускают, ещё не значит, что его нельзя повертеть в своих руках. Для всех интересующихся этим проектом Google я бы порекомендовал по возможности скачать пакет Android SDK с официального сайта (code.google.com/android). Этот SDK содержит не только документацию и API для разработки, но и, в первую очередь, сам эмулятор этой операционной системы. Поэтому уже сейчас можно посмотреть, как выглядит внешне "Андроид", и оценить его некоторые потребительские качества. Конечно же, набрать номер в этом эмуляторе и позвонить своей маме не получится, но позапускать на нём некоторые приложения - вполне.

К слову, ведь кто его знает, может, в далёком будущем покупатель перед тем, как купить мобильный телефон, сначала будет скачивать эдакий рекламный виртуальный эмулятор продукта, чтобы оценить его свойства? А обзоры в прессе уже больше будут никому не нужны.

В общем, ближе к делу. Пакет Android SDK весит около 90 Мб. При распаковке получаем 240 Мб, из которых 140 - это документация. Сам эмулятор лежит в папке tools и так и называется - emulator. Запускаем - должно появиться стилизованное изображение смартфона, на экране которого некоторое время будет мигать сначала текстовая, а затем графическая надпись "android". После этого система проявится во всей своей красе: с обоями, главной панелью, часиками и иконками на рабочем столе.

Сам эмулятор "Андроида" основан на системе виртуализации Qemu, поэтому особых суперскоростей ждать не стоит. Но работает всё достаточно стабильно.

Пользовательский интерфейс "Андроида" рассчитан как на работу в современном сенсорном режиме, как у "Айфона", так и в стандартном "телефонном" режиме, когда все операции можно виртуозно проделать большим пальцем руки по основным клавишам. Основную и достаточно большую нагрузку несёт клавиша "меню", которая является контекстно-зависимой. То есть, для каждого приложения кнопка "меню" будет вызывать актуальный для данной программы набор функций. Цветовая гамма пользовательского интерфейса выполнена с преобладанием чёрно-оранжевых тонов, используется прозрачность.

В стандартной поставке из приложений, с которыми можно поиграть и оценить пользовательский интерфейс, присутствуют блокнот, контакты-звонилка, браузер, смотрелка, калькулятор. Как говорилось выше, функциональность приложений в эмуляторе, естественным образом, сильно урезана. Но для первого знакомства с "Андроидом" этого вполне достаточно.


Внутри

Осмотрев внешний пользовательский интерфейс, взглянем, как обстоят дела с богатым внутренним содержанием "Андроида". Непосредственно для этого в эмуляторе имеются демонстрации работы функций системных API "API DEMOS" и "DEV TOOLS".

"Андроид" является открытой операционной системой, часть компонентов которой опубликована на условиях GPL, а остальная часть - на условиях Apache License.

Главную основу этого стека составляют известные и проверенные компоненты: ядро Linux и виртуальная машина Java. Linux отвечает за аппаратную сторону - дисплей, кнопки управления, фотокамера, флэшка, аудио, питание и т.д. А Java предназначена для прикладных программ.

Следует обязательно отметить, что виртуальная машина Java под названием Dalvik, которая в этой системе используется, является специальной версией и использует свой собственный байт-код, не совместимый со стандартным сановским. Я понимаю, что это сделано ради борьбы с "клонами". Но, всё равно, такой подход не одобряю.

Андроид содержит также набор типовых системных библиотек С/C++, в который входят:

  • libc - реализация главной Си-библиотеки для мобильных систем;
  • библиотеки и кодеки для медиа: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG;
  • библиотеки для работы с 2D- и 3D-графикой, в том числе есть реализация OpenGL ES;
  • библиотеки векторных шрифтов;
  • SQLite - встроенная база данных;
  • Webkit - движок для html-страниц.

Доступ к этим библиотекам осуществляется посредством специального javaAPI.

В стандартный состав "Андроида" входят также и несколько обязательных прикладных программ. Это базовые программы, обеспечивающие обязательный пользовательский функционал системы: почта e-mail, SMS-клиент, календарь, браузер, список контактов.

Общую архитектуру стека "Андроид" можно представить в виде следующей схемы:

Программы
почта, SMS-клиент, календарь, браузер, контакты...
API, пользовательский интерфейс
JAVA-машина Dalvik
Библиотеки
libc, медиа, SSL, шрифты, webkit, openGL...
Ядро
Linux питание, связь, сеть, дисплей, звук...

То есть, как видим, ничего эксклюзивного в архитектуре "Андроида" нет. Всё это типовые всем известные компоненты. Архитектура "Андроида" - это, образно говоря, архитектура типового жилого дома, с типовым унитазом, типовой ванной, кухней, электропроводкой и т.д.

А с типовыми решениями просто и быстро освоиться как пользователю, так и разработчику.


Поприветствуем "Андроида"

Раз "Андроид" весь такой типовой, то и завершим наше знакомство с ним созданием типовой учебной программы "hello, world".

Там, где Java, там и среда разработки Eclipse. Создавать приложения для "Андроида" можно и в других IDE. Но сама компания Google рекомендует использовать Eclipse и предлагает к этой среде плагин ADT. Этот плагин автоматизирует как создание кода, так и интеграцию создаваемого приложения в эмулятор для последующего просмотра и отладки. ADT можно скачать непосредственно с официального сайта Google и установить через штатное меню Eclipse "Help-Software Updates". Если возникнут проблемы, то их решение подробно описано в разделе документации "Installing the SDK".

Следующим шагом будет создание проекта и написание кода. Проект то мы откроем: "File - New-Android Project". А вот код писать не будем, а воспользуемся всеми благами "оупен сорц", то есть модернизируем уже существующий, выбрав в опциях создания проекта "Create project from existing source". Зачем писать свои какие-то классы-шмассы, если Google заботливо положила готовый "hello, world" в папку samples в SDK? Теперь, вместо того, чтобы изобретать велосипед, можно лёгкими движениями пальцев значительно усовершенствовать уже готовый код, например, написав в нём какой-нибудь красивый хакерский комментарий в стиле ASCII-art. Всё остальное написано до нас. Вот она, сила "оупен сорц" в действии!

Дальнейшее - это дело техники и автоматизации. Открываем диалог "Run - Open Run Dialog", и в секции "Project" выбираем название проекта. Нажимаем "Run" и дальше всё произойдёт автоматически: компиляция в байт-код "Андроида", интеграция в эмулятор, запуск эмулятора и запуск приложения. Остаётся только гордо любоваться плодами работы своих натруженных золотых рук.

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Номер: 

36 за 2008 год

Рубрика: 

Мобильные системы
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя Al
Каждое двенадцатое приложение для Andorid содержит троян:

http://www.cnews.ru/news/top/index.shtml?2011/07/22/448434

Аватар пользователя Инкогнито
Лангольеры - пожиратели трафика
Аватар пользователя Эдуард
>>США - это и есть цивилизованный мир. Ибо вы все их "зелеными бумажками" пользуетесь, а не они нашими фантиками...

Вы не поверите, но еще более цивилизованный мир, это Персия. Следуя по Вашей же логике. :)

А вообще-то, лично мне без разницы чем там пользуется "цивилизованный мир", "реальные пацаны" или "состоятельные люди". Я пользуюсь тем, чем считаю нужным, исходя из удобства и своих доходов.

Аватар пользователя leo3
>>США - это и есть цивилизованный мир.

тогда остановите Землю, я сойду...

Аватар пользователя Logicby
>США - это и есть цивилизованный мир.

Сегодня исполняется 150 лет с введения доллара в Америке.

Его как ввели - так он и упал в разы!!! - Юг считал что с его помощью Север оказывает себе помощь.

Ну а потом доллар окреп. А почему - так никто и не знает. Имхо

Аватар пользователя Инкогнито
leo3

лучше в окно выйди.

Аватар пользователя Глашатай
2 Инкогнито

>> http://www.iphone-mods.ru/forum/index.php/topic/1483-iphone-3gs-превышает-объём-продаж-смартфонов-работающи/

http://www.onliner.by/news/29.07.2011/09.06/

Как тебе такой ход??

Все внимание на столбиковую диаграмму!

Что интересно, HTC оставили позади даже такого истинно американского гиганта как Motorola, Samsung же тот вообще тащится где-то в хвосте. О каком "рулении" и в каких сегментах последнего говорил тот товарищ упоминая про "проср@тые" кем-то звезды, по направлению к оврагу что-ли?? )))

Понятно что тайваньцам из HTC пока сложно тягаться с таким монстром как Apple, тем паче у них на родине и при такой тотальной пропиаренности яблофона, но тем не менее результат на лицо и 3-е место это очень даже не хилый показатель...

ХЗ, но при таком раскладе мне кажется что в Европе они вообще должны быть тогда как минимум на 2-ом.

Аватар пользователя Инкогнито
Девочка. Ты сама себе противоречишь, ибо эти данные только для США :)))
Аватар пользователя Инкогнито
Моторола давно уже не лидер. Да, мне пофигу, что кажется "инженеру", который не различает понятия "в разы" и "на порядок"! LOL
Аватар пользователя Глашатай
> Девочка. Ты сама себе противоречишь, ибо эти данные только для США :)))

да ну тебя в пень, че ваньку-то валять, неужели так сложно самому допереть и понять, что если такая картина в США, где априори весьма непросто заставить потенциальных потребителей поменять свое отношение к

столь близкому и почти родному каждому амеру производителю вроде моторола, что как раз каким-то чудом и удалось сделать ушлым тайваньцам из HTC, обогнав их по продажам и оставив позади, то что тогда говорить про остальные страны, где таких "родных" брендов НЕТ, напр. в Еуропе???? Вот что я хотел сказать! Кто хотел, тот все понял...

Страницы