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

主站蜘蛛池模板: 亚洲美女高潮久久久久久久| 国产日韩欧美精品区性色| 国产偷国产偷在线高清| 国产精品女熟高潮视频| 国产一二三区视频| 国产真实乱子伦视频播放| 免费精品一区二区h| 啪啪啪亚洲无码| 成人一级黄色毛片| 国产一区二区在线视频观看| 国产精品视频系列专区| 不卡无码网| 国产女人喷水视频| 日韩一区精品视频一区二区| 免费一级全黄少妇性色生活片| 国产精品尤物铁牛tv| 亚洲第一福利视频导航| 高清视频一区| 免费在线观看av| 亚洲精品国产成人7777| 免费啪啪网址| 亚洲区一区| 日韩欧美国产三级| 69av免费视频| 麻豆AV网站免费进入| 欧美劲爆第一页| 欧美亚洲中文精品三区| 国产精品欧美激情| 99精品久久精品| 国产欧美性爱网| a级毛片免费网站| 欧洲免费精品视频在线| 国产极品粉嫩小泬免费看| 成人午夜精品一级毛片| 日韩黄色在线| 久久久噜噜噜久久中文字幕色伊伊 | 毛片在线看网站| 在线欧美a| 永久免费AⅤ无码网站在线观看| av在线手机播放| 国产91丝袜在线播放动漫| 日本伊人色综合网| 亚洲天堂在线免费| 国产乱子伦无码精品小说| 国产欧美日韩专区发布| 伊伊人成亚洲综合人网7777| 欧美色综合网站| 91小视频在线观看免费版高清| 四虎免费视频网站| 亚洲天堂福利视频| 在线另类稀缺国产呦| 日韩欧美高清视频| 亚洲视频免| 狠狠色丁香婷婷| 欧美一区二区自偷自拍视频| 国产人成在线观看| a毛片在线播放| 少妇精品网站| 久久夜色精品国产嚕嚕亚洲av| 亚洲V日韩V无码一区二区| 亚洲va视频| 亚洲欧美日韩色图| 五月丁香伊人啪啪手机免费观看| 美女潮喷出白浆在线观看视频| 欧美成人精品一级在线观看| 国产情精品嫩草影院88av| 国产成人三级| 97se亚洲综合在线韩国专区福利| 日韩无码精品人妻| 亚洲欧美激情小说另类| 亚洲AV一二三区无码AV蜜桃| 色欲色欲久久综合网| 国产性精品| 国产一区自拍视频| 亚洲精品无码高潮喷水A| 99视频国产精品| 成人一区专区在线观看| 日韩第九页| 青青操视频免费观看| 亚洲精品自拍区在线观看| 国产精品深爱在线| 91麻豆精品国产高清在线|