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

Операционный стек 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!
 

Комментарии

Страницы

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

>>HTC Desire HD 2010 года выпуска, поэтому вполне возможно, при желании, купить такой аппарат у кого-нибудь с рук (по объявлению например) за цену на порядок ниже чем сейчас в магазинах.

не подскажете, где они за 40 баксов лежат? (это если НА ПОРЯДОК ниже)

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

Не надо передергивать!

Но если уж на что пошло, то можно найти и за 40 у.е., у человека, которому срочно нужны деньги, к примеру. И если удача улыбнется именно вам и вы станете первым, кто предложит ему эти 40 ;)

А вот за 300 у.е. купить такой аппарат вполне реально. "Лучше первый класс из вторых рук, чем второй из первых" (с)

Аватар пользователя Инкогнито
И кто тут передергивает? Вы сказали: НА ПОРЯДОК ДЕШЕВЛЕ. Или современные инженеры путаются в понятиях "в разы" и "порядок"?

А по сабжу, в диапазоне до 300 я бы порекомендовал Samsung Galaxy Gio.

Аватар пользователя Глашатай
Хорош умник, будем разговаривать на твоем языке. Можешь дать ссылку, где бы черным по белому было дано ТОЧНОЕ определение порядка, что оно означает конкретно в 10 раз меньше?? В моей практике определение порядка встречалось как ПРИБЛИЗИТЕЛЬНО в 10 раз меньше...Нет четкого определения порядка как конкретно в 10 раз!

А это серьезно меняет дело.

Аватар пользователя Инкогнито
О, да... ну и инженер нынче пошел... Понятие порядка, как мне помнится, изучается еще в начальной школе.

И, это... математика - наука ТОЧНАЯ. :)

Аватар пользователя Глашатай
Ты не путай понятия "точная наука" и "неточное" (а, скорее, размытое) определения порядка. К тому же мы не на математическом форуме, в школе или инсте..;)) Все кто хотел, я думаю меня прекрасно поняли.
Аватар пользователя Logic
>И, это... математика - наука ТОЧНАЯ.

Точная? Хм, распространенное заблуждение. Никогда не была точной и не будет. Хотя, тут надо бы дать определение слову "точный" применительно к математике - но, обычно, на формулировке этого определении все и заканчивается - ибо нет точного определения понятию "точный". ;-)

Аватар пользователя Инкогнито
-Гиви, сколько будет 2+2?

- 12, учитэль!

-Садысь, Гиви. Котэ, сколько будет 2+2?

- 6, учитэль.

-Маладэц, Котэ! Гдэ-то 5-6 и будэт. Но никак нэ 12!

Аватар пользователя Инкогнито
Да-да. Оттого и трубы текут, вместо кровати паровоз получается...
Аватар пользователя Инкогнито
Так а по теме: что посоветуете до 300 У.Е.?

Страницы