摘 要:簡(jiǎn)要地介紹了基于安卓系統(tǒng)的測(cè)量軟件開(kāi)發(fā)技術(shù)??偨Y(jié)了基于安卓系統(tǒng)的JAVA語(yǔ)言開(kāi)發(fā)要點(diǎn),常用菜單、按鈕設(shè)計(jì)、軟件注冊(cè)方法、手機(jī)定位等開(kāi)發(fā)技術(shù)。該程序安裝在安卓手機(jī)或平板電腦上使用,版本為安卓2.2以上。
關(guān)鍵詞:安卓系統(tǒng);測(cè)量軟件;JAVA語(yǔ)言;手機(jī)定位
中圖分類號(hào):TP311.52
如今,基于安卓系統(tǒng)的產(chǎn)品種類越來(lái)越多。無(wú)論是功能,還是性價(jià)比,都趨于成熟化。安卓操作系統(tǒng)的開(kāi)源性,使它在業(yè)界被更為廣泛的推廣,越來(lái)越受廣大客戶的喜愛(ài)。本文研究出一套基于安卓手機(jī)和平板電腦的測(cè)量軟件。
1 程序功能
本文的測(cè)量軟件安裝包小,占用內(nèi)存較小,安裝簡(jiǎn)便。軟件采用的是Java和sqllite內(nèi)嵌式的數(shù)據(jù)開(kāi)發(fā)方式。用戶可以隨時(shí)檢查i角,同時(shí)記錄保存。用戶可根據(jù)實(shí)際需要對(duì)其進(jìn)行修改。依照觀測(cè)等級(jí)、國(guó)家水準(zhǔn)測(cè)量規(guī)范要求的順序自動(dòng)移動(dòng)光標(biāo)位置。進(jìn)行超限檢查時(shí),若發(fā)現(xiàn)超限,提示用戶出現(xiàn)“Go”提示框。若是偶數(shù)站,需要在提示框中輸入前尺點(diǎn)名,記錄的按鈕自動(dòng)由紅色->綠色,記錄數(shù)據(jù)。為了避免數(shù)據(jù)的丟失,“保存按鈕”設(shè)置了即時(shí)保存數(shù)據(jù)的功能。根據(jù)統(tǒng)計(jì)的數(shù)據(jù)進(jìn)行結(jié)果分析,采用《空間數(shù)據(jù)處理系統(tǒng)3.3版》軟件。分析結(jié)果自動(dòng)生成電子表格。此軟件的主要功能有:打開(kāi)文件,保存文件,新建文件,新建測(cè)段,刪除測(cè)段,刪除文件,i角檢查,輸出數(shù)據(jù),設(shè)置測(cè)站信息,退N站,退一站,統(tǒng)改點(diǎn)名,退出系統(tǒng)等等。
2 程序開(kāi)發(fā)技術(shù)
2.1 程序的開(kāi)發(fā)環(huán)境
在我們做操作系統(tǒng)軟件之前,先要了解軟件的開(kāi)發(fā)環(huán)境。第一,搭建好環(huán)境,才能進(jìn)行軟件開(kāi)發(fā)。這個(gè)過(guò)程分為以下五個(gè)步驟:(1)JDK安裝;(2)安裝AndroidSDK;(3)安裝myEclopse;(4)安裝ADT;(5)AVD創(chuàng)建。
2.2 建立新工程
2.2.1 打開(kāi)Eclipse->文件->新建->工程,跳出一個(gè)新建工程提示框,點(diǎn)擊安卓選項(xiàng)->選擇安卓工程->下一個(gè),輸入工程名稱(小寫(xiě)字母,如:aa),選擇我們需要的目標(biāo)平臺(tái)(例如Android2.2),再輸入應(yīng)用程序名稱(如:aa)和包名稱(如:wuazaa),點(diǎn)擊完成,就完成創(chuàng)建任務(wù)。同時(shí),打開(kāi)src中的包名稱((如:wuazaa),再打開(kāi)LevelActivity.java文件,會(huì)提示出錯(cuò),這是因?yàn)樽詣?dòng)生成默認(rèn)語(yǔ)句(setContentView(Rlayout.main)),而主頁(yè)而不存在所致[1]。這種問(wèn)題的解決方法:文件一>新建一>其他,新建一個(gè)xml文件,選擇安卓一>安卓xml文件,點(diǎn)下一個(gè),輸入文件名:main,選擇資源類型Layout,點(diǎn)擊右下角Finish完成創(chuàng)建工作。
2.2.2 打開(kāi)Window一>AndroidSDKandAVDManager,選擇所需模擬器環(huán)境,點(diǎn)擊右邊的New按鈕,跳出提示框,鍵盤(pán)輸入工程名稱(如:aa),選擇我們所需的目標(biāo)平臺(tái)(如Android2.2),然后點(diǎn)擊CreateAVD,然后關(guān)閉。點(diǎn)擊菜單Run一>RunConfigurations,選中Target中的新創(chuàng)建的工程文件名稱(如:aa),再選擇Android分頁(yè),點(diǎn)擊右邊的瀏覽按鈕(Browse),找到你剛創(chuàng)建的工程文件名稱(如:aa),點(diǎn)擊OK,再點(diǎn)擊下而的Apply按鈕,再選擇DoNothing選項(xiàng),最后點(diǎn)擊Run按鈕,如果不出現(xiàn)意外情況,稍等片出現(xiàn)應(yīng)用程序模擬器界而,工程創(chuàng)建完成[2]。
2.3 添加頭文件
研發(fā)安卓平臺(tái)軟件的關(guān)鍵技術(shù)是要熟悉Java語(yǔ)言開(kāi)發(fā)環(huán)境,必須熟練C++的編程。再者,安卓本就是一個(gè)開(kāi)源性操作系統(tǒng),它本身的某些功能已近很成熟,在我們的編程過(guò)程中可以直接使用。我們基于其成熟的控件更好的編寫(xiě)利于我們的功能軟件。如:importandroidapp.Activity;………
2.4 SQLite數(shù)據(jù)庫(kù)操作技術(shù)
Android提供了SQLite內(nèi)嵌式數(shù)據(jù)庫(kù),常用于各種掌上設(shè)備,非常小巧,而又功能強(qiáng)大,幾乎所有數(shù)據(jù)都可以用數(shù)據(jù)庫(kù)來(lái)管理。數(shù)據(jù)庫(kù)包名為“SQLiteOpenHelper”。方法:直接復(fù)制JAVA文件,點(diǎn)擊你創(chuàng)建的包名,選擇右鍵直接粘貼即可加入本工程。
2.5 聲明變量方法
privateButtonmCheck;//按鈕控件
privateEditTextmNewFileName;//新建文件名稱
.........
2.6 菜單開(kāi)發(fā)
Android菜單默認(rèn)是隱藏式的,和別的手機(jī)平臺(tái)不同,主要示例代碼如下:
@Override//=創(chuàng)建菜單控制=
publicbooleanonCreateOptionsMenu(Menumenu)
{SubMenusubl=menuaddSubMenu(1,1,“文件”);
subl.add(1,11,1,“新建文伴”);
subl.add(1,12,2,“打開(kāi)文伴”);
turnsuper.onCreateOptionsMenu(menu);}
@Override//===菜單功能響應(yīng)=
publicbooleanonOptionsltemSelected(Menu-Itemitem){//菜單選項(xiàng)switch(itemgetltemld()){case11://新建工程{//實(shí)現(xiàn)設(shè)計(jì)功能代碼(略)break;}
........
2.7按鈕設(shè)計(jì)
界面設(shè)計(jì)我們需要考慮用戶體驗(yàn),根據(jù)用戶的需求來(lái)設(shè)計(jì)界面,使其更加可視化、更方便用戶操作。界面的每一個(gè)按鈕都有特定的功能需要實(shí)現(xiàn)。重要代碼示例如下:
privatevoidExitDialog()
{Builderbuilder=newAlertDialog.Builder(LevelActivity.this);
builder.setTitle(“詢問(wèn)”);builder;setIcon(android.Rdrawableic_dialog_info);
builder;setMessage(\"確定退出系統(tǒng)嗎?\");builder.setPositiveButton(“確定\",newDialoglnterface.OnClickListener)
.......
builder.setNegativeButton(“取消”,1);builder.show()}
2.8 軟件注冊(cè)技術(shù)
為了保護(hù)開(kāi)發(fā)人員的利益,軟件開(kāi)發(fā)人員可以增加注冊(cè)驗(yàn)證功能,保證合法用戶正常運(yùn)行,非法用戶不能正常工作,注冊(cè)的方法有很多,通過(guò)筆者探索,使用MD5的方法加密注冊(cè)軟件更為安全,保密性更高。
2.9 繪圖功能開(kāi)發(fā)方法
本文的軟件也可在手上運(yùn)行,所以用手機(jī)也可以實(shí)現(xiàn)簡(jiǎn)單的繪圖功能,用Androidgraphics類來(lái)實(shí)現(xiàn)在Canvas畫(huà)布上繪圖。用Paint來(lái)定義不同的顏色。
2.10 手機(jī)定位技術(shù)
衛(wèi)星導(dǎo)航的關(guān)鍵技術(shù)是首先設(shè)計(jì)好導(dǎo)航地點(diǎn),輸入經(jīng)緯度坐標(biāo),隨時(shí)取得定位點(diǎn)的實(shí)時(shí)坐標(biāo),然后標(biāo)繪在地圖上,就能顯出路線圖或行車(chē)路線,指示行車(chē)路線,手機(jī)定位技術(shù)則是實(shí)時(shí)獲取定位點(diǎn)的經(jīng)緯度,然后轉(zhuǎn)換成坐標(biāo),向用戶提供位置.實(shí)現(xiàn)此項(xiàng)功能的關(guān)鍵問(wèn)題是,使用MapView對(duì)象,在開(kāi)發(fā)應(yīng)用程序前,須先向Uoogle申請(qǐng)經(jīng)過(guò)驗(yàn)證的AndroidMapsAPIkey,才能正常在手機(jī)上使用UoogleMap服務(wù).
2.11 讀寫(xiě)文件必須在AndroidManifest.XML中添加權(quán)限設(shè)置:
3 結(jié)束語(yǔ)
本文介紹了基于安卓(Android)平臺(tái)開(kāi)發(fā)測(cè)量軟件所需要的基礎(chǔ)技術(shù)和其開(kāi)發(fā)方法及設(shè)計(jì)程序的主要源代碼,并運(yùn)用在具體實(shí)例進(jìn)行了檢測(cè),最后達(dá)到了令人滿意的設(shè)計(jì)效果。
隨著技術(shù)的不斷突破,日新月異,新技術(shù)不斷地應(yīng)用,舊式的掌上電腦逐漸退出了市場(chǎng),代替的是安卓平板電腦和蘋(píng)果電腦,越來(lái)越多的客戶會(huì)購(gòu)買(mǎi)這種設(shè)備,及時(shí)地進(jìn)行開(kāi)發(fā)測(cè)量軟件,讓客戶體驗(yàn)到更多,這是當(dāng)下的首要的任務(wù)。
參考文獻(xiàn):
[1]武安狀,冀書(shū)葉.基于安卓系統(tǒng)的水準(zhǔn)記錄程序的開(kāi)發(fā)[J].地礦測(cè)繪,2012,2;32-34.
[2]武安狀,冀書(shū)葉.基于Android的測(cè)量坐標(biāo)轉(zhuǎn)換系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[J].測(cè)繪與空間地理信息,2012,9:164-166.
作者單位:南京交通職業(yè)技術(shù)學(xué)院電子信息工程學(xué)院軟件技術(shù)教研室,南京211188