道路施工進度信息采集系統(tǒng)軟件設(shè)計
《道路施工進度信息采集系統(tǒng)軟件設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《道路施工進度信息采集系統(tǒng)軟件設(shè)計(49頁珍藏版)》請在裝配圖網(wǎng)上搜索。
本科畢業(yè)設(shè)計(論文) 題目:道路施工進度信息采集系統(tǒng)軟件設(shè)計 學(xué) 院 專 業(yè) 學(xué)生姓名 學(xué)生學(xué)號 指導(dǎo)教師 提交日期 摘 要 本文詳細(xì)介紹了利用安卓設(shè)備對道路施工進度信息采集的系統(tǒng)。道路交通的發(fā)展直接影響著國民經(jīng)濟發(fā)展,伴隨著我國的經(jīng)濟的發(fā)展,未來我國道路建設(shè)將繼續(xù)高速發(fā)展。然而,道路建設(shè)中依然缺乏對施工進度信息的有效采集管理,導(dǎo)致道路總體施工進度緩慢,無法優(yōu)化調(diào)度各個子工作面資源。所以,對各個子工作面施工進度信息的采集匯總,將極大優(yōu)化施工資源配置,提高整體道路施工進度。故本文設(shè)計了道路施工進度信息采集系統(tǒng),可以對各個子工作面施工進度進行采集匯總存儲,也可以將施工進度數(shù)據(jù)下傳給下位機。 本文所設(shè)計的系統(tǒng)是利用安卓智能手機對各個子工作面進行施工進度信息的采集與上傳,利用Qt Creator開發(fā)軟件開發(fā)上位機實現(xiàn)對手機上傳的信息進行接收存儲管理。道路施工進度信息的上傳采用TCP/IP協(xié)議以實現(xiàn)數(shù)據(jù)的可靠傳輸,利用Qt自帶的輕量級內(nèi)置數(shù)據(jù)庫SQLite對數(shù)據(jù)進行存儲和更新修改等功能。最后繼承Qt 的QIODevice類編寫串口程序,實現(xiàn)與下位機的數(shù)據(jù)通信。 實驗結(jié)果表明,本文所設(shè)計的道路施工進度信息采集系統(tǒng)可以對各個子工作面的施工進度信息有效收集管理,并傳送給下位機進行顯示。 本設(shè)計旨在通過道路施工進度信息采集系統(tǒng),為道路施工總體規(guī)劃與資源調(diào)配提供良好的信息支持,實現(xiàn)優(yōu)化各個子工作面的資源調(diào)度,提高道路整體施工進度,保證道路施工工程可以按期竣工。 關(guān)鍵詞:道路施工進度;安卓;Qt Creator;SQLite數(shù)據(jù)庫 Abstract This paper introduces a system using Android devices to acquire the progress information of road construction .The development of road traffic affects the nation economic development directly. With the development of our country's economy, the road construction will develop in high-speed in the future. However, Road construction is still lack of effective collection and management about construction information, which lead to slowness progress as a whole .what’s more, It is difficult to optimize the resources of each working face .For this reason .we designed a system that it can acquires and manages the information of road construction’s progress. It is also can transfer the information to lower computer. The article designed system is bases on android phone to acquire progress of each working face. Qt Creator as development software, develop a upper computer to receive and storage the information uploaded by Android Phone through internet .Using TCP/IP protocol to guarantee the reliable transmission of data .then ,Using Qt’s own lightweight built-in SQLite database for data storage and update, etc. Finally, edit serial program by inherit?QIODevice class to realize data communication with the machine. Experimental results show that the system can collect and manage the progress of working face effectively, and transmitted to the machine for display. This design aims to through gather the road construction schedule information to provide a good information support for the management of road construction schedule. Realize the optimization of resource of each working face, improve the overall road construction progress and ensure the road construction project can be finished on schedule. Keyword: road construction progress; Android; Qt Creator; SQLite 目 錄 摘 要 I Abstract II 第一章 緒 論 1 1.1論文的研究目的 1 1.2 論文的研究背景與意義 2 1.2.1研究背景 2 1.2.2研究意義 3 1.2.3研究現(xiàn)狀 3 1.3本文的研究內(nèi)容 3 第二章 系統(tǒng)設(shè)計方案 5 2.1系統(tǒng)總體方案設(shè)計 5 2.2 TCP/IP協(xié)議介紹 6 2.3本章小結(jié) 8 第三章 基于安卓平臺的道路施工進度信息采集設(shè)計 9 3.1操作系統(tǒng)的選型 9 3.2安卓系統(tǒng)的介紹 9 3.3安卓開發(fā)環(huán)境的搭建 10 3.4道路施工進度信息采集設(shè)計與實現(xiàn) 12 3.4.1軟件需求 12 3.4.2 軟件設(shè)計框架 13 3.4.3安卓的Activity技術(shù) 13 3.4.4功能設(shè)計實現(xiàn) 14 3.5本章小結(jié) 19 第四章 上位機開發(fā) 20 4.1開發(fā)環(huán)境介紹 20 4.2 上位機整體架構(gòu) 20 4.3各個模塊的設(shè)計與實現(xiàn) 22 4.3.1道路信息接收模塊 22 4.3.2 數(shù)據(jù)庫管理模塊 26 4.3.3串口通信模塊 29 4.4本章小結(jié) 32 第五章 功能測試及測試結(jié)果 33 5.1 信息采集上傳測試 33 5.2數(shù)據(jù)庫管理模塊測試 36 5.3串口通信模塊測試 38 5.4本章小結(jié) 38 結(jié) 論 39 參考文獻 40 附錄 實現(xiàn)上位機所編寫的類 41 致謝 42 III 第一章 緒 論 1.1論文的研究目的 我國是一個幅員遼闊,并且人口總數(shù)超過13億的國家,對于這樣國家而言,交通的發(fā)展直接影響著我國國民經(jīng)濟的發(fā)展。正所謂“要致富,先修路”,我國政府已經(jīng)把道路交通基礎(chǔ)設(shè)施建設(shè)作為我國經(jīng)濟發(fā)展的排頭兵,以促進我國經(jīng)濟繼續(xù)向前發(fā)展。 改革開放以來,我國國民經(jīng)濟已經(jīng)取得了舉世矚目的發(fā)展進度,我國的道路基礎(chǔ)設(shè)施的建設(shè)也取得了長足的發(fā)展。根據(jù)交通運輸部發(fā)布的《中國公路水路交通運輸發(fā)展報告》顯示,截止到2012年年底,我國的高速公路通車?yán)锍踢_到9.6萬公里,公路總里程達到424萬公里[1]。雖然我國在道路基礎(chǔ)設(shè)施建設(shè)方面取得了巨大的成績,但是不可否認(rèn),我國的道路有效供給仍然不夠滿足于我國的運輸發(fā)展的需要。同時,道路建設(shè)為了適應(yīng)我國經(jīng)濟的快速發(fā)展以及帶動西部及經(jīng)濟欠發(fā)達地區(qū)的發(fā)展,必將保持較快的增長態(tài)勢。據(jù)我國交通部的規(guī)劃,我國的道路基礎(chǔ)設(shè)施將繼續(xù)加快建設(shè),2020年將在全國形成五縱十橫的主干線等。目前各個地方的公路建設(shè)都在按照計劃緊張進行。所以,我國的道路規(guī)劃建設(shè)仍然將繼續(xù)向前推進和發(fā)展[2]。 現(xiàn)階段比較普遍的組織施工的方式主要包含有依次施工、平行施工和流水施工。依次施工是將工程分割成若干個子工作面,一個一個一次完成。顯然這種施工方式現(xiàn)場作業(yè)單一,工期長,不利于工程量較大的道路施工工程。平行施工是指幾個工程隊在同一時間不同空間進行施工。這種方式工期短,而且存在交叉作業(yè)。流水施工將工程劃分若干個施工段,按工藝劃分施工過程,對所有工程按某一時間間隔依次施工。目前道路施工方案大多采用流水施工方式,因為其能充分利用工作面,加速施工進度,是道路建設(shè)工程盡早竣工,發(fā)揮投資效益。然而目前對各個子工作面施工進度信息的采集方式大多以人工登記并進行匯總,無法提供各個子工作面的工作進度信息實時性,導(dǎo)致道路施工進度總控制室由于未能接收各個自工作面進度實時信息,無法合理調(diào)度施工資源。所以設(shè)計一款系統(tǒng)來采集各個子工作面的施工進度信息,將給道路施工進度的總控提供更好的信息支持,提高工程的統(tǒng)籌協(xié)調(diào),提高各個工作面施工的可操作性和靈活性。 總的來說,我國國民經(jīng)濟發(fā)展,給道路的建設(shè)提供了良好的發(fā)展環(huán)境,道路的發(fā)展反過來又刺激經(jīng)濟的發(fā)展。我國的道路建設(shè)繼續(xù)快速發(fā)展,道路施工進度信息的采集為道路總體施工建設(shè)提供了信息保證,為道路工程建設(shè)注入了新的技術(shù)。 1.2 論文的研究背景與意義 1.2.1研究背景 信息采集系統(tǒng)應(yīng)用了當(dāng)前比較前沿的科學(xué)技術(shù)其中包括信息學(xué)科的技術(shù)、數(shù)據(jù)通訊技術(shù)、計算機技術(shù)等。隨著移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,如何利用現(xiàn)代的移動互聯(lián)網(wǎng)技術(shù)來實現(xiàn)道路施工進度信息的采集將是一個新的課題。 伴隨著移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,Google公司于2008年9月正式發(fā)布了Android1.0,接著安卓系統(tǒng)不斷更新升級,安卓設(shè)備銷售量也在呈現(xiàn)逐年增長,根據(jù)Strategy Analytics市場調(diào)查公司數(shù)據(jù)顯示,單單安卓智能手機2014年的出貨量已經(jīng)超過10億臺,市場占有率已經(jīng)超過80%。目前人們的日常生活中隨處可見安卓設(shè)備的蹤影,安卓設(shè)備在生產(chǎn)中的應(yīng)用也是屢見不鮮。由于安卓系統(tǒng)的不斷更新?lián)Q代,除了基本的電話、短信等功能外還增加了許多新的功能,比如GPS定位、郵件收發(fā)等豐富的功能。正是安卓的強大的信息處理能力和友好的人機交互界面,使得Android設(shè)備可以適應(yīng)不同行業(yè)的需求。當(dāng)然Android設(shè)備也是適用于道路施工進度信息采集,對比于傳統(tǒng)的采用硬件開發(fā)來說,開發(fā)的成本較高,維護繁瑣,人機交互不夠友好等。相反,在Android設(shè)備開發(fā)道路施工進度信息錄入軟件,實用性和可操作性都較高。 Android是由谷歌公司于2007年11月對外公布的手機操作系統(tǒng)名稱,該操作系統(tǒng)是基于Linux平臺的開源手機操作系統(tǒng),該系統(tǒng)的推出與當(dāng)時的主流塞班和iOS形成了三足鼎立的局勢,之后Android操作系統(tǒng)不斷升級換代,用戶活躍數(shù)量不斷增加,于2011年8月2日占據(jù)的全球48%的市場份額,成為全球第一,結(jié)束了塞班的霸主地位[3]。 截止到2015年5月份,安卓系統(tǒng)已經(jīng)經(jīng)歷了大幅度的改動,由最初的Android1.0升級到現(xiàn)在的Android5.0,功能也越來越豐富,運行和處理速度得到大幅提升。正是谷歌的不懈努力,系統(tǒng)的升級和功能的增加,使得基于Android平臺的應(yīng)用開發(fā)者和應(yīng)用程序不斷增加。2014年,Android的應(yīng)用商店Google Play 的應(yīng)用數(shù)量已經(jīng)超過蘋果應(yīng)用達到了143萬款,開發(fā)者總數(shù)也超過個蘋果APP Store 的28.3萬,達到了38.8萬?,F(xiàn)在越來越多的行業(yè)插手移動互聯(lián)網(wǎng),把業(yè)務(wù)范圍都擴展到安卓設(shè)備端,比如主打社交的“微信”和“陌陌”,有主打購物的應(yīng)用“淘寶客戶端”和“京東手機客戶端”,有主打團購的“美團”等等,各行各業(yè)都跟隨者移動互聯(lián)網(wǎng)的浪潮,借著安卓設(shè)備普及之勢,紛紛擴展自己的產(chǎn)品領(lǐng)域[3]。 Android設(shè)備功能不斷豐富和移動互聯(lián)網(wǎng)的高速發(fā)展,將會給更多行業(yè)帶來新的發(fā)展機遇與發(fā)展方式。當(dāng)前處在道路建設(shè)的發(fā)展機遇期,將Android平臺與道路施工進度信息采集現(xiàn)結(jié)合起來,開發(fā)基于安卓平臺的道路施工進度信息采集軟件,將對道路施工進度和道路建設(shè)管理帶來新的發(fā)展模式。 1.2.2研究意義 道路施工的按期完成是道路建設(shè)規(guī)劃的基本要求,若某一道路工程施工項目無法如期完成施工進度,將導(dǎo)致后續(xù)道路基礎(chǔ)設(shè)施建設(shè)的正常進行,以至于影響整個道路建設(shè)的正常進行。甚至于影響該道路的投入使用,其結(jié)果將直接帶來經(jīng)濟上的損失。顯然,道路施工進度對整體道路建設(shè)起到了至關(guān)重要的作用。 目前絕大多數(shù)的道路施工進度的控制都采用預(yù)先制定計劃,并按照計劃進行施工,然而現(xiàn)實中經(jīng)常出現(xiàn)許多突發(fā)情況導(dǎo)致一些子工作面施工進度較快,一些道路的施工進度緩慢,最終的總體道路施工工期將被延長,以至于無法按時竣工。本文將所設(shè)計的系統(tǒng)就是能夠?qū)⑺杉母鱾€子工作面施工進度信息上傳到總控制室里,通過電腦的應(yīng)用程序接收和管理各個子工作面的施工進度信息。并且可以實現(xiàn)數(shù)據(jù)向下傳輸?shù)较挛粰C(下位機由三色LED顯示各個子工作面的施工進度)進行進度信息展示,方便總控制室人員對每個施工點的信息掌握與合理調(diào)配施工資源,最終達到優(yōu)化資源配置,縮短施工工期的目的。 1.2.3研究現(xiàn)狀 項目施工的進度控制方法主要包括規(guī)劃、控制和協(xié)調(diào)。為了保證項目施工進度的正常進行,一般采用動態(tài)控制的方式。當(dāng)實際施工進度與計劃進度不一致時,重新調(diào)整計劃,使得實際進度和計劃重新重合。施工進度的控制就是采用這樣的不斷循環(huán)的動態(tài)控制方法。 施工進度的信息采集也就是施工項目進度控制中的信息反饋。目前道路施工的實際進度主要是通過現(xiàn)場施工人員逐級向上級反饋直至將信息反饋到中央控制室,總控制室將各方面的信息進行收集的統(tǒng)計整理,再做出適當(dāng)?shù)挠媱澑氖蛊淠軌驖M足原來的進度計劃和工期目標(biāo)。 1.3本文的研究內(nèi)容 第一部分為緒論。主要描述了道路施工進度信息采集系統(tǒng)的研究目的與意義。同時,簡要介紹了安卓智能機作為采集設(shè)備的背景。并介紹了道路施工進度信息的采集技術(shù)與發(fā)展趨勢,最后介紹了本文的主要研究內(nèi)容。 第二部分主要介紹道路施工進度信息采集系統(tǒng)的整體設(shè)計框架,還要對TCP/IP協(xié)議進行介紹,它是本文中數(shù)據(jù)上傳所采用的協(xié)議。 第三部分將介紹安卓智能機信息采集的軟件設(shè)計。其中包括在Windows 平臺搭建安卓開發(fā)環(huán)境,安卓的界面開發(fā)和TCPSocket的編程方法。 第四部分詳細(xì)介紹利用Qt Creator 編寫上位機程序?qū)崿F(xiàn)對數(shù)據(jù)的處理。其中包括利用Qt 的網(wǎng)路通信模塊進行數(shù)據(jù)接收,利用SQLite 數(shù)據(jù)庫對數(shù)據(jù)儲存更新查詢,最后簡單介紹上位機與下位機串口通信的實現(xiàn)。 第五部分對本次設(shè)計的系統(tǒng)的每個子功能進行測試,并展示測試結(jié)果。最后進行系統(tǒng)的整體運行測試。 第二章 系統(tǒng)設(shè)計方案 2.1系統(tǒng)總體方案設(shè)計 本設(shè)計的要實現(xiàn)的功能是通過安卓智能機作為各個道路施工工作面的施工進度信息的采集錄入設(shè)備,并通過網(wǎng)絡(luò)將數(shù)據(jù)上傳到總控制室的上位機上,上位機負(fù)責(zé)監(jiān)聽和接收信息,并將信息儲存到數(shù)據(jù)庫中,同時將數(shù)據(jù)打包發(fā)送給下位機,由下位機負(fù)責(zé)將施工進度信息數(shù)據(jù)以LED顏色展示各個工作面的進度信息??刂剖胰藛T可以很方便的通過上位機的GUI界面訪問數(shù)據(jù)庫,實現(xiàn)對數(shù)據(jù)的查詢、修改、刪除等操作。本系統(tǒng)的軟件設(shè)計的總體設(shè)計框架如圖2-1,主要由安卓信息采集軟件和上位機軟件。上位機中包含數(shù)據(jù)信息接收功能、數(shù)據(jù)庫信息管理功能、串口通信功能。 圖2-1 道路施工進度信息采集系統(tǒng)軟件設(shè)計總體框架 下位機主要負(fù)責(zé)接收數(shù)據(jù)并將各個子工作面的施工進度信息以3色LED燈不同顏色來顯示,如施工進度0%用LED燈顯示紅色表示、施工進度33%用黃色表示、施工進度66%用綠色表示、施工完成用即100%用白色表示。 下位機采用STC89S52作為主控芯片,該芯片的串行口是一個能夠?qū)崿F(xiàn)全雙工通信的可編程接口。下位機以中斷的方式接收PC上應(yīng)用程序(即上位機)發(fā)送過來的數(shù)據(jù)存儲到存儲模塊中。單片機以一定的周期從存儲芯片中讀出數(shù)據(jù),并將數(shù)據(jù)傳送到LED節(jié)點,每個LED節(jié)點代表不同的工作面,LED的顏色用來顯示各個工作面的施工進度情況。本設(shè)計的下位機總體結(jié)構(gòu)如圖2-2所示,主要包括串口通信模塊、中央控制模塊、存儲模塊、顯示模塊(其中顯示模塊由各個LED節(jié)點組成)。 圖2-2下位機總體結(jié)構(gòu)圖 2.2 TCP/IP協(xié)議介紹 IP(Internet Protocol,Internet協(xié)議 )通常簡稱IP協(xié)議,IP協(xié)議使得連接到Internet 上的設(shè)備,包括不同類型的計算機或者不同操作系統(tǒng),只要都使用IP協(xié)議,雙方就可以互相發(fā)送和接收數(shù)據(jù)。IP協(xié)議定義于網(wǎng)絡(luò)層,他負(fù)責(zé)將消息從一個主機傳送到另一個主機,消息在傳送的過程中被分割成一個個數(shù)據(jù)包。IP協(xié)議根據(jù)每個包包頭所包含的IP地址進行尋址,所以同一個消息報文的IP包可能會經(jīng)過不同的路由器到達最終的目的主機。由于IP協(xié)議是面向無連接的,所以在傳送過程中可能出現(xiàn)的異常將導(dǎo)致數(shù)據(jù)的丟失或出錯,所以要保證數(shù)據(jù)傳輸?shù)目煽啃赃€要TCP協(xié)議的支持。 TCP(Transmission Control Protocol,傳輸控制協(xié)議)是一種面向連接和數(shù)據(jù)流的可靠通信協(xié)議[4]。它能夠保證在建立網(wǎng)絡(luò)虛擬鏈路鏈接后,兩端可以進行無差錯的通信服務(wù)。TCP協(xié)議位于OSI中的運輸層。每一條TCP連接只能有兩個端點,即點對點的連接。并且TCP提供全雙工的通信方式,TCP在連接的兩端都設(shè)有緩存,可以再合適的情況下把發(fā)送緩存的內(nèi)容發(fā)送出去,在上層應(yīng)用進程需要的時候?qū)邮站彺娴膬?nèi)容進行讀取接收。其中需要強調(diào)的是,TCP中“面向字節(jié)流”中“流”是指流入或流出進程中的數(shù)據(jù)是以字節(jié)序列的方式進行的,TCP把上層應(yīng)用程序交下來的數(shù)據(jù)看成無結(jié)構(gòu)的字節(jié)流,因此建立TCP連接的兩端需要定好協(xié)議,才有能力識別收到的數(shù)據(jù),提取出有意義的數(shù)據(jù)。 TCP連接的端點叫做套接字(socket),根據(jù)RFC793的定義,端口號拼接到IP地址即構(gòu)成套接字。所以有socket=(IP:port)每個TCP連接有兩個端點組成,所以有TCP連接={socket1,socket2}={(IP1,port1),(IP2,port2)}[4] 這里的socket與接下來應(yīng)用程序中的聯(lián)網(wǎng)協(xié)議接口API不同。 TCP的連接建立需要進行三次握手。首先,TCP客戶端向TCP服務(wù)端程序發(fā)送連接請求。處在監(jiān)聽狀態(tài)的服務(wù)端收到連接請求后,判斷是否同意建立連接,若接受連接,則向客戶端發(fā)送應(yīng)答確認(rèn)信號。TCP客戶端在接收到服務(wù)端的確認(rèn)后還要給服務(wù)端發(fā)出確認(rèn)信號。當(dāng)服務(wù)端接收到客戶端的確認(rèn)信號后,TCP連接便建立起來,接下來兩個端點便可以進行全雙工通信。圖2-3為用三次握手建立TCP連接。 圖2-3用三次握手建立TCP連接 在完成數(shù)據(jù)通信后需要斷開TCP連接,客戶主機和服務(wù)器主機都可以釋放連接。在釋放鏈接之前雙方都處在連接狀態(tài)??蛻粝蛑鳈C發(fā)送斷開連接請求,并停止發(fā)送數(shù)據(jù),服務(wù)器在接收到客戶端的斷開連接請求后向客服端發(fā)送應(yīng)答信號并通知上層應(yīng)用進程,此時只是釋放了客戶端到服務(wù)器的連接,所以服務(wù)器仍然可以向客戶端發(fā)送數(shù)據(jù)。當(dāng)服務(wù)器確認(rèn)了連接釋放請求后向客戶端發(fā)送釋放連接確認(rèn)信號,此時服務(wù)器不會向客戶端發(fā)送數(shù)據(jù),而是處于等待關(guān)閉狀態(tài)。當(dāng)客戶端收到服務(wù)器的確認(rèn)信號后還要向服務(wù)器發(fā)送確認(rèn)信號的確認(rèn),在服務(wù)器收到客戶端的確認(rèn)信號后,雙方都進入關(guān)閉狀態(tài)。所以TCP連接的釋放需要經(jīng)歷四次握手,如圖2-4所示。 圖2-4 四次握手釋放TCP連接 2.3本章小結(jié) 本章主要介紹了道路信息采集系統(tǒng)的整體系統(tǒng)架構(gòu),其中包括軟件設(shè)計總體結(jié)構(gòu)和下位機的總體結(jié)構(gòu)。接著,詳細(xì)介紹了TCP/IP協(xié)議,包括TCP的連接建立過程和連接釋放過程。 第三章 基于安卓平臺的道路施工進度信息采集設(shè)計 3.1操作系統(tǒng)的選型 隨著移動互聯(lián)網(wǎng)的快速發(fā)展,截自2013年據(jù)我國的手機擁有數(shù)量已經(jīng)超12億??梢娛謾C的普及度很高,所以選用手機作為道路施工進度信息錄入采集設(shè)備將是一個十分方便可行的。目前市場上的手機采用的主流系統(tǒng)主要有Android、iOS、Microsoft、blackberry等等,根據(jù)Strategy Analytics公布了2014年第二季度智能手機操作系統(tǒng)全球分布情況入圖3-1可見,Android操作系統(tǒng)的全球市場份兒已經(jīng)高達84.6%。而iOS系統(tǒng)市場占有率達13.4%,Microsoft和blackberry平臺總和也就只有6.2%。通過這些數(shù)據(jù)可以看出Android的發(fā)展勢頭很猛而且市場普及率高,非常適合作為軟件的開發(fā)平臺。 圖3-1 2014年第二季度智能手機市場份額 根據(jù)以上的數(shù)據(jù)顯示,安卓系統(tǒng)和蘋果iOS系統(tǒng)占據(jù)了市場90%以上的市場份額。然而由于iOS系統(tǒng)是閉源的。iOS的軟件只能運行在蘋果設(shè)備上,且目前蘋果產(chǎn)品價格相對較高。反觀安卓系統(tǒng)的開源性,可移植性強,而且安卓手機品類豐富,價格相對便宜。已經(jīng)有很多行業(yè)利用安卓設(shè)備的案例。所以在安卓臺上進行軟件開發(fā)具有很好的應(yīng)用前景和市場價值。 3.2安卓系統(tǒng)的介紹 Android系統(tǒng)的底層是建立在Linux系統(tǒng)之上的,該平臺有操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成[5]。圖3-2顯示了Android的系統(tǒng)體系。 圖3-2 Android系統(tǒng)的體系結(jié)構(gòu)(Android官方文檔) 安卓系統(tǒng)采用了軟件疊加的方式進行構(gòu)建,各個層實現(xiàn)各自的功能,層與層之間互相分開,當(dāng)某個層的結(jié)構(gòu)發(fā)生變化的時候,只要保證層間的接口不變,其他層就可以不作改變。這種分工使得層與層之間的耦合較低,當(dāng)?shù)讓咏Y(jié)構(gòu)改變時,應(yīng)用程序可以不作改變。 安卓的application frame提供了大量的API供開發(fā)者使用,使得開發(fā)變得更加簡單方便,同時應(yīng)用程序框架也為軟件復(fù)用提供了支持。 3.3安卓開發(fā)環(huán)境的搭建 安卓軟件開發(fā)的準(zhǔn)備工作就是要搭建出安卓的開發(fā)環(huán)境。Android的開發(fā)可以在不同的操作系統(tǒng)下進行,比如Linux或Windows等,本文中是基于Windows操作系統(tǒng)的開發(fā)。所以下面將介紹Windows下的開發(fā)環(huán)境搭建。 在Windows環(huán)境下的Android開發(fā)環(huán)境搭建主要包括3個部分Eclipse、JDK 與Android SDK。Eclipse是有Sun公司開發(fā)的跨平臺基于Java集成開發(fā)環(huán)境(IDE),同時它還附帶有JDK(Java Development Kit)。JDK是Java語言的軟件開發(fā)包工具,其中包含有許多Java開發(fā)需要的基礎(chǔ)類庫,和工具,是Java開發(fā)的重要組成部分[6]。SDK(software development kit)是有Google公司推出的軟件開發(fā)工具包,它采用的是Java語言,所以必須預(yù)先安裝好JDK。安裝好以上各個軟件,基本就完成了Android開發(fā)環(huán)境的搭建。為了能在開發(fā)過程中模擬開發(fā)軟件的運行效果還需要安裝AVD(Android Virtual Device,安卓虛擬設(shè)備),便可以在Eclipse上Android Virtual Device Manage的創(chuàng)建模擬器。Eclipse軟件開發(fā)界面入圖3-3所示,虛擬機運行圖3-4所示 圖3-3 Eclipse 軟件開發(fā)界面 圖3-4 安卓虛擬器運行界面 3.4道路施工進度信息采集設(shè)計與實現(xiàn) 3.4.1軟件需求 基于Android智能機的道路施工進度信息采集過程如圖3-4所示: 圖3-5 道路施工進度信息采集過程 由于本文設(shè)計的數(shù)據(jù)要上傳到總控制室上位機進行存儲,所以在手機本地存儲中不考慮數(shù)據(jù)的存儲。所以在道路施工進度信息的采集軟件設(shè)計的關(guān)鍵是道路施工進度信息的錄入操作與數(shù)據(jù)的上傳這兩個部分。 針對數(shù)據(jù)的錄入部分,將通過人機交互的界面布局,只要按照依次填寫道路施工信息的各方面內(nèi)容就完成信息錄入工作。而對于數(shù)據(jù)上傳部分,本設(shè)計考慮到TCP/IP協(xié)議提供可靠的傳輸協(xié)議,并且是全雙工的工作方式,而UDP是非面向連接不提供可靠傳輸。所以采用TCP進行數(shù)據(jù)上傳采用的協(xié)議。 3.4.2 軟件設(shè)計框架 軟件的設(shè)計框架是在分析軟件需求的情況之下進行的軟件設(shè)計思路分析,是進行軟件設(shè)計的基礎(chǔ)與必備工作。如圖3-6,從圖中可以看出軟件設(shè)計框架。軟件的操作過程大致為:進入軟件首先是歡迎界面接著自動跳轉(zhuǎn)到道路施工信息錄入界面,操作人員依次填寫施工路段編號,施工進度,并填寫主控制室上位機TCP服務(wù)端的的IP與端口號,接著就可以進行數(shù)據(jù)的上傳工作。 圖3-6 安卓軟件框架 3.4.3安卓的Activity技術(shù) Activity是安卓的重要組件之一,作為安卓設(shè)備中用來顯示信息和直接進行人機交互的界面。Activity界面可以放大縮小旋轉(zhuǎn)或者浮動與其他的界面,允許通過一個Activity切換到其他的Activity,頁面與頁面之間進行切換的時候,被切換的Activity被壓入棧中,可以在后面的操作中可以進行彈出堆棧恢復(fù)。堆棧遵循“先進后出”的原則,所以可以通過“返回”按鈕恢復(fù)之前的Activity。圖3-7是安卓中Activity的生命周期[5]。 圖3-7 Activity生命周期 創(chuàng)建一個Activity首先需要在安卓的配置文件AndroidManifest.xml中聲明這個Activity。一個Activity一生成就進入onCreat()函數(shù),之后進入onStart()和onResume()進入運行狀態(tài),當(dāng)Activity切換到后臺是運行onPause()函數(shù),當(dāng)Activity不可見后調(diào)用 onStop(),只有在關(guān)閉Activity才運行onDestory()結(jié)束該Acticity組件。在Acticity之間進行切換時,需要使用Intent對象為它們傳遞信息,一個Intent對象中封裝目的Activity的對象,通過startActivity(Intent)來啟動Activity。機理是通過AndroidManifest.xml配置文件中的IntentFilter過濾其他的Component,找到具有相同Component屬性的Activity,若找不到與之相匹配,系統(tǒng)將會拋出一個異常。 3.4.4功能設(shè)計實現(xiàn) 軟件的啟動界面可以有軟件的整體功能介紹、風(fēng)格特性等。優(yōu)秀的軟件特別是一些用于商業(yè)用途的軟件,軟件的啟動界面可以給人對軟件的大致功能等有大致的了解。本次的軟件主要功能是進行道路施工進度信息的采集,所以啟動界面的背景采用道路施工圖案,標(biāo)題是“道路施工進度信息采集”,啟動界面如圖3-8所示 圖3-8 軟件的啟動界面 界面xml布局部分代碼如下:- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 道路 施工進度 信息 采集 收集 系統(tǒng)軟件 設(shè)計
鏈接地址:http://ioszen.com/p-660832.html