何艷江++呂鵬++顏溯++鄭天楠++邵超


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