陸政
摘要:在基于Android平臺百度地圖的系統(tǒng)研究與實(shí)現(xiàn)過程中,對各種功能模塊進(jìn)行了詳細(xì)的分析和研究,經(jīng)過嚴(yán)格的測試,優(yōu)化了系統(tǒng)性能,確保終端定位精度基本可以滿足兒童現(xiàn)在跟蹤可以隨時注意孩子的位置,并在地圖的相應(yīng)位置標(biāo)出,是滿足系統(tǒng)對父母更方便的要求。它利用一些GPS移動平臺的特點(diǎn)和移動定位服務(wù)之間的移動通信網(wǎng)絡(luò)的網(wǎng)絡(luò)通信服務(wù)器和移動地圖應(yīng)用服務(wù)器,提供給用戶的位置相關(guān)的信息和服務(wù),給用戶的生活帶來極大的方便。當(dāng)前位置:WiFi定位,GPS定位,定位基站三。由于WiFi定位方法節(jié)能高精度,因此這些兒童的跟蹤功能在軟件中會考慮使用。而基站定位在GPS中起著重要作用,并且定位開關(guān),可以打開和關(guān)閉。實(shí)時獲取位置,使系統(tǒng)更準(zhǔn)確的位置信息。孩子的行為是基于Android的跟蹤系統(tǒng)是基于Android平臺,網(wǎng)絡(luò)地圖是百度地圖。
關(guān)鍵詞:定位;兒童跟蹤;Android平臺;位置;路線
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)30-0065-03
1 課題研究的意義
隨著移動互聯(lián)網(wǎng)技術(shù)的發(fā)展不斷發(fā)展,安卓手機(jī)和移動網(wǎng)絡(luò)現(xiàn)在已經(jīng)成為生活和學(xué)習(xí)中的一部分了。Android平臺的優(yōu)勢占據(jù)了手機(jī)市場的大部分區(qū)域。很多人都在使用安卓手機(jī),Android通常會使不同年齡的消費(fèi)者了解Android系統(tǒng)。所以孩子,幾乎可以使用Android系統(tǒng)。
在生活中經(jīng)常能聽到有還在走丟的消息,。發(fā)生這樣的事情在生活中很多,而且找到的可能性很小。如果在什么地方走丟,家長能夠及時地看到他們在那,然后找到他們,因此基于Android平臺的兒童跟蹤系統(tǒng)的研究很有必要。
2 可行性分析
2.1 技術(shù)可行性
該系統(tǒng)的研發(fā)主要涉及Android平臺。這個平臺是當(dāng)下最普通的軟件平臺,Android平臺下的應(yīng)用已經(jīng)相當(dāng)成熟。因此,平臺開發(fā)技術(shù)已經(jīng)相當(dāng)成熟
使用百度Android SDK定位等一些功能,由于安卓手機(jī)本生的一些特性的,比如使用硬件、網(wǎng)絡(luò)必須添加一些訪問權(quán)限。百度第SDK使用GPS定位,基站、無線信號來定位。當(dāng)應(yīng)用程序像百度SDK發(fā)起的位置位置要求,百度地圖SDK將會根據(jù)應(yīng)用程序是否需要獲取一些位置信息,獲取位置信息的準(zhǔn)確性是否打開網(wǎng)絡(luò)或者GPS來生成相應(yīng)的位置定位。百度地圖SDK,技術(shù)實(shí)現(xiàn)已經(jīng)很成熟。
2.2 經(jīng)濟(jì)可行性
安卓開發(fā)環(huán)境是windows和eclipse,這也是目前最常用的開發(fā)環(huán)境。
該系統(tǒng)開發(fā)工具已經(jīng)具備,所以開發(fā)的成本就很低廉了,所以技術(shù)實(shí)現(xiàn)也就相對簡單
Android手機(jī)的價格是現(xiàn)在市場價又很便宜。該系統(tǒng)客戶端部分對手機(jī)硬件要求不大,要求Android系統(tǒng)的版本在4.0及以上,且擁有GPS功能即可。這樣的手機(jī)在最低可以在幾百的價位就能入手。
2.3 系統(tǒng)管理可行性
“基于安卓平臺的兒童跟蹤系統(tǒng)的”對手機(jī)系統(tǒng)的性能要求不是很高高,按照市場上的Android手機(jī)的性能,該系統(tǒng)的功能完全可以滿足功能。大部分手機(jī)都能上網(wǎng),現(xiàn)在的定位功能不受時間地點(diǎn)的限制,因此在任何又網(wǎng)絡(luò)的地方都能定位到,實(shí)現(xiàn)該系統(tǒng)的功能也就成為可能。
3 需求分析與設(shè)計
3.1 研究目標(biāo)
該系統(tǒng)利用安卓手機(jī)平臺、GPS和百度地圖,結(jié)合baidu Map,設(shè)計并實(shí)現(xiàn)了基于安卓平臺兒童跟蹤系統(tǒng),能夠有效的記錄軌跡,不管兒童在什么位置,只有手機(jī)連接網(wǎng)絡(luò),打開該系統(tǒng),就能實(shí)時的上傳所在的位置信息,父母可以實(shí)時地看到孩子的經(jīng)緯度,然后在地圖上顯示,如果還在行走還能記錄孩子行駛的路線。這樣就能讓孩子一直能夠在父母的視線中,不會讓孩子走丟。
3.2 系統(tǒng)架構(gòu)
該系統(tǒng)主要應(yīng)用到數(shù)據(jù)庫存儲數(shù)據(jù),用來存放獲取到的經(jīng)緯度,用戶可以使用該系統(tǒng)根據(jù)經(jīng)緯度能夠及時和方便的更新在地圖上的位置,方便家長了解還在所在的位置,
3.3 功能需求
《基于安卓平臺的兒童跟蹤系統(tǒng)》主要利用安卓和相應(yīng)的地理定位技術(shù)進(jìn)行移動終端應(yīng)用開發(fā)。具體要求如下:
1)完整地陳述移動應(yīng)用APP開發(fā)的主要技術(shù)和模式,完整地描述開發(fā)流程,重點(diǎn)闡開發(fā)過程中所應(yīng)用的關(guān)鍵技術(shù)和原理。
2)結(jié)合本題所提到的應(yīng)用場景,通過所設(shè)計的平臺(可以和其他軟件平臺結(jié)合)設(shè)計一個具體較好的應(yīng)用價值和推廣意義的兒童行動定位、跟蹤系統(tǒng)。
3)該系統(tǒng)可以實(shí)現(xiàn)實(shí)時通訊和路線描繪,最終反饋兒童的行駛路線(結(jié)合時間)信息。
4)給出完善的需求分析和系統(tǒng)設(shè)計方案,最終實(shí)現(xiàn)系統(tǒng)的原型。
4 系統(tǒng)設(shè)計
系統(tǒng)流程圖:
4.1 總體設(shè)計
1)系統(tǒng)進(jìn)入應(yīng)該采用的是Timer線程,實(shí)現(xiàn)停留3秒進(jìn)入應(yīng)用,這樣能夠讓用戶看到導(dǎo)航也中所展示的所有內(nèi)容。
代碼分析:
sp = getSharedPreferences("config", MODE_PRIVATE);
editor = sp.edit();
isFirst = sp.getBoolean("isFirst", true);
Timer timer = new Timer();
TimerTask task = new TimerTask(){
private Intent intent ;
@Override
public void run() {
if(isFirst){
intent = new Intent(SplashActivity.this,WelcomeAcitivity.class);
startActivity(intent);
}else{
intent = new Intent(SplashActivity.this,MainActivity.class);
startActivity(intent);
}
editor.putBoolean("isFirst", false);
SplashActivity.this.finish();
}
};
timer.schedule(task, 3000);
如果是第二次進(jìn)入應(yīng)用以后isFirst變量會被修改為False。
2)系統(tǒng)進(jìn)入主頁面默認(rèn)加載第一個地圖fragment,因?yàn)樵诘撞繉?dǎo)航欄中設(shè)置,而Activity的加載時在清單文件中配置:
android:name=".SplashActivity" android:label="足跡" >
4.2 定位模塊
1)該系統(tǒng)最初設(shè)計目標(biāo)是既能實(shí)現(xiàn),兒童行走路線的規(guī)劃,又能看見孩子每時每刻所在的位置,這樣能讓沒看家長都能很好地照看還在,為每一個家長提供了很大的便利。
如上圖所示,當(dāng)打開應(yīng)用的時候,就能夠很精準(zhǔn)的定位到自己所在的位置,打開應(yīng)用首先進(jìn)入的就是定位界面,其中應(yīng)用采用底部導(dǎo)航欄的模式,其中地圖表示自己所在的位置和導(dǎo)航功能的按鈕。點(diǎn)擊親友團(tuán),則會進(jìn)入跟蹤還在的路線的功能。
2)在使用百度地圖的時候第一步要申請key,這是為了能夠?qū)崿F(xiàn)定位功能連接百度地圖的服務(wù)器。而且還需要注冊百度地圖的服務(wù)和聯(lián)網(wǎng)權(quán)限。因?yàn)镸apView是需要連接網(wǎng)絡(luò)。
android:value="Appkey" /> 上面代碼是填寫你申請的key,還要注冊com.baidu.navi.location.f,因?yàn)樵摲?wù)是實(shí)時的更新地理位置的一個服務(wù)。 4.3 路線跟蹤某塊實(shí)現(xiàn) 這是該系統(tǒng)的主要功能某塊,當(dāng)父母需要知道孩子在什么位置的時候,點(diǎn)擊親友團(tuán),就可以看到孩子在地圖上所在的位置,并且記錄還在行走的路線,父母可以在地圖上看到孩子走過的路線,還在一直在地圖上移動,并且可以根據(jù)時間算出移動的速度和距離,都可以在地圖上對應(yīng)的位置顯示,這也是父母對該系統(tǒng)都比較關(guān)心和在乎的功能,在技術(shù)實(shí)現(xiàn)上主要依賴百度的圖的sdk,能夠給我們提供很多接口,方便我們?nèi)ナ褂煤烷_發(fā)。 1)計算距離的技術(shù)實(shí)現(xiàn) 在一段時間內(nèi)根據(jù)經(jīng)緯度得到兩個點(diǎn),然后根據(jù)這兩個點(diǎn),還有時間,根據(jù)這兩個變量算出平均移動的速度 // 得到兩個點(diǎn) LatLng Point = new LatLng(Double.parseDouble(y), Double.parseDouble(x)); LatLng myPoint = new LatLng(Double.parseDouble(latitude), Double.parseDouble(longitude)); // 調(diào)用百度工具類,計算兩點(diǎn)間距離 double distance = DistanceUtil.getDistance(Point, myPoint); //兩點(diǎn)間的距離 String parseDistance = parseDistance(distance); // 轉(zhuǎn)換距離 private String parseDistance(double distance) { DecimalFormat format=new DecimalFormat("#.00"); if(distance<1000){ return format.format(distance)+"米"; }else{ return format.format(distance/1000)+"公里"; } } 路線結(jié)果: 拿著設(shè)備走了一段路程之后,會在地圖上畫出一天行走的路線,如果是還在拿著這個設(shè)備,把數(shù)據(jù)傳到服務(wù)器,父母也可以實(shí)時地看到還在所在的位置。 5 結(jié)束語 跟蹤系統(tǒng)基本完整設(shè)計的功能要求,設(shè)計出對應(yīng)的系統(tǒng),對Android平臺和軟件開發(fā)平臺有一個進(jìn)一步的認(rèn)識和理解,特別是在Android平臺開發(fā)的幾個特點(diǎn)。軟件開發(fā)的步驟需要體驗(yàn)有更深層次的理解,同時設(shè)計項(xiàng)目不大,但是畢竟是一個非常好的開發(fā)體驗(yàn)。 設(shè)計的過程中,原始簡單的可以實(shí)現(xiàn)的功能,在實(shí)際操作的時候才發(fā)現(xiàn)它并不容易。越困難之一是實(shí)現(xiàn)客戶端和服務(wù)器之間的通信功能,相對系統(tǒng)協(xié)議,導(dǎo)致客戶端和服務(wù)器通信數(shù)據(jù)混亂,最后不得不包內(nèi)容和封裝。經(jīng)歷了無數(shù)的問題,分析問題,最后得到結(jié)果后過程來解決這個問題,讓人們快樂。 參考文獻(xiàn): [1] 姚昱旻, 劉衛(wèi)國. Android的架構(gòu)與應(yīng)用開發(fā)研究[J]. 計算機(jī)系統(tǒng)應(yīng)用, 2008, 17(11): 110-112, 24. [2] 尹京花, 王華軍. 基于Android開發(fā)的數(shù)據(jù)存儲[J]. 北京:北京師范大學(xué)出版社, 2012. [3] 百度文庫. Baidu Map API 百度地圖接口整理[DB/OL]. [4] 李剛. Android瘋狂講義[M]. 北京: 電子工業(yè)出版社, 2013. [5] 鄧元平. 深入理解Android[M]. 北京: 機(jī)器工業(yè)出版社, 2012. [6] 劉銳. Android開發(fā)的性能優(yōu)化[J]. 電腦編程技巧與維護(hù), 2013(16): 115-116, 118. [7] 方舟, 張利娜, 張川, 等. 基于ANDROID系統(tǒng)的標(biāo)準(zhǔn)件數(shù)據(jù)庫技術(shù)研究[J]. 機(jī)械設(shè)計與制造, 2013(4): 205-207. [8] 張武, 韓俊乾. 基于Cortex-A8的Android 4.0.3系統(tǒng)架構(gòu)之ADC的研究[J]. 安徽農(nóng)業(yè)科學(xué), 2013(20): 8777-8778.