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

Созданная компанией Sun Microsystems система разработки Java удовлетворяет всем этим требованиям. Java объектно-ориентированный язык, удобный и надёжный в эксплуатации благодаря таким своим достоинствам, как многозадачность, поддержка протоколов Internet и многоплатформенность.

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

Однако, такая универсальность данной технологии рождает недостаток требовательность к ресурсам компьютера. Так как Java-программы не содержат машинного кода и при их запуске включается в работу система времени выполнения Java, их производительность заметно ниже, чем у обычных программ, составленных, например, на языке программирования C++. Данный недостаток становится с течением времени всё менее ощутим, в следствии роста вычислительной мощности компьютерных систем.[10]

НЕ нашли? Не то? Что вы ищете?

Язык Java является объектно-ориентированным и поставляется с достаточно объемной библиотекой классов. Библиотеки классов Java значительно упрощают разработку приложений, предоставляя в распоряжение программиста мощные средства решения распространенных задач. Поэтому программист может больше внимания уделить решению прикладных задач, а не таких, как, например, организация динамических массивов, взаимодействие с операционной системой или реализация элементов пользовательского интерфейса.

В настоящее время работа Java поддерживается всеми основными компьютерными платформами. Самостоятельное приложение, предназначенное для автономной работы, компилируется и выполняется на локальной машине под управлением системы времени выполнения Java. Java вполне подходит для написания приложений, которые с тем же успехом могли быть написаны на С, С++, Basic, Delphi или любом другом языке программирования.

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

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

Главная особенность апплетов заключается в том, что они являются настоящими программами, а не очередным форматом файлов для хранения мультфильмов или какой-либо другой информации. Апплет не просто проигрывает один и тот же сценарий, а реагирует на действия пользователя и может динамически менять свое поведение. С помощью апплетов вы можете сделать страницы сервера Web динамичными и интерактивными.

Апплеты позволяют выполнять сложную обработку данных, полученных от сервера Web или введённых пользователем с клавиатуры. Для повышения производительности апплетов в браузерах используется компиляция "на лету"- Just-In-Time compilation (JIT). При первой загрузке аплета его код транслируется в обычную исполнимую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения аплета Java увеличивается в несколько раз. Из соображений безопасности апплеты (в отличие от обычных приложений Java) не имеют никакого доступа к файловой системе локального компьютера. Все данные для обработки они могут получить только от сервера Web.

Java используется во всём мире: от компьютеров до мобильных телефонов и планшетов, от локальных сетей до сети интернет:

Java используется на 90% корпоративных настольных ПК, Java используется на 80% настольных ПК в США, Около 9 млн разработчиков на Java в мире, Java используется в 3 млрд мобильных телефонов, Java входит в комплект поставки 100% всех проигрывателей дисков Blu-ray, Используется около 5 млн Java Card, Java используется в 125 млн ТВ-устройств, 5 из 5 основных производителей оригинального оборудования включают в комплект поставки Java ME.

2.1.4 Среда разработки Android studio

Android Studio — это интегрированная среда разработки (IDE) для работы с платформой Android, анонсированная 16 мая2013 года на конференции Google I/O. IDE находилась в свободном доступе начиная с версии 0.1, опубликованной в мае 2013.  Затем она  перешла в стадию бета-тестирования, начиная с версии 0.8, которая была выпущена в июне 2014 года. Первая стабильная версия 1.0 была выпущена в декабре 2014 года, тогда же прекратилась поддержка плагина Android Development Tools (ADT) для Eclipse. Android Studio, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains, официальное средство разработки Android приложений. Данная среда разработки доступна для Windows, OS X и Linux.

Новые функции появляются с каждой новой версией AndroidStudio.[9] На данный момент доступны следующие функции:

Расширенный редактор макетов: WYSIWYG, способность работать с UI компонентами при помощи Drag-and-Drop, функция предпросмотра макета на нескольких конфигурациях экрана. Сборка приложений, основанная на Gradle. Различные виды сборок и генерация нескольких. apk файлов Рефакторинг кода Статический анализатор кода (Lint), позволяющий находить проблемы производительности, несовместимости версий и другое. Встроенный ProGuard и утилита для подписки приложений. Шаблоны основных макетов и компонентов Android. Поддержка разработки приложений для Android Wear и Android TV. Встроенная поддержка Google Cloud Platform, которая включает в себя интеграцию с сервисами Google Cloud Messaging и App Engine. Android Studio 2.1 поддерживает Android N Preview SDK, а это значит, что разработчики смогут начать работу по созданию приложения для новой программной платформы.

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

2.1.5 Эмулятор мобильного устройства Genymotion


Genymotion - быстрый эмулятор Android, который включает в себя настроенные образы Android (x86 с аппаратным ускорением OpenGL), идеальный для тестирования приложения. Этот проект вырос из старого AndroidVM, и в сравнении с ним Genymotion имеет новый дизайн плеера, установщик и многое другое.

Цель продукта - заменить эмулятор Android от Google не только разработчикам Android, но и людям, которые делают демонстрации приложений Android.
Genymotion доступен для Linux, Windows и Mac OS X и требует VirtualBox. Код виртуальный машин открыт, но софт, который работает на хосте, бесплатен для использования, но его исходный код закрыт. В будущем Genymotion будет иметь бесплатную версию cо множеством возможностей, но также будут доступны платные версии, в основном для больших компаний, которым нужна совместная работа над Genymotion.

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

Быстрая загрузка и запуск предварительно настроенных образов Android. Список устройств постоянно расширяется. GPS (с настраиваемыми координатами) и батарея (с настраиваемым уровнем батареи) Отображение: аппаратное ускорение с OpenGL, режим полноэкранного просмотра Консоль, которая позволяет вам взаимодействовать с вашей виртуальной машиной, используя командную строку Поддержка ADB Эмуляция передней и задней камеры Функции скринкаста и удаленного управления (в коммерческой версии)
Плагины к Eclipse и AndroidStudio Поддерживает Linux, Windows и Mac. В будущих релизах ожидается появление новых сенсоров: гироскоп, яркость экрана, температура, вектор поворота и многое другое. Работает на порядок быстрее эмуляторов от Google (не только на процессорах Intel) Общий буфер обмена виртуального устройства и ПК Возможность редактирования IMEI/MEID виртуального устройства (в коммерческой версии) Pixel Perfect - режим отображения, при котором 1 пиксель экрана устройства будут отображаться с использованием только одного пикселя на вашем мониторе (в коммерческой версии) Factory Reset - полный сброс виртуального устройства (в коммерческой версии) Дублирование образа в списке виртуальных устройств (в коммерческой версии) Редактирование количества процессоров (CPU) и количества оперативной памяти (RAM) в настройках виртуального устройства. Контроль датчиков в коде приложения через GenymotionJava API (в коммерческой версии) Автоматическое обновление образов для новой версии программы (в коммерческой версии) Генерирование архива log файлов при обращении в тех поддержку
Сохранение настроек GPS виджета до следующего запуска (в коммерческой версии) Исправления ошибок падения эмулятора, добавлена информация в логах. Эмуляция работы интернета через GPRS, Edge, 3G, 4G и пр.

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


3 Практическая часть

Разработка мобильного приложения происходила в три этапа:

Определение функций мобильного приложения; Проектирование интерфейса мобильного приложения; Тестирование и регистрация результатов работы приложения.

3.1 Описание функций приложения для OS Android, создание проекта

Разработанное мобильное приложение выполняет фиксацию и обработку уровня сигнала точки доступа WI-FI, регистрируя значения в виде графиков на экране мобильного устройства.

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10