Мобильное приложение на android

Автор работы: Пользователь скрыл имя, 01 Июля 2017 в 14:50, дипломная работа

Описание работы

Цель работы – создание приложения, позволяющего отслеживать в реальном времени информацию об элементах гардероба в магазинах города Казани, для операционной системы Android.
Для достижения этой цели необходимо решить следующие задачи:
изучить область приложений, связанных с покупками, для мобильных устройств;
рассмотреть вопрос о разработке программ для операционной системы Android и использовать их для реализации приложения;
рассмотреть приложения конкуренты;
разработать приложение для шопинга;
произвести тестирование и валидацию программного продукта.

Содержание работы

ВВЕДЕНИЕ ………………………………………………………………….
3
Глава 1 АНАЛИЗ ИНФОРМАЦИИ И ПОСТАНОВКА ЗАДАЧИ ……...
6

1.1
Мобильные приложения……………………………………..
6

1.2
Обзор существующих мобильных платформ………………
7

1.3
Описание предметной области……...……………………….
10
Глава 2 ОПЕРАЦИОННАЯ СИСТЕМА ANDROID………………...........
13

2.1
Архитектура Android…….…………………………………...
13

2.2
Эмулятор для разработки приложений Android SDK………
16

2.3
Компоненты пользовательского интерфейса Android……...
18

2.4
Пакеты, которые являются частью Android SDK…………..
25
Глава 3 Анализ исходных данных. Разработка, тестирование и валидация программного продукта …………………………………...........
31

3.1
Анализ исходных данных ……………………………………
31

3.2
Разработка программного продукта ….…………………….
39

3.3
Тестирование и валидация программного продукта ..…….
46
ЗАКЛЮЧЕНИЕ ………………………………………………………...........
52
СПИСОК ЛИТЕРАТУРЫ ……

Файлы: 1 файл

ГОТОВЫЙ диплом.docx

— 4.37 Мб (Скачать файл)

 

public static void invokeWebBrowser (Activity activity)

{

Intent intent = new Intent (Intent. ACTION_VIEW): intent. setData (Uri. parse ("http://www.google.com")); activity. startActivity (intent);

}

 

 

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

Кроме того, широко поддерживается ресурсы Android, которым знакомы строкт и растровые изображения, и по крайней мере некоторые известные элементы, такие как определение представления на основе XML. Использование ресурсов в этих рамках, осуществляется по-новому, с помощью чего работа ресурса становится более простой, понятной и удобной. Ниже приведен пример, в котором автоматически генерируется ID ресурса и определяется в файлах XML:

 

public final class R {

public static final class attr { } public static final class drawable {

public static final int myanimation=0x7f020001; public static final int numbersl9=0x7f02000e:

}

public static final class id {

public static final int textViewIdl=Ox7f080003;

}

public static final class layout {

public static final int frame_animations_layout=0x7f030001; public static final int main=0x7f030002;

}

public static final class string {

public static final int hello=0x7f070000;

}

}

 

 

Эти классы соответствуют автоматически сгенерированному ID или XML-файлом элемента или множества. Если нужно использовать такие определения XML, вместо того, чтобы использовать их идентификационные данные. Такое посредничество очень полезно в локализации. Еще одна инновационная концепция в Android это контент-провайдер (поставщик контента). Поставщик контента относится к абстракции источника данных, который может быть представлен в качестве эмиттера и REST обслуживания (репрезентативная State Transfer). В основе этой базы данных лежит абстракция SQLite и делает это свойство контент-провайдеров мощным инструментом для разработки приложений. Было отмечено, что XML играет важную роль в описании пользовательских интерфейсов для Android.

Ниже показано, как объявить меню в XML-файле:

 

<menu xmlns: android="http://schemes. android.com/apk/res/android">

<! B этой группе используется категория, заданная по умолчанию. ->

<group android: id="@+id/menuGroup_Main">

<item android: id="@+id/menu_clear" android: orderInCategory="10" android: title="clear" />

<item android: id="@+id/menu_show_browser" android: orderInCategory="5"

android: title="show browser" />

</group>

</menu>

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

Android также поддерживает анимацию, эта функция включена вместе со стеком пользовательского интерфейса, который основан на видах объектов. В Android используются два типа анимации: с построением промежуточных кадров (анимация анимации анимации) и кадровой анимации. Промежуточная анимация относится к изображениям, отображаемым между основными. На компьютере эти изображения создают изменения средних значений с определенными интервалами и перерисовывают фон. Рамочная анимация состоит из последовательности кадров, которые рисуются один за другим с регулярными интервалами. В Android используются обе версии анимации с использованием функции обратного вызова анимации, интерполяторов и матрицы преобразования. Кроме того, Android может идентифицировать эти типы анимации в файле ресурсов XML.

Графическая библиотека, основанная на этом процессе, поддерживает стандартные преобразования матриц, которые позволяют масштабировать, перемещать и поворачивать изображения. Объект камеры, присутствующий в графической библиотеке, обеспечивает глубину и поддержку проецирования, так что 3D-эффекты можно моделировать на 2D-интерфейсе.

В Android, доступная и трехмерная графика. Это связано с тем, что вводится стандартный OpenGL ES 1.0. Как и OpenGL, он основан на плоском языке API C. Поскольку интерфейс программирования приложений Android SDK основан на Java, OpenGL должен использовать привязку Java для доступа к нему. В Java ME обязательна для OpenGL ES и уже определена с использованием запроса спецификации Java QSR 239, а для Android OpenGL ES использует тот же тип привязки Java.

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

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

Встроенный поиск в Android (Integrated Android Search) - это третья идея, связанная с использованием домашней страницы. Этот тип поиска позволяет вам искать информацию как на устройстве, так и в Интернете. В Android эта функция не ограничивается одним поиском и может давать команды с помощью элемента управления поиском.

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

В дополнение к инструментам SDK для Android есть и другие независимые инновации, которые делают процесс разработки интересным и простым. Некоторыми примерами таких явлений являются XML/VM, PhoneGap и титан. Titanium позволяет использовать технологию HTML в программировании для браузера на основе WebKit Android.

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

Компоненты отображения и связанные с телефоном компоненты API

Android разработаны для работы с аудио-, видео- и телефонными компонентами. До версии 1.5 на Android вы могли записывать только аудио и видео. Версия 1.5 позволила записать аудио и видео. Это было сделано с помощью MediaRecorder. В версиях Android 2.0 и выше движок Pico используется для преобразования текста в речь (TTS). Интерфейс, используемый в Android для преобразования текста в речь, очень прост, и он также имеет соответствующий код:

 

TextToSpeech mTTS;

mTTS. speak (sometextString, TextToSpeech. QUEUE_ADD); mTTS. setOnUtteranceCompletedListener (this);

mTTS. stop (); mTTS. shutdown ();

mTTS. synthesizeToFile (…);

Еще несколько методов, относящихся к этой сфере: playSilence

setLanguage setPitch setSpeechRate isSpeaking

 

Важно отметить, что во всех этих концепциях Android, объединенных в единый файл XML, который определяето пакет приложений. Этот файл представляет собой файл описания (файл манифеста) (AndroidManifest. Xml). Пример этого файла:

 

<? xml version="1.0" encoding="utf-8"? >

<manifest xmlns: android=http://schemas. android.com/apk/res/android package="com. ai. android. HelloWorid">

android: versionCode="l" android: versionName="1.0.0">

<application android: icon="@drawab1e/icon" android: label="@string/app_name">

<activity android: name="HelloWorid" android: label="@string/app_name">

<intent-filter>

<action android: name="android. intent. action. MAIN"

<category

android: name="android. intent. category. LAUNCHER"

</intent-filter>

</activity

</application>

<-/manifest>

 

 

В файле описания Android содержатся определения действий, регистрируются поставщики содержимого и поставщики служб и обозначаются права доступа.

    1. Пакеты, которые являются частью Android SDK

Чтобы получить представление о платформе Android, вам необходимо рассмотреть структуру пакетов Java. Поскольку Android SDK отличается от стандартного дистрибутива, важно знать, какие пакеты поддерживаются и которые не являются [6; 123]. Ниже приведено краткое описание важных пакетов, составляющих Android SDK:

    • Android.app реализует модель приложения для Android. Среди основных классов приложение, которое описывает начальную и конечную семантику, а также целый ряд классов, связанных с явлениями, элементы управления, диалоговых окон, окон предупреждений и уведомлений;
    • Android.Bluetooth содержит классы для работы с технологией Bluetooth. Основные классы VluetoothAdapter, BluetoothDevise, BluetoothSocket, BluetoothServerSocket и BluetoothClass. BluetoothAdapter класс можно использовать для управления адаптером Bluetooth, установленным на локальном компьютере. Этот адаптер может включать, отключать или запускать процесс обнаружения. Класс BluetoothDevise - это удаленное устройство Bluetooth, к которому вы можете подключиться. Для связи Bluetooth использует два разъема, используемых между устройствами. Класс Bluetooth - это тип устройства Bluetooth, к которому вы подключены;
    • Android.content реализация концепций, связанных с поставщиками контента. Поставщик содержимого позволяет вам суммировать обмен и хранение данных. Кроме того, этот пакет реализует основные идеи, касающиеся намерений и унифицированных идентификаторов ресурсов (URI) в Android;
    • Android. content. pm. предоставляет классы для работы, связанные с использованием диспетчера пакетов. Он содержит информацию о разрешениях, установленных пакетах, установленных поставщиками, службами и компонентами, такими как общие ресурсы, а также установленные приложения;
    • Android. content. res предоставляет доступ к файлам ресурсов, как структурированными неструктурированным. Основные классы AssetManager (для неструктурированных ресурсов) и материальных ресурсов;
    • Android.database реализует идею абстрагирования базы данных. Основной интерфейс называется Cursor;
    • Android.database.sqlite реализует концепцию пакета базы данных Android, с использованием в качестве физической базы данных SQLite. Основные классы SQLiteCursor, SQLiteDatabase, SQLiteQuery, SQLiteQueryBuilder и SQLiteStatement. Тем не менее, в основном приходится работать с классами абстрактного пакета базы данных Android;
    • Android.gesture в этом пакете располагаются все классы и интерфейсы, необходимые для работы с определенными пользователем жестами. Основные классы Gesture, GestureLibrary, GestureOverlayView, GestureStore, GestureStroke, GesturePoint. Класс Gesture является подборкой GestureStrokes и GesturePoints. Жесты собраны в библиотеке GestureLibrary. Библиотеки жестов хранятся в GestureStore. Имена жест таковы, что система может идентифицировать их как действия;
    • Android. graphics содержит класс Canvas, Camera, Color, Matrix, Movie, Paint, Path, Rasterizer, Shader, SweepGradient nTypeFace;
    • Android.graphics.drawable предназначен для работы с протоколами рисования и фоновых изображений, обеспечивает эффекты анимации при работе с рисованными объектами;
    • Android.graphics.drawable. shapes предназначены для работы с контурами, в том числе ArcShape, OvalShape, PathShape, RectShape и RoundRectShape;
    • Android. hardware позволяет использовать так называемые естественные классы, разработанные для работы с камерой. Класс камеры - это общее устройство камеры, а класс android.graphics.Camera - это графическая концепция, которая не имеет ничего общего с реальной физической камерой;
    • Android.location содержит классы Address, GeoCoder, Location, LocationManager и LocationProvider. Класс Address является упрощениемзамещением Language XAL (расширяемый язык адреса). Geocoder позволяет узнать адрес координат объекта (широта и долгота), и наоборот. В Location представлена информация о широте и долготе;
    • Android.media содержит классы MediaPlayer, MediaRecorder, Ringtone, AudioManager и FaceDetector. Класс MediaPlayer предназначен для потоковой передачи аудио и видео поддержки. Класс Ringtone используется для воспроизведения коротких аудиозаписей, которые могут использоваться в мелодии или оповещениях. AudioManager отвечает за настройку громкости. FaceDetector может использоваться для обнаружения человеческих лиц в точечных (растровых) изображениях;
    • android.net реализует базовую сеть на уровне сокетов API. Основные классы включают Uri, ConnectivityManager, локальный сокет и местный ServerSocket. Следует также отметить, что Android поддерживает уровень HTTPS-браузера и сетевой уровень. Кроме того, Android поддерживает JavaScript в браузере;
    • android.net.WiFi управляет подключением Wi-Fi. Основные классы WifiManager и WifiConfiguration. Класс WifiManager отвечает за составление списка настроенных сетей и работает с текущей активной сетью Wi-Fi;
    • Android. OpenGL содержит вспомогательные классы, которые используются при выполнении операций OpenGL ES. Классы Basic OpenGL ES являются частью другого набора пакетов, взятых из JSR 239.
    • Android. os служба операционной системы, доступ к которой осуществляется с помощью языка Java. Некоторые важные классы BatteryManager, Биндер, FileObserver, Хэндлер, Looper и PowerManager. Binder класс обеспечивают обмен информацией между процессами. FileObserver ведет учет изменений в файлах. Класс Handler используется для выполнения задач в потоке сообщений, и Looper начинается само сообщение потока;
    • Android.preference позволяет приложениям предоставить пользователям возможность управлять своими настройками для этого приложения в единой форме. Основные классы PreferenceActivity, PreferenceScreen;
    • Android.provider включает в себя набор готовых контент-провайдеров, связанных с Android. Содержание. Поставщик услуг. Среди контент-провайдеров есть контакты, MediaStore, браузер и настройки. Этот набор интерфейсов и классов содержит метаданные для описания базовой структуры данных;
    • Android. sax обеспечивает эффективный набор простых API для XML (SAX), вспомогательные классы, предназначенные для синтаксического анализа. Основные классы Element, RootElement некоторые ElementListener интерфейсы;
    • Android. speech содержит константы для распознавания речи. Этот пакет входит только в версии 1.6 и выше;
    • Android.speech.tts обеспечивает поддержку для преобразования текста в речь. Основной класс TextToSpeech. В Android имеется механизм PICO TTS (преобразования текста в речь, синтезатор речи) производства SVOX;
    • andmid. tekphony содержит классы CellLocation, PhoneNumberUtils и TelephonyManager. TelephonyManager класс для определения местоположения, с которого был сделан вызов, номер телефона, имя поставщика услуг, тип сети, тип телефона и серийный номер модуля идентификации абонента (Subscriber Identity Module, SIM);
    • Android. телефонии. GSM позволяет собирать информацию об адресах ячеек на основе местоположения башен данных сотовой связи, но также содержит классы, ответственные за работу с SMS-сообщениями. Определяет глобальную систему мобильной связи от имени этого пакета, называемого GSM, в качестве исходных стандартов коротких сообщений (SMS) (Глобальная система мобильной связи);
    • Android.telephony. CDMA поддерживает CDMA-телефонию;
    • Android. text содержит классы для обработки текста;
    • Android. text. method предоставляет классы для ввода текста в различные элементы управления;
    • Android. text. style обеспечивает разнообразие методов обработки текста;
    • Android.Utils содержит классы, DebugUtils, TimeUtils и Xml;
    • Android.view содержит классы, меню View, ViewGroup, а также некоторые из процессов слушателей и обратных вызовов;
    • Android. view. animation обеспечивает поддержку анимации в структуре промежуточных кадров;
    • Android. view. InputMethod реализует ввод-вывод системной архитектуры. В этом пакете содержится только в версиях 1.5 и выше;
    • Android. WebKit содержит классы, связанные с веб-браузером. Среди основных классов WebView, CacheManager и CookieManager;
    • Android. widget он содержит все классы элементов пользовательского интерфейса, которые производятся в основном с точки зрения класса. Кнопка ключевых виджетов, галочка, хронометр, AnalogClock, DatePicker, EditText, ListView, FrameLayout, GridView, ImageButton, MediaController, ProgressBar, RadioButton, RadioGroup, RatingButton, скроллер, Scrollview, Spinner, TabWidget, TextView, TimePicker, VideoViewn ZoomButton;
    • com. google. android. maps содержит класс MapView, MapController и MapActivity, необходимые для работы с Google Maps.

Вышеприведенные пакеты очень важны при работе с Android. Основываясь на этом списке, вы можете получить представление о структуре глубины платформы Android.

В общем, Android Java API включает более 40 пакетов и более 700 классов. Тем не менее, все эти многочисленные пакеты представляют собой богатую вычислительную платформу, предназначенную для написания программ для мобильных устройств. 
3. Анализ исходных данных. Разработка, тестирование и валидация программного продукта

3.1 Анализ исходных  данных

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

  • Список магазинов города Казани
  • Геолокационная служба
  • Фильтр по товарам
  • Наличие конкретного товара
  • Новые предложения и скидки
  • Привлекательный и подходящий UI/UX дизайн.
  • Уведомления в приложении и PUSH-уведомления

Обобщая вышесказанное, все, что мы указали, - это усовершенствованная мобильная информационная система. В настоящее время нет единой интерпретации понятия «информационная система» (ИС), установленной классификации информационных систем, общепринятого представления о структуре ИС, поскольку работа по созданию информационных систем проводилась параллельно в нескольких Направления - системы обработки данных и базы данных; Автоматизированные системы управления и, в первую очередь, автоматизированные информационные системы; Автоматизированные системы научно-технической информации; Автоматизированные системы нормативно-правовой документации, автоматизированные системы нормативно-методического обеспечения управления предприятием; В последнее время были разработаны различные системы специального назначения, такие как экономические информационные системы, в том числе бухгалтерский учет, банковские информационные системы, информационные системы рынка ценных бумаг, системы маркетинговой информации и т. д.

Сам термин "информационные системы" включает два важных понятия - "информация" и "система"[7; 142]. Информация (лат. information - сообщение, разъяснение; лат. informo - придаю вид, формирую, организую) - сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления. Система (греч. system - целое, составленное из частей соединение) - это совокупность элементов, образующих определенную целостность, единство и взаимодействующих друг с другом для достижения определенной цели.

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

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

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

В Федеральном законе "Об информации, информатизации и защите информации" дается следующее определение:

"Информационная система - организационно упорядоченная совокупность документов (массивов документов) и информационных технологий, в том числе и с использованием средств вычислительной техники и связи, реализующих информационные процессы".

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

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

Рассмотрим какие информационные системы данного класса предлагает наш рынок мобильных приложений:

Информация о работе Мобильное приложение на android