何艷江++呂鵬++顏溯++鄭天楠++邵超
摘要:地基處理是土木工程中的重要內(nèi)容,目前其設(shè)計計算主要通過計算機(jī)軟件實現(xiàn)。結(jié)合當(dāng)前個人移動智能設(shè)備日益普及的現(xiàn)狀,本文探討了基于安卓系統(tǒng)的地基處理軟件開發(fā)問題。
關(guān)鍵詞:安卓系統(tǒng);地基處理;Java Eclip se
中圖分類號:TP311.52
文獻(xiàn)標(biāo)識碼:A
DOI:10.3969/j.issn.1003-6970.2015.12.010
本文著錄格式:何艷江,呂鵬,顏溯等.基于安卓平臺的復(fù)合地基處理軟件開發(fā)[J].軟件,2015,36(12):42-44
0 引言
現(xiàn)代信息技術(shù)的發(fā)展使得電子產(chǎn)品更加具有多樣性和豐富性,其中個人智能移動設(shè)備的普及推廣使社會生產(chǎn)生活各方面產(chǎn)生了巨大的變化,相應(yīng)的應(yīng)用開發(fā)已經(jīng)成為當(dāng)下技術(shù)熱點(diǎn)之一。
地基處理是指提高地基承載力,改變其變形性能或滲透性能而采取的技術(shù)措施。地基處理是土木工程中的一個重要方面,而目前地基處理軟件主要基于傳統(tǒng)的計算機(jī)Windows平臺,已不適于目前個人智能移動設(shè)備的大規(guī)模應(yīng)用的潮流。
本文即針對上述情況,按照國家現(xiàn)行地基處理規(guī)范的規(guī)定和便于工程使用的要求,分析了在Android平臺支持下如何進(jìn)行編制地基處理軟件的主要思路。
1 安卓操作系統(tǒng)
1.1 安卓系統(tǒng)簡介
Android是以Linux為基礎(chǔ)的開源操作系統(tǒng),其體系結(jié)構(gòu)采用軟件堆架構(gòu),共分四層,分別為Application、Application Framework、Libraries和Android Runtime以及Linux Kernel.
最底層的是Linux kernel,即Linux內(nèi)核,它是硬件和軟件堆之間的一個抽象隔離層,提供安全機(jī)制、內(nèi)存管理、網(wǎng)絡(luò)協(xié)議堆棧、電源盒驅(qū)動管理等。
其次是Libraries和Android Runtime。Libraries是Android提供的一組C/C++庫,它們?yōu)槠脚_的不同組件所使用。開發(fā)人員通過Application Framework來使用這些庫所提供的不同功能。Android Runtime包括核心庫和Dalvik虛擬機(jī)兩部分。核心庫中提供了Java語言核心庫中包含的大部分功能,虛擬機(jī)負(fù)責(zé)運(yùn)行程序。Dalvik虛擬機(jī)專門針對移動設(shè)備進(jìn)行編寫,不僅效率更高,而且占用更少的內(nèi)存。
Application Framework意為應(yīng)用程序框架。它實現(xiàn)了該平臺下的管理功能和組件重用機(jī)制,包括Activity管理、窗體管理、包管理、資源管理等一系列服務(wù)。無論是Android提供的應(yīng)用程序還是開發(fā)人員自己編寫的應(yīng)用程序,都需要Application Framework。通過使用Application Framework,不僅可以大幅度簡化代碼的編寫,而且可以提高程序的復(fù)用性。
最上層是Application,是指由Android提供的應(yīng)用程序,包括Email客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄等。這部分程序均使用Java語言編寫。
Android的系統(tǒng)架構(gòu)采用分層架構(gòu)的思想,架構(gòu)清晰,層次分明。如果想要從事Android的應(yīng)用開發(fā)就必須了解Android的體系架構(gòu)。
1.2 安卓系統(tǒng)架構(gòu)
Android的4大組件包括Activity、Service、Broadcast Receiver和Content Provider.
1.2.1 Activity
Android中,Activity代表手機(jī)屏幕的一屏,或是平板電腦中的一個窗口。它是所有程序的根本,也是Android最基本模塊之一,所有的程序流程都運(yùn)行在Activity之中。它提供了和用戶交互的可視化界面。一般一個Android應(yīng)用由多個Activity組成,Activity之間可以相互跳轉(zhuǎn)。
1.2.2 Service
服務(wù)是一個Android系統(tǒng)的一種組件。它是沒有用戶界面的長周期代碼,能夠在后臺執(zhí)行長時間運(yùn)行操作,但不能自己運(yùn)行。其他應(yīng)用組件能夠啟動Service,并且當(dāng)用戶切換到另外的應(yīng)用場景,Service將持續(xù)在后臺運(yùn)行。另外,一個組件能夠綁定到一個Service與之交互。
1.2.3
Broadcast Receiver
在Android中,Broadcast是一種廣泛運(yùn)用的在應(yīng)用程序之間傳輸信息的機(jī)制。而Broadcast Receiver是對發(fā)送出來的Broadcast進(jìn)行過濾接受并響應(yīng)的一類組件。程序可以有任意數(shù)量的Broadcast Receivers來響應(yīng)重要的通知,通過多種方式通知用戶。多數(shù)廣播是系統(tǒng)發(fā)起的,如地域變換、電量不足、來電來信等。
1.2.4
Content Provider
內(nèi)容提供商是Android提供的第三方應(yīng)用數(shù)據(jù)訪問方案。它主要用于對外共享數(shù)據(jù),也就是通過Content Provider把應(yīng)用中的數(shù)據(jù)共享給其他應(yīng)用訪問,其他應(yīng)用可以通過Content Provider對指定應(yīng)用中的數(shù)據(jù)進(jìn)行操作。這是不同應(yīng)用程序間共享數(shù)據(jù)的唯一方式。
2 地基處理計算軟件現(xiàn)狀
地基處理技術(shù)是土木建筑中的一個重要組成內(nèi)容,在建筑工程、公路、鐵路、水利等行業(yè)得以廣泛應(yīng)用。地基處理計算過程中一般表現(xiàn)為數(shù)據(jù)量大、影響因素多、且經(jīng)常需要多次計算以優(yōu)化設(shè)計方案等特點(diǎn),因此目前一般需通過專業(yè)計算軟件實現(xiàn)。
目前國內(nèi)外地基處理計算分析的軟件可分為兩大類,一類是與工程密切結(jié)合,嚴(yán)格按照工程上相關(guān)標(biāo)準(zhǔn)、規(guī)范編制的專用程序,如國內(nèi)廣泛采用的理正巖土計算、PKPM軟件等;一類是通用程序并可進(jìn)行深入理論研究的大型軟件包,如Abaqus、Adina等。
上述軟件均為基于PC平臺的Windows操作系統(tǒng)支持下的專業(yè)軟件,并存在購買價格高昂等特點(diǎn)。針對這一情況以及目前基于安卓平臺應(yīng)用的流行,本文對基于Android系統(tǒng)的地基處理計算軟件進(jìn)行了研究。
3 基于Android平臺的地基處理軟件開發(fā)
基于Android平臺的地基處理軟件應(yīng)用可劃分為四個主要組成模塊,具體包括:地基處理方法選擇、數(shù)據(jù)輸入、地基處理計算和計算結(jié)果輸出。
3.1 地基處理方法選擇模塊
該模塊用于實現(xiàn)地基處理方法的選擇。其中地基處理方法主要有換填墊層法、振沖法、砂石樁法、CFG樁法、夯實水泥土樁法、水泥土攪拌樁法等。
此模塊主要通過spinner實現(xiàn),用戶選擇相應(yīng)方法,系統(tǒng)進(jìn)行記錄。當(dāng)用戶進(jìn)行其它操作時,系統(tǒng)根據(jù)記錄的結(jié)果完成相應(yīng)的顯示。
例如,用戶選擇了換填墊層法,當(dāng)用戶查看處理方法數(shù)據(jù)時,系統(tǒng)會顯示換填墊層法的相關(guān)數(shù)據(jù)。以下為選擇處理方法的跳轉(zhuǎn)頁面部分程序代碼:
switch(id_ selectMethod){
case l:
{
intent—selectMethod=new Intent(MainActivity.this,Select_methodl.class);
startActivityForResult(intent_selectMethod,Oxll);
break:
}
case 2:
{
intent_selectMethod=new Intent(tabActivityl_main.this.tabActivityl_method2_selectMethod.class);
startActivityForResult(intent_selectMethod,Oxll);
break:
}
3.2 地基處理數(shù)據(jù)輸入模塊
此模塊用于實現(xiàn)地基處理數(shù)據(jù)的輸入。其中處理數(shù)據(jù)包括處理方法的主要數(shù)據(jù)、基礎(chǔ)數(shù)據(jù)和土層數(shù)據(jù)。
此模塊主要通過頁面跳轉(zhuǎn)和EditText輸入實現(xiàn)。當(dāng)用戶進(jìn)入跳轉(zhuǎn)頁面,系統(tǒng)根據(jù)用戶之前的操作,顯示相應(yīng)的數(shù)據(jù)輸入框供用戶輸入。
例如,用戶進(jìn)行基礎(chǔ)數(shù)據(jù)輸入時,系統(tǒng)會根據(jù)用戶選擇的“基礎(chǔ)類型”和“交互或計算基底壓力”顯示相應(yīng)的輸入框。比如用戶選擇基礎(chǔ)類型為“條形基礎(chǔ)”和“交互基底壓力”時,可輸入的數(shù)據(jù)如下圖l所示,分別為埋深、寬度、基底壓力平均值、基底壓力最大值和沉降點(diǎn)坐標(biāo)X0等。當(dāng)選擇為“矩形基礎(chǔ)”和“計算”基底壓力時,則分別為埋深、寬度、長度、軸力、彎矩Mx、My、基礎(chǔ)覆土容重、沉降點(diǎn)坐標(biāo)X0、Y0等。下圖l為數(shù)據(jù)輸入頁面。
3.4 輸出模塊
此模塊通過TextView顯示,輸出內(nèi)容包括基本參數(shù)和計算結(jié)果。
基本參數(shù)包括地基處理基礎(chǔ)參數(shù)、土層參數(shù)和處理方法相關(guān)參數(shù)等。根據(jù)不同的處理方法得到相應(yīng)的計算結(jié)果。
例如,振沖法的計算結(jié)果包括基礎(chǔ)底面處承載力計算、地基處理深度范圍內(nèi)土層的承載力驗算、下臥土層承載力驗算和沉降計算四部分。
該模塊部分代碼如下:
void showResult(){
Bundle bundle=new Bundle():
bundle=this.getlntent().getExtras();
tv_showresult.setText(bundle.getString(“result”));
}
4 結(jié)論
本文對開發(fā)基于Android平臺的地基處理應(yīng)用軟件進(jìn)行了研究探討,以適應(yīng)當(dāng)前個人智能設(shè)備日益普及的背景下地基處理技術(shù)與應(yīng)用的需求。用戶可以通過使用便攜式智能移動設(shè)備解決相關(guān)簡單的設(shè)計計算問題,從而提高工作效率。本文的研究內(nèi)容及軟件模塊分析具有明顯的理論參考價值。
5 致謝
本文是在石家莊鐵道大學(xué)土木學(xué)院呂鵬副教授、劉偉超博士指導(dǎo)下完成的,特此致謝。