На сайте будет размещен цикл статей, посвященный программированию под Android.
План цикла:
1) Android. Вступление.
2) Android. Архитектура.
3) Android. Средства разработки.
4) Android. Hello, world.
5) Android. Первое приложение.
Android. Вступление.
В первой части данного цикла пойдет речь о том, что из себя представляет Android OS, основные компоненты Android OS, перспективы разработки под Android OS.
Android – является операционной системой, которая основана на ядре Линукс. Интерфейсом программирования, является, Java. Android OS была создана альянсом Open Handset, возглавляемый компанией Гугл. Для разработки предоставлены всевозможные инструменты – компилятор, отладчик, виртуальная машина DVM, эмулятор устройств.
Как уже было сказано, Android использует виртуальную машину DVM (Dalvik Virtual Machine). Так как виртуальная машина использует свой байткод, не удастся запустить стандартный байткод Java на Android. Конвертирование файлов Java Class в «dex» (Dalvik Executable) файлы возможно с предоставляемым инструментом «dx» (Android dx tool). Приложения в Android пакуются в apk-файлы (Android Package) программой «aapt» (Android Asset Packaging Tool). Разработка приложений ведется в Android Development Tools (ADT) для Eclipse. ADT автоматически преобразует файлы Java Class в «dex», в итоге создавая apk-файл.
Android OS имеет поддержку 2d, 3d графики, для отображения используются библиотеки OpenGL, хранение данных в БД SQL.
При запуске приложения в Android OS, имеют свой процесс, а также свой userid генерируемый автоматически во время развертывания. Приложение изолировано от других приложений, неправильно работающее приложение не может навредить другим запущенным приложениям.
Основные компоненты Android OS:
• Activity – являет собой схему представления приложений. По сути, является отдельной формой приложения. Приложения в Android могут состоять из нескольких форм, и могут переключаться между ними (формами) во время работы приложения.
• Intents – дает возможность приложению запрашивать функцию из других служб и действий с помощью асинхронных сообщений.
• View – интерфейс пользователя, созданный с помощью виджетов класса. Это элементы управления: кнопки, текстовые поля, флажки, переключатели и т.д.
• Services – выполнение фоновых задач без пользовательского интерфейса (проигрывание музыки). Интерфейс представлен в виде уведомлений самой системы Android.
• Content Provider – выполняет обмен данных между приложениями. Обмен данных возможен с помощью БД SQL которая выполняет роль контент-провайдера.
• Broadcast Receiver – выполняет реагирование на события (системный сообщения, неявные действия). Приложение может быть приемником определенных событий, в случае поступления такого события приложение может быть запущенно.
Перспективы разработки под Android OS.
ИМХО, десктопные системы отживают своё, в повседневную жизнь постепенно входят мобильные устройства (планшеты, телефоны и т.д.). Планшеты становятся удобней, телефоны мощнее. Android отхватывает все большую часть рынка. Android хорош своей простотой в разработке приложений в сравнении с iOS. Разрабатывая приложение для iOS нужно учитывать такие моменты как:
• Для запуска XCode потребуется Mac с OS X;
• iPhone\iPad для тестирования ;
• аккаунт девелопера - 100 у.е. в год;
С Android проще:
• аккаунт девелопера - 25 у.е. в год;
• Eclipse с SDK на вашем ПК (Windows, Linux, Mac OS);
Разрабатывая приложение для iOS вероятность заработка выше в отличие от Android. Людей готовых отдать пару баксов за ваше приложение на iOS больше. iOS отпугивает потенциального разработчика порогом вхождения в разработку под iOS.
В любом случае, выбор только за Вами.
Продолжение следует…
Михайлов Дмитрий - Crown