Содержание
Введение
Раздел I. Принцип работы Android OS и Android приложений
.1 Компоненты приложений в Android
.2 Архитектура операционной системы Android
Раздел II. Разработка Android Приложений
.1 Инструменты Android-разработчика
2.2 Установка Java Development Kit
.3 Установка Eclipse IDE
.4 Установка Android SDK
.5 Установка Android Development Tools
.6 Настройка Android Development Tools
.7 Пишем Android-приложение «Hello, World!»
Раздел III. Мобильные приложения
.1 Программы для работы с документами
.2 Программы для осуществления оперативной связи
.3 Программы удаленного доступа
Заключение
Список использованной литературы
Введение
Обязательным атрибутом при изучении любой новой области является подбор соответствующей литературы, мануалов и других информационных источников. Именно чтение литературы помогает решать возникающие проблемы. Здесь мы постарались собрать источники, посвященные программированию для платформы Android.
Начать следует с коротких презентаций, целью которых служит общее описание системы, средств и механизмов разработки приложений для неё:
1. Introduction to Android for Developers <https://docs.google.com/viewer?a=v&q=cache:lCe4YTtASQUJ:chariotsolutions.com/slides/pdfs/ete2009-IntroductiontoAndroidDevelopment.pdf+Introduction+to+Android+for+Developers+pdf&hl=ru&pid=bl&srcid=ADGEESjKnq10i3j4HG6sVn0z8jKHDyUYI6gEunBQpeMNCbVOaSQ23JUsFl0BKB4IWnn4I_a62qdJiigVi2ycNKdRFc-gjX-6g2CikCPCr-in9gYCBAAMUVIIw7BFyl28j-9oGoPZ_Iox&sig=AHIEtbTobFVOlAew8OxdqlKlS-TksxEN7g&pli=1>
2. Introduction to Android
development
<#"787560.files/image001.gif">
Если представить компонентную модель Android в виде некоторой иерархии, то в самом низу, как самая фундаментальная и базовая составляющая, будет располагаться ядро операционной системы.
o Часто компонентную модель ещё называют программным стеком. Действительно, это определение тут уместно, потому что речь идет о наборе программных продуктов, которые работают вместе для получения итогового результата. Действия в этой модели выполняются последовательно, и уровни иерархии также последовательно взаимодействуют между собой.
Как известно, Андроид основан на несколько урезанном ядре ОС Linux и поэтому на этом уровне мы можем видеть именно его (версии 2.6.x). Оно обеспечивает функционирование системы и отвечает за безопасность, управление памятью, энергосистемой и процессами, а также предоставляет сетевой стек и модель драйверов.Ядро также действует как уровень абстракции между аппаратным обеспечением и программным стеком.
«Выше» ядра, как программное обеспечение промежуточного слоя, лежит набор библиотек (Libraries), предназначенный для обеспечения важнейшего базового функционала для приложений. То есть именно этот уровень отвечает за предоставление реализованных алгоритмов для вышележащих уровней, поддержку файловых форматов, осуществление кодирования и декодирования информации (в пример можно привести мультимедийные кодеки), отрисовку графики и многое другое. Библиотеки реализованы на C/C++ и скомпилированы под конкретное аппаратное обеспечение устройства, вместе с которым они и поставляются производителем в предустановленном виде.
Перечислим некоторые из них:Manager - в ОС Android используется композитный менеджер окон, наподобие Compiz (Linux), но более упрощенный. Вместо того чтобы производить отрисовку графики напрямую в буфер дисплея, система посылает поступающие команды отрисовки в закадровый буфер, где они накапливаются вместе с другими, составляя некую композицию, а потом выводятся пользователю на экран. Это позволяет системе создавать интересные бесшовные эффекты, прозрачность окон и плавные переходы.Framework - библиотеки, реализованные на базе PacketVideo OpenCORE. С их помощью система может осуществлять запись и воспроизведение аудио и видео контента, а также вывод статических изображений. Поддерживаются многие популярные форматы, включая MPEG4, H.264, MP3, AAC, AMR, JPG и PNG.- легковесная и производительная реляционная СУБД, используемая в Android в качестве основного движка для работы с базами данных, используемыми приложениями для хранения информации.
D библиотеки - используются для высокооптимизированной отрисовки 3D-графики, при возможности используют аппаратное ускорение. Их реализации строятся на основе API OpenGL ES 1.0.
o OpenGL ES (OpenGL for Embedded Systems) - подмножество графического программного интерфейса OpenGL, адаптированное для работы на встраиваемых системах.- библиотека для работы с битовыми картами, а также для растеризации шрифтов и осуществления операций над ними. Это высококачественный движок для шрифтов и отображения текста.- библиотеки известного шустрого браузерного движка WebKit, используемого также в десктопных браузерах Google Chrome и Apple Safari.(Skia Graphics Engine) - открытый движок для работы с 2D-графикой. Графическая библиотека является продуктом Google и часто используется в других их программах. SSL - библиотеки для поддержки одноименного криптографического протокола.- стандартная библиотека языка C, а именно её BSD реализация, настроенная для работы на устройствах на базе Linux. Носит название Bionic.
На этом же уровне располагается Android Runtime - среда выполнения. Ключевыми её составляющими являются набор библиотек ядра и виртуальная машина Dalvik. Библиотеки обеспечивают большую часть низкоуровневой функциональности, доступной библиотекам ядра языка Java.
Каждое приложение в ОС Android запускается в собственном экземпляре виртуальной машины Dalvik. Таким образом, все работающие процессы изолированы от операционной системы и друг от друга. И вообще, архитектура Android Runtime такова, что работа программ осуществляется строго в рамках окружения виртуальной машины. Благодаря этому осуществляется защита ядра операционной системы от возможного вреда со стороны других её составляющих. Поэтому код с ошибками или вредоносное ПО не смогут испортить Android и устройство на его базе, когда сработают. Такая защитная функция, наряду с выполнением программного кода, является одной из ключевых для надстройки Android Runtime. Уровнем выше располагается Application Framework, иногда называемый уровнем каркаса приложений. Именно через каркасы приложений разработчики получают доступ к API, предоставляемым компонентами системы, лежащими ниже уровнем. Кроме того, благодаря архитектуре фреймворка, любому приложению предоставляются уже реализованные возможности других приложений, к которым разрешено получать доступ.
В базовый набор сервисов и систем, лежащих в основе каждого приложения и являющихся частями фреймворка, входят:
Богатый и расширяемый набор представлений (Views), который может быть использован для создания визуальных компонентов приложений, например, списков, текстовых полей, таблиц, кнопок или даже встроенного web-браузера.
Контент-провайдеры (Content Providers), управляющие данными, которые одни приложения открывают для других, чтобы те могли их использовать для своей работы.
Менеджер ресурсов (Resource Manager), обеспечивающий доступ к ресурсам без функциональности (не несущими кода), например, к строковым данным, графике, файлам и другим.
Менеджер оповещений (Notification Manager), благодаря которому все приложения могут отображать собственные уведомления для пользователя в строке состояния.
Менеджер действий (Activity Manager), который управляет жизненными циклами приложений, сохраняет данные об истории работы с действиями, а также предоставляет систему навигации по ним.
Менеджер местоположения (Location Manager), позволяющие приложениям периодически получать обновленные данные о текущем географическом положении устройства.
Таким образом, благодаря Application Framework, приложения в ОС Android могут получать в своё распоряжение вспомогательный функционал, благодаря чему реализуется принцип многократного использования компонентов приложений и операционной системы. Естественно, в рамках политики безопасности.
o Стоит отметить, просто на понятийном уровне, что фреймворк лишь выполняет код, написанный для него, в отличие от библиотек, которые исполняются сами. Ещё одно отличие заключается в том, что фреймворк содержит в себе большое количество библиотек с разной функциональностью и назначением, в то время как библиотеки объединяют в себе наборы функций, близких по логике.
На вершине программного стека Android лежит уровень приложений (Applications). Сюда относится набор базовых приложений, который предустановлен на ОС Android. Например, в него входят браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов и многие другие. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. И помимо этого базового набора к уровню приложений относятся в принципе все приложения под платформу Android, в том числе и установленные пользователем. Считается, что приложения под Android пишутся на языке Java, но нужно отметить, что существует возможность разрабатывать программы и на C/C++ (с помощью Native Development Kit), и на Basic (с помощью Simple) и с использованием других языков. Также можно создавать собственные программы с помощью конструкторов приложений, таких как App Inventor. Словом, возможностей тут много. Ну и ещё раз про архитектуру ОС Android можно узнать из первых рук, посмотрев это видео, в котором разработчики представляют презентацию, посвященную разбору системы.
Раздел II
Разработка Android
приложений
.1 Инструменты Android-разработчика
Непосредственно переход к практике программирования под любую платформу начинается с рассмотрения имеющегося арсенала инструментов разработки. Уже после того, как инструменты выбраны (руководствуясь какими-то соображениями и предпочтениями), настроены для работы и опробованы в написании каких-нибудь простых инструкций, начинается «большое» программирование и совершенствование навыков.
Прежде чем рассматривать инструменты для Android, необходимо ввести некоторые общие понятия, с которыми предстоит столкнуться на данном этапе. Первое базовое понятие - это SDK или Software Development Kit («devkit»). Под ним понимают набор средств разработки, позволяющий программистам создавать приложения под некоторую архитектуру - для определенного пакета программ, аппаратной или программной платформы, операционной или компьютерной систем. SDK, как правило, предоставляет разработчику широкий набор инструментов, который может включать в себя средства отладки и справочные материалы (примеры кода, заметки и т.д.). SDK часто предоставляется непосредственно разработчиком целевой платформы и в нем учитываются её особенности. Распространятся (как и в случае с Android) такой инструментарий может бесплатно. Это помогает платформе обзаводиться разнообразными приложениями за счет сторонних разработчиков.
Ещё одним понятием, которое часто можно встретить, когда речь идет об инструментах разработки, является IDE (Integrated development environment) - интегрированная среда разработки. Она представляет собой набор программных средств, призванный максимизировать производительность программиста за счет построения для него удобной и дружелюбной среды для процесса программирования. Этот сложный программный комплекс может включать в себя текстовый редактор (чаще всего с подсветкой синтаксиса и подсказками), компилятор или интерпретатор (иногда поддерживаются несколько языков), интегрированный отладчик и средства для автоматизации сборки. Часто поддерживаются возможности интеграции со сторонним программным обеспечением, например, средствами проектирования или контроля версий. Также чаще всего в IDE есть инструменты для быстрого построения и визуального редактирования графического интерфейса будущей программы, а также инструменты вроде диаграмм иерархии классов, браузера классов, инспектора объектов или менеджера ресурсов. Таким образом, интегрированная среда разработки призвана объединить различные инструменты в один программный комплекс для обеспечения удобства и повышения скорости разработки ПО. Хотя на деле можно и не использовать для программирования какую-либо IDE, предпочтя несвязные между собой инструменты.
Разработка приложений для платформы Android связана с группой инструментов, которые предоставляются набором Android SDK. Также понадобятся инструментарий для разработки приложений в Java SE (JDK) и интегрированная среда разработки. В качестве последней принято использовать Eclipse IDE, что будем делать и мы, хотя стоит отметить, что разработку приложений можно вести и с помощью простейшего текстового редактора или других IDE, а также вызывать инструменты с помощью скриптов или использования командной строки. Однако разработка в Eclipse является предпочтительным методом, потому что, во-первых, эта среда может напрямую обращаться к необходимым инструментам, а во-вторых, для неё существует специальный плагин, Android Development Toolkit (ADT), который обеспечивает переход к созданию приложений под Android с помощью Eclipse IDE ещё более удобным образом.
В заключении отметим, что Android SDK требует
JDK версии 5 или выше, а также Eclipse версии 3.3 или выше. На сайтах
разработчиков доступны версии SDK, Java и Eclipse для операционных систем
Windows, Linux и Mac OS, а в SDK входит эмулятор для каждой из них. Вообще
говоря, приложения под Android выполняются в виртуальной машине, и выбор любой
из существующих операционных систем не дает никаких преимуществ перед другими,
так что можно работать с той, которая более удобна. Наши дальнейшие примеры
будут рассмотрены для ОС Windows, но, если будет необходимость, мы рассмотрим и
работу с Linux.
.2 Установка Java Development Kit.
Для создания программ на языке Java необходимо специальное программное обеспечение. Самые последние версии этого ПО можно загрузить с официального сайта разработчика, Oracle Corporation.
К этому программному комплексу относятся такие инструменты как JRE (Java Runtime Environment) и JDK (Java Development Kit). Первый инструмент представляет собой среду выполнения - минимальную реализацию виртуальной машины, в которой запускается и выполняется программный код на Java. Второй инструмент - это в свою очередь целый набор инструментов, комплект разработчика приложений на языке Java. На самом деле, JRE также входит в состав JDK, равно как и различные стандартные библиотеки классов Java, компилятор javac, документация, примеры кода и разнообразные служебные утилиты. Весь этот набор распространяется свободно и имеет версии для различных ОС, поэтому любой может его скачать и использовать.
В JDK не входит интегрированная
среда разработки, предполагается, что её разработчик будет устанавливать
отдельно. Существуют многочисленные IDE для Java-разработки, например,
NetBeans, IntelliJ IDEA, Borland JBuilder и другие. Но мы оговорили ранее, что
для разработки приложений под Android мы выберем Eclipse IDE. Для установки
JDK, необходимо сначала загрузить её с сайта разработчика
<#"787560.files/image002.gif">
Подтверждаем внесенные изменения. Теперь SDK Manager должен запуститься без проблем. После запуска программа соединится с репозиторием и в окне менеджера отобразится список доступных пакетов. В окошке Available Packages (доступные пакеты) выберем нужные пакеты, после чего нужно нажать Install Selected (установить выбранное). После успешной установки мы будем иметь на компьютере полноценный боевой Android SDK и можем перейти к установке и настройке плагина для Eclipse.
o Если во время запуска установщика
возникает ошибка, то нужно зайти в меню SDK
Manager на
вкладку
Settings и там
снять
отметку
с
пункта
Force https://… sources to fetched using #"787560.files/image003.gif">
.6 Настройка Android Development Tools
Данный шаг является последним, после него у нас на компьютере будет готовый инструментарий для создания приложений для платформы Android и использованием языка Java и среды Eclipse. На этом шаге мы настроим установленный плагин ADT, связав Eclipse с каталогом Android SDK.
Вот ход наших действий:
. Перезапустим Eclipse, если это ещё не сделано с предыдущих шагов.
. В меню выбираем элемент Window (Окно), пункт Preferences (Настройки).
. В появившемся диалоговом окне слева
находим узел Android и выбираем его. Выскочит небольшое окошко, в котором нам
предложат отправлять на сервер Google статистику использования Android SDK;
разбираемся с этим вопросом согласно своим предпочтениям.