鄧麗萍



摘 要: 智能手機數據采集相比傳統數據采集在時效性等方面具有優勢。基于“基層農業統計數據采集與處理系統”的需求,在Android平臺上,依據分層開發思想,詳細設計了數據庫適配器、數據層、結構層以及activity等,最終完成了軟件系統的開發,為農業技術人員提供了易用、可靠的基層農業統計數據采集和處理工具。
關鍵詞: Android; 應用開發; 農業信息化; 界面設計
中圖分類號:TP3 文獻標志碼:A 文章編號:1006-8228(2018)02-10-04
Abstract: The data acquisition with smart phone is superior to traditional data acquisition in the aspects of timeliness and so on. According to the requirement of "the acquisition and processing system of the grass-roots level agricultural statistical data", on the Android platform, with the idea of layered development, the database adapter, the data layer, structure layer and the activity etc. are designed in detail, to finally complete the development of the software system, provide agriculture technical personnel with an agricultural statistical data acquisition and processing tool of easy to use and reliable.
Key words: Android; application development; agricultural information; interface design
0 引言
農業信息化的意義顯而易見[1],但是由于多方面的原因,農業信息化進程遠遠落后于服務業、工商業等各領域。這對農民以及農業的發展是十分不利的。
基層農業統計數據采集與處理系統是在Android操作系統的基礎上開發而成。該系統通過Android智能手機獲取與農業生產有關的信息,如地塊檔案、農戶信息、地塊制度、農村等各類信息。通過該系統,可以讓基層農業信息化工作人員方便地建立和管理數據庫。農技人員可基于農業生產環境,實時、快速地獲取與農業生產有關的數據。
1 開發環境及技術介紹
Android系統在中國的普及范圍大且速度快,搭載Android系統的移動設備價格合適,在農業技術推廣體系中使用較多,且能滿足系統設計需求,是智能手機開發的首選平臺。
Android是一種以Linux為基礎的開放源代碼操作系統[2],主要使用于便攜設備。Android操作系統可細分為如下幾部分:應用軟件、操作系統、用戶界面、中件間。Android平臺可依次分為如下四層:Linux內核層;Android運行層;應用框架層;應用程序層。基于Android的軟件的開發通常處于Android架構中的頂層,即應用程序層。
本系統是針對Android系統研發的一款移動應用,需要的開發工具分別為:Eclipse、Android SDK。
2 系統總體設計
2.1 系統體系結構
結合本系統的基本功能以及Android架構[3]特點,開發分如下四個層次。
XML:界面設計,具體設計時主要運用/res/layout/中的.xml文件,運用該文件布局控件、控制屬性、自定義控件樣式。在設置版本信息方面時,主要運用
/AndroidManifest.xml,即形成Android API信息。逐個聲明Activity、申請客戶使用資源,另外程序中用到的中文單詞則主要結合strings.xml聲明。利用arrays.xml逐個設置列表各項元素。
View:本層屬于人機交互界面,包含本系統中所需要運用到的所有Activity。用戶可通過Activity進行相關操作,比如輸入數據,確定數據項,最后點擊,即可獲得相關信息。
Data與Adapter:一般認為該層為數據庫及其適配器層。主要用于建立農業生產信息數據庫,同時該層包括更新及相關方法,Adapter中含所有適配器Adapter,顯示數據庫Activity的信息。在ListView控件記錄時,需要運用到各顯示數據表。
Table:屬于數據表層。利用Entity存儲數據表各字段名及類型。一般情況下Data層不會因為本層發生變化而變化,因此適用于分層開發。
如圖1為本系統的體系結構圖。
由此分析軟件體系結構[4],在具體設計時,可將系統分為五個包:XML;View;Adapter;Data;Table。這五個包是有自上而下的依賴關系,分別對應view包、data包、data包、adapter包和table包。如圖2為該軟件系統包圖。
2.2 系統流程圖
農業技術人員登錄Android客戶端執行數據采集,首先要在客戶端應用匯總獲取數據,并上傳到Web服務器中,經過Web服務器對數據進行處理后對數據進行存儲,并向客戶端發出反饋信息,以標識采集任務完成。系統的流程圖如圖3所示。
3 詳細設計endprint
3.1 各功能模塊描述
基于Android的農業數據采集與處理系統主要功能分為兩大類:工作類和交流類。工作類數據采集包括:提交推廣日志、上報災情、采集價格信息等;交流類數據采集包括農技問答、經驗交流和問題反饋等。
3.1.1 用戶模塊
系統的用戶類型[5]分為未授權用戶(注冊)、普通用戶、管理員以及超級管理員。
未授權用戶:需管理員授權后才能使用系統。
普通用戶:能上傳數據,查看歷年數據。
管理員:能修改除超級管理員以外的所有用戶的權限,以及刪除用戶操作,能查看數據,給所有用戶發送手機消息提醒。
超級管理員:與管理員相比,多了能對管理員進行設置權限的操作。
⑴ 創建用戶
在客戶端任何人都能新增角色,但權限為未授權用戶,需管理員來修改權限。
⑵ 用戶登錄
登錄輸入錯誤時進行用戶名或密碼錯誤的相應提示,權限不足時提示沒有權限進行此操作的提示。
⑶ 用戶管理
管理員能對未授權用戶和普通用戶,更改他們的權限或者刪除用戶,而超級管理員能對管理員、普通用戶和未授權用戶,修改他們的權限或者刪除用戶。
3.1.2 數據模塊
普通用戶選取好需要錄入數據的區域和農作物種類(保存在服務器上,如果沒有需添加)后,選擇相應的季節(春、夏、秋、冬)和行為(播種、收獲),并填寫相應的信息,提交至服務器,此時如果數據和去年同期數據比較波動幅度超過10%則需填寫備注信息。
3.1.3 數據查看模塊
用戶或者管理員在選取好需要查看的區域和農作物種類后,能在客戶端上獲取到對應信息的歷年收獲數據。
3.1.4 個人中心模塊
用戶或者管理員,在登錄后的主頁面中進入個人中心后,能按自己的喜好和需求來修改密碼或者手機號。
3.1.5 用戶提醒模塊
管理員在網頁上登錄成功后能對所有用戶發送自定義的提醒內容,也可以對特定用戶發送自定義提醒內容,該提醒會出現在安卓手機的通知欄上。
3.2 系統功能圖
⑴ 系統功能總圖(如圖4)
3.3 數據結構設計
結合用例分析和需求分析,構成系統的數據[6]主要包括如下幾部分:
⑴ 用戶表users(具體包含用戶名、ID以及姓名、密碼手機號碼,權限);
⑵ 地區表zone(地區ID、地區名稱);
⑶ 村莊表village(村落ID,村落名稱,地區ID);
⑷ 種類表kind(種類ID,種類名稱);
⑸ 農作物名稱表crop(農作物ID,農作物名稱,種類ID);
⑹ 用戶個性化表marks(ID,用戶ID,村落ID,農作物ID);
⑺ 農作物播種表sow(播種ID,年份,季度,村落ID,農作物ID,播種面積,備注,用戶ID,上傳日期);
⑻ 農作物收獲表gains(收獲ID,年份,季度,村落ID,農作物ID,面積,產量,畝產量,備注,用戶ID,上傳日期)。
4 系統實現舉例
基于Android的基層農業統計數據采集與處理系統,通過安裝Android移動設備中的應用程序與用戶進行直接交互,Android端的應用程序采取本地化開發模式,在移動終端獲取數據,結合移動端的界面設計,通過編碼來實現滿足用戶采集需求的相關功能,將數據傳送至服務器,在服務器端網頁和Android端應用程序界面都可瀏覽相關采集信息,并能夠執行回復、評論等信息交互操作。
4.1 登錄模塊
用戶打開軟件后立即顯示登錄頁面,需要輸入用戶名、密碼后點擊登錄,成功登錄后進入操作頁面。輸入錯誤出現提示并需重新輸入。登錄界面如圖7所示。
登錄模塊通過Android端Login Activiy類中的 click Login()方法(圖),將登錄信息傳送至Login Utils類中的線程run()方法去執行登錄驗證請求,Server 端Login Action類中的client Login()方法對信息進行驗證。代碼片段如圖8所示。
4.2 消息提醒模塊
管理員能夠對所有用戶或者特殊用戶發送提醒[7],并且會在智能手機的通知欄顯示出來,如圖9。
5 結束語
本文基于采集統計農業數據以及處理系統需求,結合Android、移動通信技術,以及農業信息化等實際需求,綜合利用無線網絡和智能移動設備的優勢,為農業技術人員提供現代化、智能化、便攜式、易用、可靠的基層農業統計數據采集和處理工具。
我們在研究移動開發及農業信息化方面取得了一定成績[8],基于Android智能手機初步構建了基層農業統計采集與處理系統。但是由于各方面原因,系統依然存在諸多不足之處。比如數據采集內容方面,需進一步豐富基層農業數據采集的內容和形式;系統架構設計方面,還需加強服務器端的承載能力;在數據傳輸控制方面,要深入研究傳輸中斷情況的數據傳輸策略等。
參考文獻(References):
[1] 尚明華,秦磊磊,王風云,劉淑云,張曉艷.基于 Android智能手機的小麥生產風險信息采集系統[J].農業工程學報,2011.27(5):178-180
[2] 張磊.Android平臺的應用開發研究[J].計算機光盤軟件與應用,2011.9(17):211-213
[3] 李搖楊,馮搖剛,李搖亮,羅擁華.基于 Android 的多媒體應用開發與研究[J].計算機與現代化,2011.1(4):149-152
[4] 王一妹.基于Android系統的氣象災情手機直報平臺的設計開發[J].安徽農業科學,2013.41(20):8773-8776
[5] 胡紀通.建設精準型農業基礎大數據的保障性工作機制[J].信息技術與信息化,2017.9:20-21
[6] 廖建尚,盧斯.基于Android系統智能網關型農業物聯網設計和實現[J].中國農業科技導報,2017.19(6):61-71
[7] 劉傳茂,王熙.農機數據采集傳輸系統的設計與實現——基于CAN總線[J].農機化研究,2016.38(12):207-211
[8] 孫小華,王福順,楊會英,趙艷,王風國.基于智能手機的農業信息服務系統研究[J].科技和產業,2013.13(6):33-36endprint