基于Android系統(tǒng)的簡(jiǎn)單測(cè)量程序設(shè)計(jì)_第1頁
基于Android系統(tǒng)的簡(jiǎn)單測(cè)量程序設(shè)計(jì)_第2頁
基于Android系統(tǒng)的簡(jiǎn)單測(cè)量程序設(shè)計(jì)_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 基于Android系統(tǒng)的簡(jiǎn)單測(cè)量程序設(shè)計(jì) 馮金濤Summary:智能手機(jī)正在成為新的測(cè)量記錄和計(jì)算處理工具。本文針對(duì)三個(gè)簡(jiǎn)單測(cè)量問題(前方交會(huì)、單一導(dǎo)線和水準(zhǔn)路線),研究基于Android智能手機(jī)平臺(tái)的程序設(shè)計(jì)方法,取得了一些經(jīng)驗(yàn),成功編制出相關(guān)程序。Key:測(cè)量;程序設(shè)計(jì);Android系統(tǒng);智能手機(jī):P209;TP311.1 文獻(xiàn)標(biāo)志碼:A :1674-9324(2017)16-0256-04隨著時(shí)代發(fā)展和科技進(jìn)步,智能手機(jī)已成為人們必備的日常生活用品,其應(yīng)用范圍不斷擴(kuò)大,可以服務(wù)于人們多方面的工作和生活需要。智能手機(jī)的核心是開放式的手機(jī)操作系統(tǒng),使用者可根據(jù)需要安裝不同的軟件,從而提高

2、了手機(jī)的可擴(kuò)展性。目前主要的手機(jī)操作系統(tǒng)是Google公司推出的Android和蘋果公司的iOS,而Android系統(tǒng)由于開放源代碼,得到手機(jī)行業(yè)內(nèi)眾多廠家和服務(wù)提供商的支持,占有絕大部分的市場(chǎng)份額。智能手機(jī)也可以應(yīng)用于測(cè)量數(shù)據(jù)的記錄和處理工作,已有很多專家學(xué)者在此方面進(jìn)行了研究和程序開發(fā)。測(cè)量人員以前曾經(jīng)普遍使用各種專門的記錄手簿,利用計(jì)算器作輔助計(jì)算,這種手工作業(yè)方式的效率偏低。后來出現(xiàn)了面向工程技術(shù)人員使用的可編程計(jì)算器(例如SHARP PCE500,CASIO fx5800P等),可部分減少測(cè)量人員的數(shù)據(jù)記錄和處理工作,以及隨后出現(xiàn)的各種掌上電腦(PDA:Personal Digita

3、l Assistant),所有這些電子設(shè)備都需花費(fèi)一定數(shù)量的資金購買并深入研究程序開發(fā)技巧。然而隨著智能手機(jī)的出現(xiàn),這些可編程計(jì)算器或掌上電腦在測(cè)量工作中將逐漸被淘汰。由于智能手機(jī)用途廣泛,且已成為人們必備的日常生活用品,測(cè)量技術(shù)人員研究基于Android系統(tǒng)的測(cè)量程序開發(fā)技術(shù),提升其使用價(jià)值,無疑是具有重要意義的。目前手機(jī)應(yīng)用軟件市場(chǎng)可提供下載的各種程序眾多,但專用于測(cè)繪生產(chǎn)作業(yè)的卻很少,其中一個(gè)重要原因是廣大測(cè)繪技術(shù)人員還未掌握基于Android系統(tǒng)的測(cè)量程序設(shè)計(jì)方法。本文以三個(gè)簡(jiǎn)單測(cè)量工作(前方交會(huì)、單一導(dǎo)線和水準(zhǔn)路線)的計(jì)算程序開發(fā)為例,分析其中遇到的一些問題和解決方法,希望對(duì)相關(guān)技術(shù)

4、人員有所幫助。一、Android應(yīng)用程序開發(fā)簡(jiǎn)介Android是Google公司發(fā)布的基于Linux內(nèi)核的開源手機(jī)平臺(tái),包括操作系統(tǒng)、中間件和各種應(yīng)用軟件。中間件是指Google公司為Android應(yīng)用程序開發(fā)而專門提供的各種函數(shù)庫和運(yùn)行時(shí)環(huán)境,以及應(yīng)用程序框架,程序員可以很方便地在此基礎(chǔ)上開發(fā)各種應(yīng)用程序。Android應(yīng)用程序開發(fā)類似于在Windows平臺(tái)上用Visual Studio集成開發(fā)環(huán)境作可視化編程,其工作過程可分為兩部分:GUI界面設(shè)計(jì)和編寫程序代碼。Android平臺(tái)的應(yīng)用開發(fā)語言是Java,開發(fā)環(huán)境可以選用Eclipse+ADT或Android Studio,所有這些工具都

5、可以從互聯(lián)網(wǎng)免費(fèi)下載使用。Eclipse是IBM公司在2000年11月以開放源碼的授權(quán)和運(yùn)作模式發(fā)布的,程序員可通過增加插件使其成為多種計(jì)算機(jī)語言(例如Java、C/C+、COBOL、PHP、Perl、Python等)的開發(fā)工具,作Android應(yīng)用程序開發(fā)必須先下載并安裝ADT插件(Android Development Toolkits)。Eclipse提供了對(duì)多種平臺(tái)特性的支持,使用時(shí)間較長(zhǎng),擁有大量的用戶群,但Google公司為了方便開發(fā)者基于Android開發(fā),在2013年首次推出Android Studio,并建議廣大Android開發(fā)者盡快放棄Eclipse+ADT的開發(fā)環(huán)境,改

6、為使用Android Studio12。在開發(fā)環(huán)境中完成GUI界面設(shè)計(jì)和程序代碼輸入后,可通過Android虛擬設(shè)備(AVD:Android Virtual Device)測(cè)試運(yùn)行。AVD的運(yùn)行界面如同真實(shí)手機(jī),但啟動(dòng)較慢,為此可使用第三方提供的Genymotion工具代替1,3。程序員還可以將手機(jī)與計(jì)算機(jī)系統(tǒng)相連,直接用手機(jī)進(jìn)行測(cè)試。已測(cè)試成功的程序即可在手機(jī)上安裝運(yùn)行,投入使用。五、程序設(shè)計(jì)的一些經(jīng)驗(yàn)作者初學(xué)Android應(yīng)用程序開發(fā),在編程過程中也不可避免地遇到許多困難,經(jīng)過反復(fù)測(cè)試終于一一解決??偨Y(jié)出如下一些經(jīng)驗(yàn):1.首先應(yīng)根據(jù)具體問題,確定窗體界面的數(shù)量。以上的前方交會(huì)程序比較簡(jiǎn)單,

7、只有一個(gè)Activity,程序啟動(dòng)后輸入有關(guān)數(shù)據(jù),然后單擊命令按鈕即可獲得計(jì)算結(jié)果。單一導(dǎo)線和水準(zhǔn)路線由于區(qū)分多種類型,需要分別提供窗體界面,使編程工作更加復(fù)雜。2.由于手機(jī)屏幕尺寸有限,在界面設(shè)計(jì)時(shí)不宜使用太多的控件。以上三個(gè)程序在接收一系列的角度、距離或高差觀測(cè)值時(shí),只采用一個(gè)編輯框控件,各數(shù)據(jù)依次錄入,彼此之間以逗號(hào)隔開。在程序代碼中調(diào)用split()方法可自動(dòng)區(qū)分各觀測(cè)值,從而使界面簡(jiǎn)潔,方便使用。這種方法還可用于區(qū)分點(diǎn)名和坐標(biāo)(或高程)數(shù)據(jù),從而在同一個(gè)編輯框中可以輸入已知點(diǎn)的完整信息(點(diǎn)名+該點(diǎn)的坐標(biāo)或高程數(shù)據(jù))。3.Intent通常用于在一個(gè)窗體界面(MainActivity)中

8、啟動(dòng)另一個(gè)窗體界面(AcitivityToStart),這時(shí)應(yīng)指明AcitivityToStart對(duì)應(yīng)的類,即所謂Intent的“顯式調(diào)用”:Intent intent=new Intent(MainActivity.this,ActivityToStart.class);startActivity(intent);但是由于單一導(dǎo)線和水準(zhǔn)路線都區(qū)分多種類型,分別有各自的窗體界面,它們屬于不同的類,因此不能直接按照上述方法操作,否則系統(tǒng)會(huì)提示編譯錯(cuò)誤。這時(shí)可以通過設(shè)置Component屬性來確定將啟動(dòng)哪個(gè)窗體界面,從而解決這一問題。有關(guān)的代碼如下:ComponentName comp=null;

9、 switch(dxType) / dxType表示導(dǎo)線類型,在選擇界面中指定case 1: /選擇支導(dǎo)線comp=new ComponentName(MainActivity.this,ZhiActivity.class); break;case 2: /選擇閉合導(dǎo)線comp=new ComponentName(MainActivity.this,BiheActivity.class); break;case 3: /選擇附合導(dǎo)線comp=new ComponentName(MainActivity.this,F(xiàn)uheActivity.class); break; Intent intent

10、=new Intent();intent.setComponent(comp);MainActivity.this.startActivity(intent);4.在單一導(dǎo)線的測(cè)量計(jì)算程序中,已知點(diǎn)和未知點(diǎn)都具有多種屬性(包括點(diǎn)名,x坐標(biāo)和y坐標(biāo)),因此應(yīng)當(dāng)開發(fā)相應(yīng)的point類,將已知點(diǎn)和未知點(diǎn)都作為該類的對(duì)象進(jìn)行創(chuàng)建,從而提高代碼的使用效率。水準(zhǔn)路線的測(cè)量計(jì)算程序也有同樣的問題,可以同樣處理。本文針對(duì)三個(gè)簡(jiǎn)單測(cè)量問題(前方交會(huì)、單一導(dǎo)線和水準(zhǔn)路線),研究基于Android智能手機(jī)平臺(tái)的測(cè)量程序設(shè)計(jì)方法,編制出相關(guān)程序,并在真實(shí)手機(jī)上測(cè)試成功。這些程序還可以作進(jìn)一步的改進(jìn),例如增加容錯(cuò)功能和異常處理機(jī)制,將計(jì)算結(jié)果以報(bào)表形式輸出等。智能手機(jī)的功能很多,以智能手機(jī)為平臺(tái)的Android應(yīng)用程序開發(fā)也具有豐富的內(nèi)容,學(xué)習(xí)Android應(yīng)用程序開發(fā)應(yīng)當(dāng)首先學(xué)習(xí)Java編程語言1。另一方面,Android應(yīng)用程序不僅用于智能手機(jī),也可用于智能電視、游戲機(jī)和一些可穿戴的智能設(shè)備(例如手表和眼鏡),甚至用于汽車和機(jī)器人的控制系統(tǒng)設(shè)計(jì),因此這項(xiàng)技術(shù)具有重大的應(yīng)用價(jià)值,必然會(huì)激起更多學(xué)生和科技人員的興趣。Reference:1李剛.瘋

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論