李 錚
(承德石油高等??茖W(xué)校 管理工程系,河北承德067000)
基于Android的位置跟蹤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
李 錚
(承德石油高等??茖W(xué)校 管理工程系,河北承德067000)
Android是Google公司推廣的開放式手機(jī)操作系統(tǒng),因其使用Java語言作為主要程序開發(fā)語言,而有著開發(fā)迅速、程序通用性好等特性。本文講述如何利用Android平臺(tái)實(shí)現(xiàn)實(shí)時(shí)位置跟蹤系統(tǒng)。
JAVA;Android;位置跟蹤;GPS
位置跟蹤系統(tǒng)在現(xiàn)實(shí)生活中有著廣泛的用途,如貨物跟蹤、探險(xiǎn)救援、老年人的緊急救護(hù)等。在Android出現(xiàn)之前的位置跟蹤系統(tǒng)大多基于自主設(shè)計(jì)的軟硬件系統(tǒng)。
這種實(shí)現(xiàn)方法有幾個(gè)明顯的缺陷。首先,設(shè)計(jì)成本高,軟硬件都要進(jìn)行設(shè)計(jì)制作;其次,代碼無法重用,更換不同的硬件平臺(tái)時(shí)都要重新編寫驗(yàn)證代碼,不符合現(xiàn)代編程理念;第三、涉及硬件底層編碼,程序設(shè)計(jì)過程復(fù)雜,不便于升級(jí)維護(hù)。
為了解決過去實(shí)現(xiàn)方法中出現(xiàn)的種種缺陷,筆者利用android平臺(tái)設(shè)計(jì)了一套位置跟蹤系統(tǒng)。系統(tǒng)利用安裝Android平臺(tái)的移動(dòng)設(shè)備中GPS定位模塊,實(shí)時(shí)記錄設(shè)備所在位置,并把記錄到的時(shí)間、位置及速度等信息按時(shí)發(fā)送到服務(wù)器端,達(dá)到實(shí)時(shí)監(jiān)控目標(biāo)位置的目的。
Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要是用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā),有著開源、硬件平臺(tái)豐富、方便開發(fā)等特點(diǎn)。
系統(tǒng)分為三個(gè)主要模塊,分別為數(shù)據(jù)存儲(chǔ)及發(fā)送模塊、手機(jī)界面模塊及服務(wù)器模塊[1-2]。
數(shù)據(jù)存儲(chǔ)及發(fā)送模塊的主要功能是定時(shí)取得并分別在手機(jī)及服務(wù)器端記錄位置信息。設(shè)計(jì)思路是首先利用計(jì)時(shí)器每隔設(shè)定好的時(shí)間向GPS服務(wù)程序發(fā)送請(qǐng)求,服務(wù)程序請(qǐng)求位置管理器取得當(dāng)前位置信息,當(dāng)位置信息符合我們?cè)O(shè)定好的距離等條件時(shí),位置信息會(huì)被保存在數(shù)據(jù)庫中,同時(shí)向服務(wù)器端發(fā)送位置信息。
服務(wù)器模塊主要利用網(wǎng)頁顯示從手機(jī)發(fā)送過來的位置信息。設(shè)計(jì)思路是利用PHP建立一個(gè)接收程序接收手機(jī)客戶端發(fā)來的位置信息并保存在服務(wù)器數(shù)據(jù)庫中,當(dāng)用戶打開位置信息網(wǎng)頁時(shí)可以實(shí)時(shí)顯示機(jī)主位置信息。
手機(jī)界面模塊的主要功能是在手機(jī)端顯示機(jī)主所在位置及相關(guān)信息。設(shè)計(jì)思路是首先利用Google地圖建立地圖界面,然后取得當(dāng)前時(shí)間,循環(huán)從手機(jī)數(shù)據(jù)庫中取得當(dāng)然日期所以位置點(diǎn),利用map工具在地圖上分別建立每個(gè)位置點(diǎn)圖標(biāo),當(dāng)用戶點(diǎn)擊圖標(biāo)時(shí)會(huì)出現(xiàn)該圖標(biāo)點(diǎn)的行走距離及逗留時(shí)間等信息。同時(shí)手機(jī)界面模塊提供用于設(shè)置包括記錄間隔、服務(wù)器地址等系統(tǒng)信息的界面。
根據(jù)以上設(shè)計(jì)思路,下面我簡要介紹各模塊的主要程序。
2.2.1 數(shù)據(jù)存儲(chǔ)模塊主要程序
1)AlarmSupport計(jì)時(shí)器類主要方法
2)GpsService服務(wù)類主要方法
3)GPSListener位置監(jiān)聽類主要方法
2.2.2 手機(jī)界面模塊主要程序
2.2.3 服務(wù)器模塊主要程序
本項(xiàng)目需要對(duì)手機(jī)進(jìn)行連接網(wǎng)絡(luò)、獲取網(wǎng)絡(luò)狀態(tài)等操作,因此在AndroidManifest文件中要進(jìn)行權(quán)限聲明。
配置例:
本文簡單闡述了如何利用Android實(shí)現(xiàn)實(shí)時(shí)位置跟蹤系統(tǒng),通過該系統(tǒng)我們可以方便而快捷得知機(jī)主所在位置信息及所經(jīng)路線,本系統(tǒng)可以用于物流跟蹤、探險(xiǎn)救援等各種需要實(shí)時(shí)取得位置信息的情況見圖1。
同時(shí)由于本系統(tǒng)采用的是Android平臺(tái)進(jìn)行開發(fā),因此可以方便的進(jìn)行重用和擴(kuò)展,程序員只需根據(jù)新硬件的特性進(jìn)行系統(tǒng)設(shè)置簡單的修改就可以再次使用。相信通過這篇文章的學(xué)習(xí),讀者也能夠開發(fā)出適合自己項(xiàng)目特點(diǎn)的跟蹤系統(tǒng)。
[1]李剛.瘋狂Android講義(第1版)[M].北京:電子工業(yè)出版社,2012.
[2]Dava MacLean.精通Android3(第1版)[M].北京:人民郵電出版社,2011.
Design and Implementation of Position-tracking System Based on Android Platform
LI Zheng
(Department of Management Engineering,Chengde Petroleum College,Chengde 067000,Hebei,China)
Android,an open mobile phone operating system by Google,uses Java as the main program developing language,which makes it work more quickly and for more general purpose.This paper discusses how to realize a real-time position tracking system based on Android platform.
JAVA;Android;position-tracking;GPS
TP316
B
1008-9446(2013)05-0033-04
2013-05-29
李錚(1980-),男,河北承德市人,承德石油高等??茖W(xué)校管理工程系講師,主要從事計(jì)算機(jī)教學(xué)。