• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Android平臺(tái)的移動(dòng)水質(zhì)監(jiān)測(cè)系統(tǒng)

      2018-08-21 09:24:12楊旭東王欣悅馬超治陳浩林杜曉晨
      計(jì)算機(jī)時(shí)代 2018年6期
      關(guān)鍵詞:通信治理水質(zhì)

      楊旭東 王欣悅 馬超治 陳浩林 杜曉晨

      摘 要: 目前水質(zhì)問題日益嚴(yán)重,對(duì)于水質(zhì)的治理迫在眉睫。本系統(tǒng)基于Android平臺(tái),通過在選點(diǎn)地點(diǎn)由檢測(cè)儀收集并處理數(shù)據(jù),實(shí)現(xiàn)了對(duì)選定地點(diǎn)水質(zhì)數(shù)據(jù)的實(shí)時(shí)分析與預(yù)測(cè)。在Android終端上查看,以幫助水質(zhì)管理。

      關(guān)鍵詞: 水質(zhì); 監(jiān)測(cè); 分析; 通信; 治理

      中圖分類號(hào):X84 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2018)06-38-04

      Mobile water quality monitoring system based on Android platform

      Yang Xudong, Wang Xinyue, Ma Caozhi, Chen Haolin, Du Xiaochen

      (Department of computer science and technology, School of information engineering, Zhejiang agriculture and Forestry University, Linan, Zhejiang 311300, China)

      Abstract: At present, the problem of water quality is becoming more and more serious, and the treatment of water quality is imminent. Based on the Android platform, the system realizes the real-time analysis and prediction of the water quality data in selected locations by collecting and processing data at the selected points. The water quality management can be aided by viewing an Android terminal.

      Key words: water quality; monitor; analysis; communication; treatment

      0 引言

      根據(jù)劉寶玲[1]研究表明,隨著化工企業(yè)迅速增加,對(duì)周邊水環(huán)境安全造成嚴(yán)重威脅。我國的水質(zhì)遠(yuǎn)遠(yuǎn)沒有到達(dá)國家水質(zhì)標(biāo)準(zhǔn),多處地區(qū)水體發(fā)臭,污染源難尋。而焦金玲[2]研究發(fā)現(xiàn),就連日常生活的飲用水水質(zhì)檢測(cè)也存在若干問題。因此我們必須對(duì)水質(zhì)污染進(jìn)行控制、治理,保護(hù)國民健康。

      因此一款良好的水質(zhì)檢測(cè)的app,可以在很大程度上幫助我們來做好水質(zhì)檢測(cè),提早預(yù)防,針對(duì)治理。

      1 需求分析

      水質(zhì)情況日益嚴(yán)重,引起了社會(huì)的的強(qiáng)烈關(guān)注,因此水質(zhì)管理系統(tǒng)在未來的應(yīng)用潛力也十分巨大。一個(gè)基于安卓平臺(tái)的水質(zhì)監(jiān)測(cè)系統(tǒng)可以方便、具體的顯示某地的水質(zhì)消息。

      本app可以及時(shí)地提示定點(diǎn)的水質(zhì)問題,做到實(shí)時(shí)監(jiān)控,實(shí)時(shí)預(yù)警。通過觀察水中的電導(dǎo)率,PH值,水中懸浮物等含量來判斷數(shù)據(jù)是否超標(biāo),以及是否處于危險(xiǎn)期。除此之外,數(shù)據(jù)可以遠(yuǎn)程自動(dòng)傳輸、自動(dòng)處理,可以解決現(xiàn)期的水質(zhì)監(jiān)測(cè)周期長,工作量大,不同地區(qū)數(shù)據(jù)傳送速度慢等問題。

      2 功能模塊

      ⑴ 用戶登錄

      用戶通過主頁drawerlayout側(cè)滑菜單進(jìn)入用戶登錄界面,登錄后默認(rèn)存儲(chǔ)登錄信息于本地,下次打開該app時(shí)自動(dòng)登錄。登錄后即可查詢水質(zhì)信息,否則沒有查詢權(quán)限。

      ⑵ 設(shè)置

      用戶通過主頁drawerlayout側(cè)滑菜單進(jìn)入設(shè)置。其中,可以退出用戶登錄,以及清除緩存。緩存包括用戶的登錄信息,以及查詢過的儲(chǔ)存在本地sqlite中的水質(zhì)數(shù)據(jù)。

      ⑶ 簽到

      若用戶已經(jīng)登錄過,則每次打開app自動(dòng)簽到。用戶通過主頁drawerlayout側(cè)滑菜單進(jìn)入簽到界面,可以對(duì)以往的簽到信息進(jìn)行查看。

      ⑷ 數(shù)據(jù)展示

      用戶在查詢界面輸入監(jiān)測(cè)點(diǎn)名稱,然后進(jìn)入數(shù)據(jù)展示界面。數(shù)據(jù)展示界面通過折現(xiàn)圖生動(dòng)的展示特定水質(zhì)信息的變化,可以調(diào)節(jié)滾動(dòng)選擇器和進(jìn)度條,多方位地觀察數(shù)據(jù)信息。提供《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》表,便于用戶對(duì)比。

      ⑸ 新聞動(dòng)態(tài)和通知公告

      用戶通過底部菜單進(jìn)入更多界面,點(diǎn)擊按鈕進(jìn)入新聞動(dòng)態(tài)和通知公告查看界面。用戶可以通過該界面瀏覽后臺(tái)發(fā)布的新聞動(dòng)態(tài)和通知公告。

      ⑹ 拍照投訴

      用戶通過底部菜單進(jìn)入更多界面,點(diǎn)擊按鈕進(jìn)入拍照投訴界面。用戶可以通過本地上傳照片或者現(xiàn)場(chǎng)拍照,以及輸入文字描述來反映某監(jiān)測(cè)點(diǎn)的水質(zhì)情況。

      3 軟件設(shè)計(jì)

      軟件體系結(jié)構(gòu)是一切的基礎(chǔ)所在,為了更好地開發(fā)以及提升軟件系統(tǒng)的可維護(hù)性與拓展性,合理的邏輯設(shè)計(jì)勢(shì)必不可缺的。在MVP模式[3]下,視圖-控制-模型三層結(jié)構(gòu)架交互,提升可復(fù)用性,擴(kuò)展性,更方便單元測(cè)試。功能上邏輯清晰,層層遞進(jìn),避免出錯(cuò)。App功能結(jié)構(gòu)圖如圖1所示。

      3.1 架構(gòu)設(shè)計(jì)

      本APP采用MVP模式架構(gòu)。MVP模式全稱:Model-View-Presenter,結(jié)構(gòu)分為三部分,實(shí)體層的Model,視圖層的View,以及Present。MVP模型如圖2所示。

      其中View層是程序的UI界面,是用戶的輸入數(shù)據(jù)以及向用戶展現(xiàn)數(shù)據(jù),接受用戶的請(qǐng)求。

      Presenter與Model層和View層交互,處理大多數(shù)業(yè)務(wù)邏輯,如處理從View層發(fā)來的用戶的請(qǐng)求,分發(fā)給底層的Model層,或者處理從Model層發(fā)來的數(shù)據(jù),轉(zhuǎn)化成view層可以使用的形式,分發(fā)給view層。

      而Model層就是從網(wǎng)絡(luò)、本地?cái)?shù)據(jù)庫或者文件中獲取、更新、保存數(shù)據(jù),如從sqlite中獲取滿足查詢需求的水質(zhì)數(shù)據(jù)記錄。

      還有重要的javabean——實(shí)體類,用于保存實(shí)例數(shù)據(jù),把業(yè)務(wù)邏輯抽象成接口。MVP模式把數(shù)據(jù)存儲(chǔ)、業(yè)務(wù)邏輯和UI界面完全分割開,使代碼更加簡潔、方便單元測(cè)試、避免Activity的內(nèi)存泄漏。

      3.2 數(shù)據(jù)獲取以及網(wǎng)絡(luò)傳輸?shù)?/p>

      本項(xiàng)目中從水源監(jiān)測(cè)點(diǎn)獲取的數(shù)據(jù)直接傳輸?shù)椒?wù)器端,并存入Litepal數(shù)據(jù)庫中。Android手機(jī)客戶端去請(qǐng)求PC服務(wù)端,將PC上MySQL中的數(shù)據(jù)在客戶端后臺(tái)任務(wù)中進(jìn)行同步更新。

      具體過程是通過OkHttp協(xié)議訪問網(wǎng)絡(luò)數(shù)據(jù),向所需網(wǎng)址發(fā)送http請(qǐng)求,獲取服務(wù)器返回的數(shù)據(jù),解析json格式獲取所需要的具體數(shù)據(jù)。為了使數(shù)據(jù)可以更快的調(diào)用,將數(shù)據(jù)解析放在后臺(tái)AsyncTask中,執(zhí)行完成后,通過return返回,后臺(tái)任務(wù)執(zhí)行完畢再通過onPostExecute函數(shù)返回,前臺(tái)服務(wù)Service截取返回消息作出相應(yīng)的UI操作。

      簡易過程如圖3所示。

      3.3 數(shù)據(jù)的存儲(chǔ)及更新

      3.3.1 數(shù)據(jù)獲取

      污水中污染物質(zhì)種類繁多,影響十分嚴(yán)重,所以本系統(tǒng)采用主要采用STM32 單片機(jī)作為控制中樞,利用水質(zhì)傳感器采集水體中的溶解氧濃度,酸堿度,電導(dǎo)率,水濁度等水質(zhì)參數(shù),并通過GPRS 傳輸?shù)皆贫?,并存?chǔ)在數(shù)據(jù)庫中。系統(tǒng)直接可在網(wǎng)站直接查閱水體信息。

      因?yàn)橛辛艘陨系募夹g(shù)支持,所以可以較好的反應(yīng)水質(zhì)污染的綜合度數(shù),形成水質(zhì)監(jiān)測(cè)系統(tǒng),實(shí)時(shí)反應(yīng)水質(zhì)情況,獲得分析數(shù)據(jù),及時(shí)的發(fā)現(xiàn)水質(zhì)是否被污染,做到每日定時(shí)發(fā)布通知。

      3.3.2 數(shù)據(jù)庫設(shè)計(jì)

      在郭霖[4]與靳巖[5]的書中都介紹了LitePal。LitePal是一款開源的Android數(shù)據(jù)庫框架,它采用了對(duì)象映射(ORM)模式,并將平時(shí)開發(fā)最常用到的一些數(shù)據(jù)庫進(jìn)行封裝,使得不用編寫SQL語句就可以完成各種建表和增刪查改的操作。通過解析json獲得的數(shù)據(jù),需要存儲(chǔ)到數(shù)據(jù)庫當(dāng)中,數(shù)據(jù)設(shè)計(jì)用到的主要數(shù)據(jù)有:測(cè)試地區(qū)、測(cè)試日期、Ph值、導(dǎo)電性、水溫、氨氮、溶解含氧量、濁度、磷、分鐘、小時(shí)。

      數(shù)據(jù)庫基本表見表1。

      3.3.3 后臺(tái)服務(wù)自動(dòng)更新水質(zhì)數(shù)據(jù)

      服務(wù)(Service)是Android中實(shí)現(xiàn)程序后臺(tái)運(yùn)行的解決方案,適合執(zhí)行不需要和用戶進(jìn)行交互而且還要求長期運(yùn)行的任務(wù),如下載、網(wǎng)絡(luò)獲取。在用戶進(jìn)行其他活動(dòng)的時(shí)候,這個(gè)服務(wù)將一直運(yùn)行在基于Android平臺(tái)的即時(shí)通訊系統(tǒng)研究與實(shí)現(xiàn)后臺(tái),直到用戶停止該服務(wù)或服務(wù)運(yùn)行結(jié)束。

      本項(xiàng)目中,為了實(shí)時(shí)更新達(dá)到預(yù)警預(yù)報(bào),平均每隔十分鐘存儲(chǔ)一次數(shù)據(jù),每一次啟動(dòng)app都會(huì)刷新數(shù)據(jù)庫中數(shù)據(jù),確保數(shù)據(jù)顯示無誤。

      主要利用服務(wù)可脫離活動(dòng)(Activity)運(yùn)行于后臺(tái)的特點(diǎn),實(shí)現(xiàn)實(shí)時(shí)從服務(wù)器端數(shù)據(jù)庫獲取、更新水質(zhì)信息。

      3.4 UI設(shè)計(jì)

      3.4.1 基于百度地圖的定位服務(wù)

      為方便用戶更直觀的查詢不同地點(diǎn)的水質(zhì)情況,采用基于位置的服務(wù)(Location Based Service)。通過使用百度定位SDK,可以輕松為應(yīng)用程序?qū)崿F(xiàn)智能、精準(zhǔn)、高效的定位功能。百度地圖Android定位SDK提供GPS、基站、WiFi等多種定位方式,適用于室內(nèi)、室外多種定位場(chǎng)景,具有出色的定位性能:定位精度高、覆蓋率廣、網(wǎng)絡(luò)定位請(qǐng)求流量小、定位速度快。

      通過使用百度地圖,地圖中心定位移動(dòng)到以浙江省杭州市臨安區(qū)(該點(diǎn)為東湖監(jiān)測(cè)點(diǎn)的位置:經(jīng)度:119;緯度:30)東湖邊為中心的區(qū)域,在地圖上顯示位于東湖監(jiān)測(cè)點(diǎn)等多個(gè)監(jiān)測(cè)地點(diǎn)的定位標(biāo)記Mark,并設(shè)置點(diǎn)擊響應(yīng)觸發(fā)。用戶只需點(diǎn)擊標(biāo)記Mark便可跳轉(zhuǎn)到響應(yīng)監(jiān)測(cè)點(diǎn)的數(shù)據(jù)查看頁面,相比傳統(tǒng)的SearchView入口輸入搜索信息進(jìn)行搜索,這種方式理解和操作更加對(duì)用戶友好。當(dāng)然也提供了SearchView的方法給不習(xí)慣使用圖形操作的用戶,用戶可以自行選擇查找方式方式。

      3.4.2 數(shù)據(jù)展示

      為了容用戶更直觀的觀察、分析水質(zhì)監(jiān)測(cè)的數(shù)據(jù),引入開源項(xiàng)目MPAndroidChart[6]可視化圖表。

      本app的數(shù)據(jù)展示界面中,默認(rèn)展示最近日期中24小時(shí)的水質(zhì)數(shù)據(jù)信息,其中包含7個(gè)字段:ph值、導(dǎo)電性、水溫、氨氮、溶解氧含量、濁度。

      這7個(gè)字段的數(shù)據(jù)展示頁面利用buttom+viewpage+fragment提供左右滑動(dòng)和點(diǎn)擊按鈕快速切換。

      每一個(gè)字段,如ph,在一天中的變化利用MPAndroidChart折線圖來展示。點(diǎn)擊折線圖上的數(shù)據(jù)點(diǎn)則在下方顯示改點(diǎn)準(zhǔn)確的監(jiān)測(cè)時(shí)間和數(shù)據(jù)。

      為了讓用戶能更全面的觀察想要了解的數(shù)據(jù),在折線圖的下方提供進(jìn)度條,拖動(dòng)進(jìn)度條可以選擇折線圖顯示橫坐標(biāo)的范圍。橫坐標(biāo)顯示范圍數(shù)字越大,數(shù)據(jù)點(diǎn)就越密集;否則,數(shù)據(jù)點(diǎn)越稀疏。當(dāng)橫坐標(biāo)顯示范圍小于24時(shí),折線圖畫面可以通過手指左右滑動(dòng),調(diào)整視窗。

      由于viewpage是折線圖LineChart的父視圖,又都包含對(duì)滑動(dòng)監(jiān)聽,所以產(chǎn)生了滑動(dòng)沖突,子視圖和父視圖都想對(duì)滑動(dòng)動(dòng)作進(jìn)行響應(yīng),導(dǎo)致兩者滑動(dòng)效果非常卡頓。嵌套view左右滑動(dòng)沖突情況如圖4所示。

      當(dāng)觸摸事件TouchEvent發(fā)生時(shí),首先Activity將TouchEvent傳遞給最頂層的View,TouchEvent最先到達(dá)最頂層view的dispatchTouchEvent,然后由dispatchTouchEvent方法進(jìn)行分發(fā),如果dispatchTouchEvent返回true 消費(fèi)事件,事件終結(jié)。如果dispatchTouchEvent返回false,則回傳給父View的onTouchEvent事件處理。所以重寫LineChart中的dispatchTouchEvent函數(shù),消費(fèi)事件,實(shí)現(xiàn)手指位于LineChart中時(shí)直接消費(fèi)滑動(dòng)事件,使LineChart最右滑動(dòng)而上層的viewpager不滑動(dòng)。而不在LineChart的范圍內(nèi),viewpager的子視圖中就消費(fèi)viewpager的左右滑動(dòng)事件。

      僅僅是默認(rèn)查詢的最近的日期的24小時(shí)的水質(zhì)數(shù)據(jù),顯然是遠(yuǎn)遠(yuǎn)不夠的。以往傳統(tǒng)的app中,選擇很多項(xiàng)目時(shí)多使用多級(jí)RecyecleView結(jié)合界面切換或者Dialog來實(shí)現(xiàn)。為了簡化操作和節(jié)約app的資源,本app在圖表下方設(shè)置一個(gè)滾動(dòng)選擇器,用戶可選擇監(jiān)測(cè)數(shù)據(jù)的日期,一旦滾動(dòng)選擇器停止?jié)L動(dòng)則在折線圖中更新為當(dāng)天的數(shù)據(jù)。

      除此之外,該界面還顯示《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》,方便用戶進(jìn)行數(shù)據(jù)的分類和對(duì)比。

      4 結(jié)束語

      實(shí)現(xiàn)水質(zhì)數(shù)據(jù)化管理是目前保障水質(zhì)安全的必然趨勢(shì),目前為止國家的水質(zhì)問題還在逐步加深,這款水質(zhì)監(jiān)測(cè)管理軟件,可以實(shí)時(shí)分析與預(yù)測(cè),可以有效的進(jìn)行水質(zhì)監(jiān)測(cè)、治理,達(dá)到數(shù)據(jù)查詢、分析、預(yù)警、統(tǒng)計(jì)等功能,可以為國家水資源檢測(cè)提供新的手段和平臺(tái)。

      本系統(tǒng)存在一定的局限性與不足有待改進(jìn)。一是面向?qū)ο筮^于單一,本app更適用于水質(zhì)管理部門的使用,對(duì)于廣大群眾而言不夠靈活;二是還應(yīng)盡可能多的使用多種研究方法,確保分析結(jié)果可靠性。

      參考文獻(xiàn)(References):

      [1] 劉寶玲.水污染環(huán)境風(fēng)險(xiǎn)分區(qū)綜合評(píng)價(jià)與信息化管理系統(tǒng)研

      究[D].哈爾濱工業(yè)大學(xué),2015.

      [2] 焦金玲.飲用水水質(zhì)檢測(cè)若干問題分析[J].化工管理,2015.4

      [3] 張正龍,陳永正.淺談MVP設(shè)計(jì)模式[J].科學(xué)咨詢:科技·管理,

      2014

      [4] 郭霖.第一行代碼Android[M].人民郵電出版社,2016.

      [5] 靳巖,姚尚朗.Android開發(fā)與入門[M].人民郵電出版社,

      2009.

      [6] AnalyzeSystem.MyAndroidChart源碼[EB/OL]. http://

      blog.csdn.net/analyzesystem/article/details/51323154,2016.8.12.

      猜你喜歡
      通信治理水質(zhì)
      水質(zhì)抽檢豈容造假
      環(huán)境(2023年5期)2023-06-30 01:20:01
      一月冬棚養(yǎng)蝦常見水質(zhì)渾濁,要如何解決?這9大原因及處理方法你要知曉
      簡述計(jì)算機(jī)通信網(wǎng)絡(luò)安全與防護(hù)策略
      Android環(huán)境下主UI線程與子線程通信機(jī)制研究
      無線自組網(wǎng)在野戰(zhàn)防空通信系統(tǒng)中的應(yīng)用
      諧波分析與治理措施探討
      治理背景下我國少數(shù)民族傳統(tǒng)體育運(yùn)動(dòng)會(huì)的發(fā)展
      淺析網(wǎng)絡(luò)輿情治理
      對(duì)數(shù)字微波通信技術(shù)的研究
      數(shù)據(jù)+輿情:南方報(bào)業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
      中國記者(2016年6期)2016-08-26 12:36:20
      义马市| 赤水市| 中西区| 阿拉善右旗| 密云县| 吴桥县| 壶关县| 双城市| 凤庆县| 朝阳县| 祥云县| 政和县| 宜兰县| 台前县| 本溪市| 信宜市| 太白县| 宁夏| 图片| 澄江县| 阿图什市| 隆林| 柘荣县| 沐川县| 沂源县| 田东县| 黔东| 苍溪县| 兴山县| 新疆| 宝丰县| 桐乡市| 红桥区| 石泉县| 尼勒克县| 信阳市| 山阴县| 栾城县| 菏泽市| 青岛市| 兴化市|