Автоматизированная система мониторинга физического местоположения мобильного устройства на базе GPS

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

? [Manager], который будет обрабатывать метод OnLocationChanged(Location), где Location - заданный заранее формат отображения координат, он может принимать значения следующих констант:

- FORMAT_DEGREES (DD,DDDD - к примеру - N56.28969 E44.06246);

FORMAT_MINUTES (DDMM,MMMM - к примеру - N5617.381 E4403.748);

FORMAT_SECONDS (DDMMSS,SSS" - к примеру - N561722.9" E440344.9");

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

2.12.2.2 Процессы обработки

 

 

2.12.2.3 Входы

Функция RequestLocationUpdate (Manager, [Time], [Distance]) имеет следующие параметры:

1) Manager - обязательный параметр, имя обработчика сигналов OnLocationChanged(Location), на которого мы подписываемся.

) Time - необязательный параметр, период времени, через каждое прошествие которого будут сниматься данные с обработчика, по умолчанию равен 1 секунде.

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

2.12.2.4 Эргономические характеристики

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

Функция является однократно выполняемой в течение конкретного сеанса работы программы. Подписка на обработчик изменения состояний происходит при любом состоянии системы.

Функция не является критичной в плане нестабильности работы, поэтому для ее проверки можно использовать единственный контрольный пример, который будет отражать правильность выполнения подписки на сообщения от GPS порта. В качестве проверки мы будем проверять константу ListenerAdded на значение TRUE (подписка проведена успешно) или FALSE (подписка не произведена).

 

2.12.3 Функция проверки текущего состояния подключения к сети передачи данных

.12.3.1 Результаты

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

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

Метод GetAllNetworkInfo объекта ConnectivityManager возвращает текущее состояние и тип всех возможных сетей (Mobile или Wi-Fi):

1) getTypeName() - Wi-Fi или Mobile;

2) isConnected () - true если подключен, false если нет.

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

2.12.3.2 Процессы обработки

 

 

2.12.3.3 Входы

Для подписки на ConnectivityManager используется функция getSystemService с передаваемой в нее Android константой CONNECTIVITY_SERVICE.

2.12.3.4 Эргономические характеристики

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

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

 

.12.4 Функция записи в хранилище

2.12.4.1 Результаты

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

$db=mysql_connect("host","login",);

 

где host - хост, на котором находится хранилище данных; login/password - комбинация имени пользователя и пароля доступа к хранилищу. Оба этих параметра читаются из файла настроек, хранимого на сервере.

 

mysql_select_db("Database",$db);

 

где Database - имя хранилища данных (этот параметр так же читается из файла настроек). Функция записи не имеет отображаемых результатов своей работы. Для проверки правильности занесения данных в функции использовано условие на равенство переменной запроса значению TRUE - "If ($result)".

2.12.4.2 Процессы обработки

 

 

.12.4.3 Входы

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

 

Info ([idInfo], [idDevice], [Date], [Attitude], [Longitude], [Speed]),

 

Поля структуры Info имеют следующие форматы данных:

)idInfo - целочисленный идентификатор;

)idDevice - целочисленный идентификатор;

)Date - информация о текущей дате и времени, полный международный формат времени - DD.MM.YYYY HH:MM:SS;

)Attitude - координата X, вещественное число с 5 знаками после запятой;

)Longitude - координата Y, вещественное число с 5 знаками после запятой;

)Speed - текущая скорость, вещественное число с 5 знаками после запятой;

Параметрами функции $result=mysql_query("$zapros", $db) являются:

) SQL запрос на добавление данных в хранилище данных;

) Переменная-идентификатор хранилища для занесения;

2.12.4.4 Эргономические характеристики

Хранилище информационной системы устроено таким образом, что к нему в один момент в