999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android系統(tǒng)下的三、四等水準(zhǔn)記錄軟件開發(fā)

2016-06-12 09:20:20
工程與建設(shè) 2016年1期

趙 健

(安徽省水利水電勘測設(shè)計院勘測分院,安徽 蚌埠 233000)

?

Android系統(tǒng)下的三、四等水準(zhǔn)記錄軟件開發(fā)

趙健

(安徽省水利水電勘測設(shè)計院勘測分院,安徽 蚌埠233000)

摘要:隨著科學(xué)技術(shù)快速發(fā)展,雖然測量設(shè)備和測繪方法都發(fā)生較大的變化,但是水準(zhǔn)記錄作為傳統(tǒng)的測量手段仍然具有不可替代的精準(zhǔn)性,而其相關(guān)軟件的更新迭代也更容易被人們忽視。文章使用的PDA水準(zhǔn)記錄軟件,在數(shù)據(jù)處理、資料打印及歸檔上已有一套成熟的方案,但是PDA設(shè)備已近淘汰,考慮到智能手機的高度普及和便攜性,開發(fā)了Android系統(tǒng)下的水準(zhǔn)記錄軟件。關(guān)鍵詞:水準(zhǔn)記錄軟件;Android系統(tǒng);界面設(shè)計

1功能介紹

本軟件可對三、四等水準(zhǔn)測量進行觀測數(shù)據(jù)記錄,四等水準(zhǔn)路線中支持“單程雙轉(zhuǎn)點”模式。在數(shù)據(jù)錄入時,軟件將“監(jiān)聽”用戶的輸入行為,自動切換輸入焦點,并實時進行數(shù)據(jù)檢查,提示超限的讀數(shù),同時可對奈鮑爾法i角檢驗數(shù)據(jù)進行檢查和記錄。在軟件編寫過程中著重考慮記錄員的操作體驗,如最大視距為100 m的情況下,當(dāng)距離記錄到2位數(shù),并且大于10的時候則自動將光標(biāo)移到下一個輸入框,否則等待用戶繼續(xù)輸入。諸多類似這樣的設(shè)計將盡可能地減少記錄過程中的多余動作。

2環(huán)境搭建

在Android開發(fā)環(huán)境中,較常用的為Eclipse IDE,除此之外也可以使用IntelliJ IDEA。本文簡單介紹Eclipse開發(fā)環(huán)境要素組成[1-4]。

(1) JDK(Java SE Development Kit)。也就是Java開發(fā)工具箱,它是Java的核心,包含了Java的運行環(huán)境(Java Runtime Environment),一堆Java工具和給開發(fā)者開發(fā)應(yīng)用程序時調(diào)用的Java類庫。本文使用的是JDK 8 Update 60,安裝并為其配置環(huán)境變量即可。

(2) Android SDK(Software Development Kit)。它包含了模擬器、教程、API文檔和示例代碼等內(nèi)容,為構(gòu)建、調(diào)試Android應(yīng)用程序提供了所需的開發(fā)工具。打開Android SDK安裝目錄下的SDK Manager,可以為不同版本的安卓系統(tǒng)下載對應(yīng)的SDK包,以便于在各個不同平臺下進行調(diào)試。

(3) Eclipse和ADT插件。 Eclipse是Java應(yīng)用程序及Android開發(fā)的IDE(集成開發(fā)環(huán)境),ADT(Android Development Tools)是Google專門為Eclipse定制的一個插件,用來將Eclipse和Android SDK關(guān)聯(lián)起來。

為了方便程序員對Android開發(fā)環(huán)境的配置,Google提供了一種集成式IDE:ADT-Bundle for Windows,它包含了上述除JDK以外的所有東西,直接解壓然后更新下Android SDK即可使用。但是,更新SDK時,先在Eclipse-幫助-Install New Software-what is already installed中查看ADT版本,確保該版本和SDK Manager安裝包列表內(nèi)的Tools-Android SDK Tools 版本號一致,否則會有版本不匹配的提示;當(dāng)Intel CPU支持VT虛擬技術(shù)時,可以在SDK Manager中下載Intel x86 Emulator Accelerator,以使用HAXM技術(shù)為模擬器加速[5]。

3界面及功能實現(xiàn)

3.1界面設(shè)計

Android提供了一種非常簡單、方便的方法用于控制UI界面,該方法采用XML文件進行界面布局,從而將布局界面的代碼和邏輯控制的Java代碼分離開來,使程序的結(jié)構(gòu)更加清晰、明了。

使用XML布局文件控制UI界面可以分為以下2個關(guān)鍵步驟:

(1) 在Android應(yīng)用的reslayout目錄下編寫XML布局文件,可以采用任何符合Java命名規(guī)則的文件名。創(chuàng)建后,R.java會自動收錄該布局資源。

(2) 在Activity中使用Java代碼實現(xiàn)XML文件中布局的內(nèi)容:setContentView(R.layout.activity_welcom),在代碼中,activity_welcome是本軟件首頁面XML布局文件的文件名。

由于Android設(shè)備的分辨率和屏幕尺寸較為混亂,因此,有必要為不同分辨率的設(shè)備單獨編寫布局文件。現(xiàn)在多數(shù)手機已經(jīng)采用了1 920×1 080的分辨率,為了界面能夠正常顯示,需要在res目錄下新建一個layout-xxhdpi的文件夾,在里面為軟件的每個界面重新編寫XML布局文件。軟件運行時將根據(jù)手機的分辨率自動調(diào)用相應(yīng)文件夾內(nèi)的布局文件進行顯示[6-7]。

在本軟件部分代碼中布局了一個“選擇…”的按鈕和顯示文件路徑的可編輯文本框,如圖1所示。

圖1 軟件界面

3.2功能實現(xiàn)

在水準(zhǔn)記錄過程中,為了提升用戶使用體驗,軟件需要對錄入的數(shù)據(jù)進行分析,并輔助用戶進行輸入焦點切換和超限提醒。以水準(zhǔn)尺的后視紅面讀數(shù)為例,首先限定該文本框只能輸入整數(shù),且長度為4個字符,然后監(jiān)聽這個文本框的字符變化,當(dāng)其為4個字符(即已經(jīng)輸入完畢)時將焦點切換到下一目標(biāo);然后再為該文本框添加一個焦點切換監(jiān)聽器,并在其內(nèi)判斷讀數(shù)是否超限。以下為部分代碼:

DhouHong.setOnFocusChangeListener(new OnFocusChangeListener() {

EditText DhouHei =(EditText)findViewById(R.id.DhouHei); //--后視黑面

EditText DqianHei =(EditText)findViewById(R.id.DqianHei);//--前視黑面

EditText DhouHong =(EditText)findViewById(R.id.DhouHong);//--后視紅面

EditText DqianHong =(EditText)findViewById(R.id.DqianHong);//--前視紅面

public void onFocusChange(View v, boolean hasFocus) {if(!TextUtils.isEmpty(DhouHei.getText())&&!TextUtils.isEmpty(DhouHong.getText()))//--后視讀數(shù)不為空

{

double dblhouHei=Double.parseDouble(DhouHei.getText().toString());

double dblhouHong=Double.parseDouble(DhouHong.getText().toString());if((dblhouHei+hccs-dblhouHong)>chk30||(dblhouHong-dblhouHei-hccs)>chk30)

{

Toast.makeText(DanChengActivity.this, “中絲讀數(shù)超限”,Toast.LENGTH_SHORT).show();

((EditText)findViewById(R.id.DhouHong)).setText("");

}else if(!TextUtils.isEmpty(DqianHei.getText())&&!TextUtils.isEmpty(DqianHong.getText()))

{

double dblqianHei=Double.parseDouble(DqianHei.getText().toString());

double dblqianHong=Double.parseDouble(DqianHong.getText().toString());

if((dblhouHei-dblqianHei-dblhouHong+dblqianHong)>(qccs-hccs+chk50)||(dblhouHei-dblqianHei-dblhouHong+dblqianHong)<(qccs-hccs-chk50))

{

Toast.makeText(DanChengActivity.this, “黑紅面高差超限”,Toast.LENGTH_SHORT).show();

((EditText)findViewById(R.id.DhouHong)).setText("");

}

在Android中,Activity代表著手機屏幕的一屏,每個應(yīng)用程序內(nèi)可以有多個Activity,本軟件中就有5個。當(dāng)在一個Activity中啟動另一個Activity時,經(jīng)常需要傳遞一些數(shù)據(jù)。如用戶選擇好了水準(zhǔn)等級,并填寫好前、后尺常數(shù)等參數(shù),點擊“開始”按鈕進行記錄時,需要把這些信息“告訴”新打開的水準(zhǔn)記錄頁面,以便進行數(shù)據(jù)檢查。這時候就可以通過Intent來實現(xiàn)。因為Intent通常被稱為是2個Activity之間的信使,通過將要傳遞的數(shù)據(jù)保存在Intent中,就可以將其傳遞到另一個Activity中[8-10]。

在Android中,可以先將要保存的數(shù)據(jù)存放在Bundle對象中,然后通過Intent提供的putExtras()方法將要攜帶的數(shù)據(jù)保存在Intent中。

具體步驟如下:

在WelcomeActivity.java的“開始”按鈕單擊事件監(jiān)聽器中添加如下代碼:

Intent intent = new Intent(WelcomeActivity.this,DanChengActivity.class);

Bundle bundle=new Bundle();//--創(chuàng)建并實例化一個Bundle對象

bundle.putCharSequence("hccs", hccs); //--保存后尺常數(shù)

bundle.putCharSequence("qccs", qccs); //--保存前尺常數(shù)

bundle.putCharSequence("szdj", szdj); //--保存水準(zhǔn)等級

bundle.putCharSequence("tq", tq); //--保存天氣

bundle.putCharSequence("cx", cx); //--保存成像

intent.putExtras(bundle); //--將Bundle對象添加到Intent對象中

startActivity(intent); //--啟動新的Activity

在DanChengAcitivity.java的onCreate()方法中添加如下代碼:

Intent intent =getIntent();//--獲取Intent對象

Bundle bundle=intent.getExtras();//--獲取傳遞的數(shù)據(jù)包

String sthccs=bundle.getString("hccs");//--獲取后尺常數(shù)

String stqccs=bundle.getString("qccs");//--獲取前尺常數(shù)

hccs = Integer.parseInt(sthccs); //--將后尺常數(shù)轉(zhuǎn)換為int類型

qccs = Integer.parseInt(stqccs); //--將前尺常數(shù)轉(zhuǎn)換為int類型

String szdj=bundle.getString("szdj");//--獲取水準(zhǔn)等級

final String tq=bundle.getString("tq");//--獲取天氣

final String cx=bundle.getString("cx");//--獲取成像

這樣就實現(xiàn)了不同界面中數(shù)據(jù)的傳遞,如圖2所示的軟件操作界面。

圖2 水準(zhǔn)記錄界面

4結(jié)束語

經(jīng)測試和使用,本軟件可方便快捷地進行水準(zhǔn)數(shù)據(jù)記錄,并可與本單位現(xiàn)有的平差軟件進行無縫銜接,實現(xiàn)野外觀測水準(zhǔn)數(shù)據(jù)的資料處理和打印,解決了因舊設(shè)備老化和淘汰帶來的軟件更新迭帶問題。

〔參考文獻〕

[1]吳亞峰,索依娜.Android核心技術(shù)與實例講解[M].北京:電子工業(yè)出版社,2010.

[2]清宏計算機工作室.JAVA編程技巧[M].北京:機械工業(yè)出版社,2004.

[3]姚昱旻,劉衛(wèi)國.Android的架構(gòu)與應(yīng)用開發(fā)研究[J].計算機系統(tǒng)應(yīng)用,2008,17(11):110-112.

[4]汪永松.Android平臺開發(fā)之旅[M].北京:機械工業(yè)出版社,2011.

[5]羅海濱,趙顯富.電子手簿在水準(zhǔn)測量實踐教學(xué)中的應(yīng)用研究[J].測繪科學(xué),2012(6):187-188.

[6]王沖.J2ME開發(fā)平臺上XML解析器的選擇[J].計算機工程與應(yīng)用,2003(31):133-135.

[7]GB/T 12898-2009,國家三、四等水準(zhǔn)測量規(guī)范[S].

[8]陳煒,張曉蕾,侯燕萍,等.Java軟件開發(fā)技術(shù)[M].北京:人民郵電出版社,2005.

[9]熊剛.基于Android的智能手機的設(shè)計與實現(xiàn)[D].武漢:武漢理工大學(xué),2010.

[10]尤寶平,聶群.DiNi11/12電子水準(zhǔn)儀及其使用[J].海洋測繪,2004(4):59-61.

收稿日期:2015-12-25;修改日期:2016-01-19

作者簡介:趙健(1985-),男,安徽淮南人,安徽省水利水電勘測設(shè)計院勘測分院工程師.

中圖分類號:TP311.5

文獻標(biāo)識碼:A

文章編號:1673-5781(2016)01-0033-03

主站蜘蛛池模板: 夜精品a一区二区三区| 亚洲AV无码一区二区三区牲色| a级毛片免费网站| 一级毛片a女人刺激视频免费| 日韩一级毛一欧美一国产| 国产人前露出系列视频| 538国产在线| 国产特级毛片aaaaaa| 欧美成人午夜在线全部免费| 无码中字出轨中文人妻中文中| 欧美精品v欧洲精品| 国产一级毛片网站| 美女内射视频WWW网站午夜| 91在线丝袜| 国产一区二区网站| 爽爽影院十八禁在线观看| 97青草最新免费精品视频| 亚洲国产成人在线| 欧美日一级片| 四虎精品黑人视频| 久久无码av三级| 免费国产无遮挡又黄又爽| 91精品伊人久久大香线蕉| 午夜福利视频一区| 国产人妖视频一区在线观看| 免费看久久精品99| 91成人在线免费视频| 国产毛片基地| 国产日韩精品一区在线不卡| 亚洲欧美另类色图| 色欲不卡无码一区二区| 日韩中文欧美| 污网站在线观看视频| 午夜啪啪福利| 国内精自线i品一区202| 国产一区二区丝袜高跟鞋| 亚洲床戏一区| 爱爱影院18禁免费| 午夜精品久久久久久久无码软件 | 欧美一区二区丝袜高跟鞋| 18禁不卡免费网站| 成人在线不卡视频| 亚洲国产一区在线观看| 亚洲人成影视在线观看| 欧美国产日产一区二区| 毛片网站观看| 色老头综合网| 亚洲Aⅴ无码专区在线观看q| 日韩福利视频导航| 日韩视频福利| 精品综合久久久久久97| 久久黄色影院| 天堂av综合网| 久久久久人妻一区精品色奶水 | 香蕉色综合| 日韩欧美91| 永久毛片在线播| 又爽又大又光又色的午夜视频| 久久这里只有精品免费| 一级在线毛片| 免费激情网站| 亚洲大学生视频在线播放| 欧美综合区自拍亚洲综合天堂| 亚洲性日韩精品一区二区| 四虎永久在线视频| 五月天综合婷婷| 亚洲一区二区无码视频| 在线视频亚洲欧美| 国产精品一区二区不卡的视频| 亚洲另类第一页| 国产在线第二页| 国产精品19p| 国产一级二级三级毛片| 色播五月婷婷| 无码日韩视频| 国内精品伊人久久久久7777人| 国产一二三区视频| 亚洲丝袜中文字幕| 91日本在线观看亚洲精品| 日韩中文字幕免费在线观看| 亚洲成人在线网| 欧美翘臀一区二区三区|