Анализ требований к функциональности и разработка приложения, направленного на поиск пунктов обмена валют. Анализ вопросов получения данных от сервера и их локальное хранение. Описание опыта взаимодействия пользователя с финальным вариантом приложения.
Аннотация к работе
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ Проектирование и разработка мобильного приложения на платформе Android для поиска ближайших пунктов обмена валют Выпускная квалификационная работа студента образовательной программы бакалавриата «Фундаментальная информатика и информационные технологии» по направлению 02.03.02 «Фундаментальная информатика и информационные технологии»На сегодняшний день сфера мобильных персональных устройств остается актуальной и продолжает интегрироваться в повседневную жизнь людей. Использование мобильного устройства для личных целей становится все более предпочтительным по сравнению с персональными компьютерами, для которых отводится роль рабочего инструмента. Смартфон позволяет узнавать последние новости, оставаться на связи и потреблять мультимедиа контент, причем делать это в любое время вне зависимости от нахождения пользователя. Самой распространенной мобильной операционной системой остается Android, занимая на рынке смартфонов более 85% от общего числа [1]. Сегодня большое количество россиян отправляются за границу по несколько раз за год на отдых, а многие - десятки раз за год в командировки, и сталкиваются с проблемой обмена валют.Приступая к разработке программного продукта важно понимать какие инструменты будут использоваться.Чаще всего Android-приложение основывается на базовом компоненте - операции (класс «Activity»), которая представляет один экран пользовательского интерфейса [2]. Данный класс тесно связан со средой выполнения приложений Android: операция является входной точкой в приложение, то есть система при его вызове обращается именно к операции. У этого класса имеется ряд публичных методов, которые вызываются фреймворком Android при достижении какого-либо этапа жизненного цикла операции. Наиболее часто используемыми из них являются следующие: а) Метод «ONCREATE» вызывается в тот момент, когда операция только была создана; в) «ONRESUME» - когда операция становится видна пользователю;Для фрагмента определяется макет, как для операции, но сам фрагмент является ее частью. Одна операция может содержать несколько фрагментов, которые могут сменяться во время выполнения операции, за счет чего достигается определенная гибкость при построении пользовательского интерфейса. Фрагмент может быть добавлен к операции двумя способами: при описании макета операции, либо же во время исполнения через объект класса «FRAGMENTTRANSACTION».Фреймворк Android предоставляет разработчикам класс «HTTPURLCONNECTION» для создания запросов по протоколу HTTP, но на практике его использование требует решения дополнительных задач, таких как декодирование входящих данных и обеспечение асинхронности запроса [4].Операции с базой осуществляются через объект класса «SQLITEDATABASE», доступ к которому можно получить через методы GETREADABLEDATABASE() и GETWRITABLEDATABASE(). Доступ к SHAREDPREFERENCES можно получить через метод «GETSHAREDPREFERENCES (String name, int mode)», где аргумент «name» используется для однозначной идентификации файла хранилища, а в «mode» указывается режим доступа к файлу. Чтобы доступ к файлу был только у текущего приложения, необходимо использовать режим «MODE_PRIVATE», в то время как константы «MODE_WORLD_WRITEABLE» и «MODE_WORLD_READABLE» позволяют производить запись и чтение SHAREDPREFERENCES другим приложениям. Объект SHAREDPREFERENCES.Editor имеет ряд методов для добавления записей в файл, например: а) «PUTINT(String key, int value)» - запись целочисленного значения value под именем key. б) «PUTSTRING(String key, String value)» - запись строки символов.В системе Android каждое приложение выполняется в своем выделенном процессе, отделенном от других приложений и системы [6]. В Android существует ряд стандартных разрешений, например, для доступа к памяти устройства или к местоположению. Разрешения Android подразделяются на «нормальные» и «опасные»: а) К «нормальным» относятся разрешения, которые предоставляющие права, которые не позволяют нанести существенный вред устройству. Если приложение запрашивает такое разрешение, система автоматически предоставляет его. б) «Опасные» разрешения позволяют приложению получить доступ к личным данным пользователя или данным других приложений и внести в них изменения. Если запрашивается какое-то разрешение, например, «READ_EXTERNAL_STORAGE» (чтение памяти), а разрешение из той же группы «WRITE_EXTERNAL_STORAGE» уже было предоставлено пользователем, то система автоматически разрешит требуемое.Объекты Intent используются для передачи сообщений между компонентами приложения, также для запуска операций и служб.Компания Google обеспечивает разработчиков программ под операционную систему Android и другие платформы большим количеством библиотек разносторонней направленности. Одной из таких библиотек является Google Maps Android API, позволяющая добавить в приложение работу с картами [8].