Разработка Android приложений

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Содержание

Введение

Раздел I. Принцип работы Android OS и Android приложений

1.1 Компоненты приложений в Android

1.2 Архитектура операционной системы Android

Раздел II. Разработка Android Приложений

2.1 Инструменты Android-разработчика

2.2 Установка Java Development Kit

2.3 Установка Eclipse IDE

2.4 Установка Android SDK

2.5 Установка Android Development Tools

2.6 Настройка Android Development Tools

2.7 Пишем Android-приложение «Hello, World!»

Раздел III. Мобильные приложения

3.1 Программы для работы с документами

3.2 Программы для осуществления оперативной связи

3.3 Программы удаленного доступа

Заключение

Список использованной литературы

Введение

Обязательным атрибутом при изучении любой новой области является подбор соответствующей литературы, мануалов и других информационных источников. Именно чтение литературы помогает решать возникающие проблемы. Здесь мы постарались собрать источники, посвященные программированию для платформы Android.

Начать следует с коротких презентаций, целью которых служит общее описание системы, средств и механизмов разработки приложений для неё:

1. Introduction to Android for Developers

2. Introduction to Android development

3. Writing Real Time Games For Android — Chris Pruett

Ещё одним источником официальной информации является документация к Android SDK.

Далее идут полноценные книги и издания зарубежных авторов, ссылки на них нетрудно найти в Интернет: Pro Android Games (Автор: Vladimir Silva)

1. Android Essentials (Автор: Chris Haseman)

2. Beginning Android (Автор: Mark L. Murphy)

3. Pro Android (Авторы: Sayed Y. Hashimi, Satya Komatineni)

4. Building Android Apps with HTML, CSS, and JavaScript (Автор: Jonathan Stark)

5. Professional Android 2 Application Development (Автор: Reto Meier)

6. Beginning Android 2 (Авторы: Mark Murphy, Apress)

7. Pro Android 2 (Авторы: Sayed Hashimi, Satya Komatineni, Dave MacLean -- Apress)

8. Android™ A Programmer’s Guide (Автор: J.F. DiMarzio)

9. Hello, Android. Introducing Google’s Mobile Development Platform (Автор: Ed Burnette)

10. Professional Android™ Application Development (Автор: Reto Meier)

11. Unlocking Android A Developers Guide (Авторы: W. Frank Ableson, Charlie Collins, Robi Sen)

12. The Android Developer’s Cookbook: Building Applications with the Android SDK (Авторы: James Steele, Nelson To)

13. Android Application Development: Programming with the Google SDK (Авторы: Rick Rogers, John Lombardo, Zigurd Mednieks, G. Blake Meike)

14. andbook! (Android Programming with Tutorials from the anddev. org-Community) -- учебник составлен целым коммьюнити. Примечательно, что на просторах рунета доступен его русский перевод.

Раздел I

Принцип работы Android OS и Android приложений

Приложения под операционную систему Android разрабатываются в основном с использованием Java. Скомпилированный программный код (вместе со всеми файлами ресурсов и прочей необходимой информацией) упаковывается в специальный файл-архив, Android Package. Этот файл имеет расширение *. apk и упаковывается специальной утилитой aapt tool. Именно он в дальнейшем распространяется как программа и инсталлируется на мобильные устройства. Один такой файл связан с кодом одного приложения. И каждое приложение в Android живет в своем собственном мире — в такой машине. По умолчанию, каждая программа выполняется в своем собственном процессе, управлением которого занимается ядро Linux, которое также осуществляет менеджмент памяти. Таким образом, чаще всего код приложения выполняется в изоляции от всех других приложений. Android стартует процесс, когда возникает необходимость выполнить какой-нибудь программный код и завершает его, когда в нем больше нет необходимости и системные ресурсы требуются другим приложениям. По умолчанию, каждому приложению присваивается свой уникальный ID Linux-пользователя. Права доступа устанавливаются таким образом, чтобы файлы приложения были видны только этому пользователю и данному приложению. Хотя, есть способы, позволяющие экспортировать их в другие приложения. Например, существует возможность «разделения» одного и того же пользовательского ID между двумя приложениями. В таком случае, они смогут видеть файлы друг друга. Для того, чтобы экономить системные ресурсы, приложения с одинаковым ID можно также договориться запускать в одном и том же Linux-процессе, разделяя одну и ту же виртуальную машину.

1.1 Компоненты приложений в Android

android программа приложение

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

Можно выделить четыре типа таких сущностей-компонент. Поговорим о каждой в отдельности.

Activities

Activity представляет собой внешний пользовательский интерфейс для одной операции, которую может совершить пользователь. Если упростить, то это просто один текущий экран как некоторая единица активности, своего рода кадр с одним пользовательским действием. Здесь и далее будет использоваться термин activity без перевода, как некоторое имя собственное. Хотя дословный перевод, «активность» или «действие», хорошо передает общий смысл компонента.

Например, activity может предоставить список пунктов меню, которые может выбрать пользователь или отобразить фотографии с их подписями. Или другой пример — приложение для мгновенного обмена сообщениями может использовать одно activity для того чтобы отобразить лист контактов, другое — чтобы создать сообщение для выбранного контакта, третье — чтобы посмотреть историю сообщений или выполнить настройки и так далее.

Все activity текущего приложения работают вместе и формируют единый пользовательский интерфейс, однако при этом они независимы между собой. Каждое из них реализовано как подкласс базового класса Activity, обеспечивающего создание окна, в котором программист может поместить визуальный интерфейс.

Приложение может состоять из всего одного activity или сразу из нескольких, как упомянутый ранее в качестве примера мессенджер. Какими именно будут activity и сколько их будет, зависит от конкретного приложения и его дизайна. Как правило, одно из activity помечается как первое, это означает, что оно будет предоставлено пользователю при запуске приложения. Одно activity может запускать другое. Таким образом, переход от одного activity к другому осуществляется тогда, когда текущее activity вызывает следующее.

Каждое activity предоставляет окно по умолчанию. Обычно окно создается в полноэкранном виде, но оно также может и не занимать весь экран и находиться поверх других окон. Activity также может задействовать дополнительные окна — например, всплывающее диалоговое для взаимодействия с пользователем в процессе работы activity, или окно для предоставления текущей информации при выборе какой-нибудь важной опции.

Визуальное содержание окна строится с помощью иерархии визуальных компонентов (или представлений) — объектов, производных от базового класса View. Каждый компонент представляет собой просто прямоугольное пространство внутри окна. Родительские компоненты содержат дочерние и организуют их расположение. Иерархию компонент можно представить в виде дерева, а те элементы, которые находятся в самой нижней его части («листья») и не имеют дочерних компонент, отрисовывают прямоугольные области и ожидают действий пользователя на этом участке. Таким образом осуществляется интерактивное взаимодействие с пользователем. К примеру, такое представление может отображать на экране маленькую иконку и инициировать какое-нибудь действие, когда пользователь на неё нажмет. В операционной системе Android уже есть набор готовых визуальных компонент, которые доступны для использования разработчиками. Набор включает в себя кнопки, текстовые поля, полосы прокрутки, меню, флажки-переключатели и многое другое.

Для того чтобы поместить в окно такую иерархию, нужно вызвать метод Activity. setContentView (). Параметром метода является экземпляр класса View, лежащий в корне иерархии.

Services (сервисы) представляют из себя компоненты, которые работают в фоновом режиме. Он, как правило, требуется для длительных операций или для обеспечения работы удаленных процессов, но в общем случае это просто режим, который функционирует, когда приложение не в фокусе. Примером такого процесса может стать прослушивание музыки в то время, когда пользователь делает что-то другое или получение данных по сети без блокирования текущей активности. Сервис сам по себе не предоставляет пользовательского интерфейса, то есть с пользователем не взаимодействует, а запускается, управляется и связан с другими компонентами, например, activity. Также может запускаться вместе с системой.

Content providers Данный компонент управляет наборами данных, которые приложения предоставляют другим. Эти данные могут храниться в файловой системе, базах данных SQLite, в сети, или в любом другом постоянном месте, к которому приложение может иметь доступ. Посредством content provider другое приложение может запрашивать данные и, если выставлены соответствующие разрешения, изменять их. Например, система Android содержит content provider, который управляет пользовательской информацией о контактах. Он позволяет любому приложению, обладающему соответствующими правами вызывать составляющие этого компонента для того, чтобы считывать, записывать или изменять информацию о конкретном человеке.

В более общем случае, content provider можно использовать для чтения и записи данных, которые используются приложением и не являются открытыми для других. Например, приложение Note Pad использует такой компонент для сохранения сделанных записей.

Данные компоненты реализуются как подкласс ContentProvider. И для того, чтобы другие приложения могли совершить операции с данными, им необходимо предоставить стандартный набор API.

Broadcast receivers. Этот компонент отвечает за распространение общесистемных сообщений, отслеживание и реагирование на действия. Многие оповещения идут от системы, например, сообщения о том что заряд батареи мал или экран выключен. Приложения также могут инициировать такие оповещения, например, сигнализировать о том, что информация загружена на устройство и доступна к использованию. Как и сервисы, broadcast receiver не предоставляет пользовательского интерфейса, однако, он способен создавать уведомления в строке состояния, чтобы предупреждать пользователя о том, что произошло какое-то событие. Однако чаще broadcast receiver взаимодействует с другими компонентами для того, чтобы самому выполнять минимальный объем работы. Так, он может инициировать сервисы для выполнения действий, привязанных к какому-то событию.

1.2 Архитектура операционной системы Android

Если представить компонентную модель Android в виде некоторой иерархии, то в самом низу, как самая фундаментальная и базовая составляющая, будет располагаться ядро операционной системы.

o Часто компонентную модель ещё называют программным стеком. Действительно, это определение тут уместно, потому что речь идет о наборе программных продуктов, которые работают вместе для получения итогового результата. Действия в этой модели выполняются последовательно, и уровни иерархии также последовательно взаимодействуют между собой.

Как известно, Андроид основан на несколько урезанном ядре ОС Linux и поэтому на этом уровне мы можем видеть именно его (версии 2.6. x). Оно обеспечивает функционирование системы и отвечает за безопасность, управление памятью, энергосистемой и процессами, а также предоставляет сетевой стек и модель драйверов. Ядро также действует как уровень абстракции между аппаратным обеспечением и программным стеком.

«Выше» ядра, как программное обеспечение промежуточного слоя, лежит набор библиотек (Libraries), предназначенный для обеспечения важнейшего базового функционала для приложений. То есть именно этот уровень отвечает за предоставление реализованных алгоритмов для вышележащих уровней, поддержку файловых форматов, осуществление кодирования и декодирования информации (в пример можно привести мультимедийные кодеки), отрисовку графики и многое другое. Библиотеки реализованы на C/C++ и скомпилированы под конкретное аппаратное обеспечение устройства, вместе с которым они и поставляются производителем в предустановленном виде.

Перечислим некоторые из них:

Surface Manager — в ОС Android используется композитный менеджер окон, наподобие Compiz (Linux), но более упрощенный. Вместо того чтобы производить отрисовку графики напрямую в буфер дисплея, система посылает поступающие команды отрисовки в закадровый буфер, где они накапливаются вместе с другими, составляя некую композицию, а потом выводятся пользователю на экран. Это позволяет системе создавать интересные бесшовные эффекты, прозрачность окон и плавные переходы.

Media Framework — библиотеки, реализованные на базе PacketVideo OpenCORE. С их помощью система может осуществлять запись и воспроизведение аудио и видео контента, а также вывод статических изображений. Поддерживаются многие популярные форматы, включая MPEG4, H. 264, MP3, AAC, AMR, JPG и PNG.

SQLite — легковесная и производительная реляционная СУБД, используемая в Android в качестве основного движка для работы с базами данных, используемыми приложениями для хранения информации.

3D библиотеки -- используются для высокооптимизированной отрисовки 3D-графики, при возможности используют аппаратное ускорение. Их реализации строятся на основе API OpenGL ES 1.0.

o OpenGL ES (OpenGL for Embedded Systems) — подмножество графического программного интерфейса OpenGL, адаптированное для работы на встраиваемых системах.

FreeType — библиотека для работы с битовыми картами, а также для растеризации шрифтов и осуществления операций над ними. Это высококачественный движок для шрифтов и отображения текста.

LibWebCore — библиотеки известного шустрого браузерного движка WebKit, используемого также в десктопных браузерах Google Chrome и Apple Safari.

SGL (Skia Graphics Engine) — открытый движок для работы с 2D-графикой. Графическая библиотека является продуктом Google и часто используется в других их программах. SSL — библиотеки для поддержки одноименного криптографического протокола.

Libc — стандартная библиотека языка 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 приложений

2.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.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, необходимо сначала загрузить её с сайта разработчика, выбрав нужную версию для своей операционной системы и архитектуры. Затем производится инсталляция данного программного обеспечения с параметрами по умолчанию, которые предлагаются мастером установки.

2.3 Установка Eclipse IDE

Чтобы получить рабочий инструментарий для разработки приложений под Android — это загрузить и установить среду Eclipse. Скачать данную IDE можно с портала Eclipse Foundation, с этой странички. Как и другие необходимые нам инструменты, этот программный продукт свободно распространяется и его можно использовать на любой операционной системе.

А пока скачаем нужную нам версию и установим её. Достаточно будет версии «for Java developers», но ничего страшного, если это будет более навороченная «for EE developers». Распакуем содержимое скачанного архива в любое удобное место на жестком диске. Например, на Windows можно распаковать прямо в корень системного диска (как это сделал я), на Linux — в каталог Home, на Mac OS — в Applications. Какая бы ОС не была выбрана, в каталоге Eclipse можно найти одноименный исполняемый файл (для Windows это eclipse. exe), запустив который, мы запустим данную IDE. Удобно вынести ярлык для этого файла на видное место.

При первом запуске IDE попросит указать рабочее пространство (workspace), это одна из концепций Eclipse. Рабочее пространство — это контейнер для проектов, имеющий свой собственный набор метаданных и установок (preferences). Например, у меня это будет C: /Android. После того как среда разработки загрузится, на главном экране нужно нажать значок Workbench -- Go to the workbench.

2.4 Установка Android SDK

Для разработки приложений для платформы Android нам понадобится установить на компьютер Android SDK. Помимо прочих инструментов разработчика в него входит эмулятор нашей мобильной операционной системы, так что для программирования и отладки даже необязательно иметь под рукой устройство на базе Android. SDK имеется в свободном доступе, и скачать его можно с официального сайта -- http: //developer. android. com/sdk/index. html. Отсюда нужно загрузить версию SDK для своей операционной системы.

Например, для Windows предлагаются версии в виде архива zip и исполняемого файла exe. И в том, и в другом случае Android SDK представляет собой просто сжатую папку с файлами, содержимое которой будет распаковано в удобное нам место.

o Если вдруг во время распаковки архива (в случае с exe-файлом) появляются уведомления об отсутствии в системе установленного JDK (а он при этом установлен), то достаточно нажать кнопку Back (Назад) и снова попробовать, тогда всё станет корректно.

После проделанных действий мы пойдем в папку с распакованным контентом и почитаем «SDK Readme. txt», в котором говорится о том, что данный архив содержит в себе только базовые инструментальные средства. Для полноценной разработки нам предстоит воспользоваться утилитой «SDK Manager», которая позволяет устанавливать и модифицировать компоненты SDK, пользуясь репозиторием на сервере Google (да-да, понадобится соединение с Интернет).

Запустим исполняемый файл с названием SDK Manager. Здесь может возникнуть проблема с его работой. Если выдаются ошибки и приложение не запускается, то тут дело в переменной среды PATH, которая хранит в себе пути поиска для исполняемых файлов и используется различными программами и скриптами. Для корректной работы в этой переменной должен быть указан путь до каталога инструментов Android SDK, а также до каталога bin для JDK (в дальнейшем он нам понадобится).

Поэтому надо записать эти пути в переменную PATH. На примере Windows XP — щелкаем правой клавишей мыши на значке «Мой компьютер», выбираем вкладку «Дополнительно», «Переменные среды», отыскиваем среди переменных PATH, «Изменить». В поле «Значение переменной» в конце ставим «; «, затем пишем путь до каталога tools в Android SDK, по умолчанию это «C: Program FilesAndroidandroid-sdktools», «; «, а затем путь до bin, который лучше прописать так -- «%JAVA_HOME%bin», в результате переменная PATH примет примерно такой вид:

C: Program FilesAndroidandroid-sdktools; %JAVA_HOME%bin

Подтверждаем внесенные изменения. Теперь SDK Manager должен запуститься без проблем. После запуска программа соединится с репозиторием и в окне менеджера отобразится список доступных пакетов. В окошке Available Packages (доступные пакеты) выберем нужные пакеты, после чего нужно нажать Install Selected (установить выбранное). После успешной установки мы будем иметь на компьютере полноценный боевой Android SDK и можем перейти к установке и настройке плагина для Eclipse.

o Если во время запуска установщика возникает ошибка, то нужно зайти в меню SDK Manager на вкладку Settings и там снять отметку с пункта Force https: //… sources to fetched using http: //…

В дальнейшем этот процесс можно будет вызывать прямо из IDE Eclipse или с помощью командной строки Windows, давая команду toolsandroid. bat_update_sdk

2.5 Установка Android Development Tools

Плагин для Eclipse, Android Development Tools (ADT), поможет писать приложения для Android. Он интегрируется с Eclipse IDE для того, чтобы обеспечить возможности создания, отладки и тестирования android-приложений.

Ход установки по шагам:

1. Запускаем среду Eclipse.

2. В меню выбираем элемент Help (Помощь), затем пункт Install New Software (Установить новую программу).

3. В появившемся окне Install, в поле Work with (Работать с) вводим адрес ресурса -- https: //dl-ssl. google. com/android/eclipse и жмем Enter. Если всё сделано правильно, то Eclipse соединится с ресурсом и загрузит оттуда список, который отобразится чуть ниже как запись Developer Tools с несколькими подчиненными узлами.

o Если появляются ошибки вроде «unable to read repository at…», то нужно в адресе ресурса вместо https использовать http.

4. Выберем (отметим галочкой) узел Developer Tools (также убедимся, что все подчиненные узлы также отмечены) и затем нажмем Next (Далее).

5. Отобразится окно, в котором нужно подтвердить установку выбранных пакетов. Жмем Next (Далее). В следующем окне нам предлагается прочитать лицензионное соглашение по ADT и связанным с ним инструментам. Чтобы продолжить установку, необходимо его принять — выбираем пункт «I accept» (Я согласен) и жмем Next (Далее).

Теперь Eclipse автоматически загрузит и установит плагин ADT, а затем предложит перезапустить IDE. Это необходимо, чтобы плагин отобразился в Eclipse.

6. Перезапускаем Eclipse.

o Если до этого в Eclipse уже были установлены предыдущие версии ADT, то их можно обновить. Это делается через меню Help > Check for Updates (Помощь > Проверить наличие обновлений), а сам процесс не отличается от вышеприведенного.

2.6 Настройка Android Development Tools

Данный шаг является последним, после него у нас на компьютере будет готовый инструментарий для создания приложений для платформы Android и использованием языка Java и среды Eclipse. На этом шаге мы настроим установленный плагин ADT, связав Eclipse с каталогом Android SDK.

Вот ход наших действий:

1. Перезапустим Eclipse, если это ещё не сделано с предыдущих шагов.

2. В меню выбираем элемент Window (Окно), пункт Preferences (Настройки).

3. В появившемся диалоговом окне слева находим узел Android и выбираем его. Выскочит небольшое окошко, в котором нам предложат отправлять на сервер Google статистику использования Android SDK; разбираемся с этим вопросом согласно своим предпочтениям.

4. В поле SDK Location укажем каталог, в котором у нас находится Android SDK. Для этого просто нажмем кнопку Browse и отыщем папку с SDK в дереве каталогов.

5. Жмем кнопку Apply, а затем OK.

Готово, теперь плагин ADT настроен и наша среда Eclipse готова к работе. Плагин предоставляет доступ ко всем инструментам Android SDK внутри Eclipse. В частности, через пункт Window > Android SDK and AVD Manager мы можем получить доступ к менеджеру обновлений и управлять виртуальными устройствами. Также в среду теперь интегрирован мастер создания проектов Android и многое другое.

2.7 Пишем Android-приложение «Hello, World!»

В процессе разработки этого простого приложения мы рассмотрим различные аспекты, знание которых поможет немного освоиться в новом инструментарии.

Начнем.

1. Запускаем Eclipse.

2. Выбираем элемент меню File, пункт New и потом Project.

3. Щелкаем на узле Android, раскрываем его и выбираем подпункт Android Project. Жмем Next.

4. Появится окно, в нем нужно корректно заполнить поля:

Поле Project Name предназначено для имени нашего проекта, впишем сюда «HelloWorld», хотя подойдет любое. В графе Build Target нужно указать, какая версия API будет использована в проекте. Принцип прост, нужно просто знать, какую функциональность мы будем использовать в нашей программе, и ставить минимальную версию API, которая позволит эту функциональность реализовать. В нашем случае выберем версию Android 1.5. В поле Application Name указывается название исполняемого файла приложения. Оставим «HelloWorld», в дальнейшем можно будет переименовать. Package Name обозначает название пакета и сюда можно записать уникальное название нашего проекта среди всех программ для платформы Android. Хорошим тоном считается заполнение этого поля в нижнем регистре, а уникальности можно достигнуть, дописав сюда идентификатор разработчика. Около графы Create Activity должна стоять галочка, а в поле нужно написать название для этого объекта. Оставим как есть («HelloWorldActivity»). В Min SDK Version (минимальная версия SDK) указывается для какой версии платформы создается приложение, то есть в каких устройствах оно будет поддерживаться. Оставим 3. Жмем кнопку Finish.

5. Мы создали ядро для нашего проекта. Слева мы можем видеть окно Package Explorer. Здесь отображаются все компоненты нашего приложения. Посмотрим на его состав.

Директория res содержит ресурсы нашего приложения. Внутри неё находятся следующие папки:

o Drawable — содержит графические файлы, например, значки или растровые изображения.

o Layout — содержит файлы в формате XML, представляющие собой макеты и представления приложения.

o Values -- содержит XML-файл strings, который является основным средством для поиска строк символов для нашего приложения.

В директории src находится пакет с исходным кодом для приложения. В частности здесь есть java-файл с названием, которое мы присвоили Activity. В нем содержится реализация класса основной операции приложения.

В директории gen находится файл R. java. Он создается ADT автоматически и в нем содержатся константы-идентификаторы, которые необходимы для доступа к различным ресурсам приложения. Так как он генерируется автоматически во время сборки, изменять его вручную бесполезно, потому что всё внесенное пропадет.

Также в Package Explorer можно найти связанные библиотеки, среди которых присутствует android. jar, являющийся файлом runtime-класса Android, поставляемый в составе Android SDK.

Файл AndroidManifest. XML является дескриптором установки Android-приложения и содержит данные обо всех источниках информации, приемниках, операциях и фильтрах.

6. Посмотрим файл main. xml, находящийся в папке res> layout. В нем содержится макет приложения, включающий элементы интерфейса (метки, текстовые окна и другие элементы). Дважды щелкнем на нём и посмотрим содержимое. Можно заметить, что используется линейный макет (Linear Layout), который располагает элементы в одну строку или столбец. Для нашего примера он подходит, хотя чаще всего придется вносить изменения.

7. Редактируем файл strings. xml, который находится в папке res> values. В нем изменяем значение строки hello на «Hello, World!». Строку app_name оставим без изменений.

8. Теперь в Package Explorer откроем узел с названием пакета (мы указывали его при создании проекта в поле Package Name), отыщем в нем файл HelloWorldActivity. java и посмотрим его содержимое:

Первая строка в коде содержит название пакета, относящегося к java-файлу. Далее идет инструкция импорта комплекта ОС и функции, которая должна запускать наше приложение. Далее идет объявление класса HelloWorldActivity и внутри него расположен метод onCreate, срабатывающий при инициализации. Обычно внутри этого метода находится вызов функции setContentView, которая построит макет пользовательского интерфейса, определяемый параметром R. layout. main. Вообще, можно создавать несколько различных макетов интерфейса, если этого потребует архитектура приложения.

9. Создадим эмулятор для запуска нашего приложения. Мы не рассматривали этот вопрос в предыдущих статьях и сейчас самое время уделить ему внимание. Если Вы уже проделали это на своем компьютере, то можете переходить к следующему пункту.

Для создания виртуального устройства нужно в меню Eclipse выбрать Window> Android SDK and AVD Manager, в появившемся окне, во вкладке Virtual Devices, нажать New. Появится диалог, в котором мы можем сконфигурировать виртуальное устройство, в котором будут запускаться разрабатываемые приложения. Здесь можно выставить любые настройки, например, разрешение экрана или объем SD-карты, как если бы мы работали с настоящим устройством. Обязательно нужно задать имя устройства (поле Name) и платформу, на которой оно будет работать (поле Target). После того как мы создадим конфигурацию, нажмем кнопку Create AVD.

10. Далее запустим наше приложение в эмуляторе. Выбираем в меню Eclipse пункт Run> Run (или щелкаем значок со стрелочкой в панели или пользуемся комбинацией клавиш Ctrl+F11). Понадобится указать тип запускаемого проекта, выбираем Android Application и жмем OK. Если все шаги выше проделаны корректно, то вскоре мы увидим что-то подобное:

Эмулятор загружается в отдельном окне и процесс его старта на слабых машинах может быть довольно долгим. Когда он запустится, может появиться уведомление о том, что для разблокировки нужно нажать кнопку Menu под экраном аппарата.

Всё, что происходит во время процесса запуска приложения, отображается в окне Console в нижней части экрана в Eclipse. Если что-то пойдет не так, там появятся предупреждения и советы по возможному решению возникшей проблемы. Также информация об ошибках содержится в окне Problems.

В меню Run> Run Configurations можно более тонко настроить поведение нашего инструментария во время запуска создаваемых приложений.

Раздел III

Приложения позволяющие производить электронный обмен данными

Системы электронного документооборота еще находятся на начальной стадии и не раскрыли свой полный потенциал, а использование в этих системах мобильных устройств стали совсем недавно, поэтому на данный момент не существует единой программы, которая могла бы объединить в себе все системы документооборота, такие как:

1. Общение между сотрудниками,

2. Использование общего файлового сервера

3. Моментальное обновление баз данных и др.

Для осуществления эффективной работы с электронным обменном данных с использование мобильных устройств нужно выделить несколько категорий полезных программ:

1. Программы для работы с документами — сюда входят программы позволяющие оперативно читать документы современных форматов (DOC, DOCX, TXT, XLS, XLSX, CSV, PPT, PPTX, PPS, PPSX, PDF)

2. Программы для осуществления оперативной связи (быстрые сообщения, аудио и видео -конференции, передача файлов.)

3. Программы удаленного доступа, позволяющие с мобильного устройства использовать весь потенциал ПК подключенного к сети интернет.

Рассмотрим некоторые из них, и представим каким должно быть мобильное приложение, которое сочетало бы все перечисленные аспекты электронного документооборота.

3.1 Программы для работы с документами

На данный момент самой продвинутой программой для работы с документами является программа OfficeSuite Pro от компании MobiSystems, которая разрабатывает приложения для всех видов мобильных операционных систем.

Описание:

OfficeSuite Viewer является наиболее полным приложение для просмотра документов для Android позволяющие открыть DOC, DOCX, TXT, XLS, XLSX, CSV, PPT, PPTX, PPS, PPSX и PDF-файлов и вложений.

В связи с тем что при электронном документообороте часто используются различные базы данных, стоит рассмотреть такие программы — AndSQLite и SQLite Editor. Данные программы позволяют редактировать БД SQL, но к сожалению на данном этапе не одна из них не имеет возможности подключения к удаленной БД.

Для получения доступа к удаленной базе данных существует программа MySQL Connector, но на данном этапе для Android устройств эта программа находится в процессе доработки.

В итоге можно сказать что на данном этапе для обновления базы данных необходим сотрудник, который бы принял обновленную БД с телефона и вручную внес информацию на сервер. Или же пользователю мобильного устройства понадобится программа удаленного доступа к своему ПК, в таком случае он сможет отправить обновленную БД к себе на стационарный компьютер и путем подключения по удаленному доступу сам обновить БД.

3.2 Программы для осуществления оперативной связи

Для быстрого обмена сообщениями используются IM (Instant messaging или система мгновенного обмена сообщениями) и мультипротокольные клиенты

В системах IM могут передаваться текстовые сообщения, звуковые сигналы, изображения, видео, а также производиться такие действия, как совместное рисование или игры. Многие из таких программ-клиентов могут применяться для организации групповых текстовых чатов или видеоконференций.

В данной среде лидирующими являются IM+ и Jasmine IM

IM+ All-in-One Mobile Messenger — Мультипротокольный клиент обмена мгновенными сообщениями от компании SHAPE Servises

IM+ поддерживает все популярные сервисы обмена мгновенными сообщениями: Facebook, Skype, ICQ, ВКонтакте, Mail. Ru Агент, Я. Онлайн (Яндекс. Чат), MSN/Live Messenger, Google Talk, Yahoo!, AIM/iChat, MySpace и Jabber.

Так же в эту категорию попадают почтовые клиенты необходимые для оперативной работы с электронной почтой, и лидирующей программой среди них является AquaMail, в данный момент работает с: Gmail, Yandex, Rambler, QIP. ru/Front. ru/etc., Mail. ru, tut. by, Hotmail/Live, Yahoo, gmx. com, Exchange через IMAP и DavMail, Lotus Notes через IMAP, и так далее.

3.3 Программы удаленного доступа

Существует множество программ для осуществления удаленного доступа с мобильного устройства к любому устройству подключенному к сети интернет.

Такими программами являются Splashtop Remote Desktop и TeamViewer

TeamViewer обеспечивает простой, быстрый и безопасный доступ к ПК и Mac, помощью TeamViewer App for Android возможно получать доступ к удаленным компьютерам. Это программное обеспечение позволит оказывать поддержку или обеспечить постоянный доступ к компьютерам с удалённым обслуживанием.

Возможности:

1. Легко осуществлять поддержку компьютеров клиентов и коллег;

2. Получить доступ к офисному компьютеру со всеми документами и установленными приложениями;

3. Осуществлять удалённое администрирование компьютеров с удалённым обслуживанием (например серверов).

Подводя итог всему вышесказанному можно с уверенностью сказать, что когда все эти программы будут объединены в одну, получится идеальная среда для максимально удобного управления документооборотом.

Заключение

После изучения Android среды, можно с уверенностью сказать, что мобильные устройства постепенно будут захватывать все более высокие вершины в плане функциональности. И возможно в недалеком будущем «умные наладонники» полностью вытеснять привычные нам Персональные компьютеры, ведь уже сейчас многие Мобильные устройства совсем ненадолго отстают в производительности от ПК, а когда разовьются «облачные технологии» надобность в компьютерах пропадет.

Список использованной литературы

1. Google Android программирование для мобильных устройств (Голощапов А.Л., 2011, BHV Санкт-Петербург)

2. Разработка приложений для Android (С. Хашими, С. Коматинени, Д. Маклинr, 2011)

3. Android 2. Программирование приложений для планшетных компьютеров и смартфонов (Рето Майер, Эксмо, 2011)

4. Больше книг об Android — http: //4pda. ru/forum/index. php? showtopic=159 318

5. Блог посвященный Android — http: //android-zone. info

6. Блог разработчика Android — http: //androidengineer. ru/

ПоказатьСвернуть
Заполнить форму текущей работой