顏秋林 ,呂 驍 ,劉連席 ,陳 晨
(1.江蘇農林職業技術學院,江蘇 鎮江 212400;2.江蘇大學句容農學院,江蘇 鎮江 212400)
草莓以其易栽培、產量高、效益好等優勢吸引農民大規模種植[1]。目前草莓種植以設施栽培為主,但設施栽培方式易導致草莓規模化感染根腐病。為減少植物病害給農民造成的經濟損失,科技人員努力尋求方法盡早診斷進而達到早治療的目的,其中,阻抗譜技術引起了研究人員的關注。阻抗譜技術在植物組織與器官方面的研究已有報道,但該技術使用會有大量實驗數據需要記錄,因此如何方便高效采集實驗數據也是重要步驟。得益于移動互聯網技術快速發展以及終端設備性能大幅提升,基于Android 平臺的應用程序開發層出不窮。目前,結合農業應用場景,基于Android 平臺開發的應用有東北地區秸稈焚燒點監測系統[2]、農藥科普App[3]、葉面積測量系統[4]、智慧或智能農業管理系統[5-6]和便攜式重金屬濃度檢測系統[7]等。生活智能化場景方面已有智能家居交互系統[8]和共享車位App 系統[9]應用等的報道。Android平臺軟件開發方法研究[10]或者開發技術分析[11]也有相關文獻論述。受到Android 平臺在移動應用上具有便攜方便等優勢的啟發,結合草莓電特性參數采集場景的限制,本研究基于Android Studio 環境設計并開發了基于Android的草莓電特性參數采集系統。
采集系統是一款基于Android 系統的App 程序。該程序使用者基本是從事植物或生物組織或器官電特性研究,專業背景非計算機相關專業的人員。考慮到程序使用者專業實際情況,應用程序界面設計要簡潔,具有記錄實驗所產生的電特性參數功能即可,此外,程序需簡單易用,因此App 程序采取圖形界面形式并帶有各種輸入參數提示。草莓電特性參數采集應用界面主要由系統登錄、健康草莓和患病草莓參數信息輸入界面三部分組成。界面具體設計以及功能實現如下。
雙擊App 圖標啟動應用直接進入App 系統登錄界面。如圖1 所示,登錄界面布局從上至下主要含有文本視圖、圖像視圖、用戶名和密碼輸入框、登錄按鈕、記住密碼復選框以及用戶名和密碼清除與明文顯示按鈕。

圖1 App系統登錄界面
草莓電特性參數采集系統登錄界面布局文件為activity_login.xml,鑒于正文篇幅,此處只簡述界面核心功能。當用戶名輸入框有修改時,輸入框右側會出現用戶名清除小圖片,點擊它即可把用戶名清除。當密碼輸入框有輸入時,密碼輸入框右側也會出現密碼清除小圖片,它的作用跟用戶名一樣,最右側是密碼明文和密文兩種顯示的切換圖片。登錄按鈕的作用是當用戶名跟密碼輸入正確時點擊它直接進入到采集系統。右下角是記住密碼復選框,當勾選時即可把用戶名和密碼同時保存在系統中,再次登錄時就不必重復輸入,反之,則此次登錄的賬戶信息不會保存在系統里。
健康草莓電特性參數采集界面需要采集的參數是實驗實施時間、施加頻率大小、電壓幅值大小、電極之間距離、實驗測量完成后所得到的電阻值大小、電抗數值、相位值以及電導率。由于界面設計針對的是移動端,設備屏幕相對較小,因此所設計界面如圖2 所示。界面上方是參數類型,中間大部分區域顯示實驗中需要采集的電特性參數,八個電特性參數大致分為兩類,一類是實驗前就需要記錄的,分別是時間、頻率、電壓和極間距;另一類是實驗結束需記錄的結果,分別是電阻值、電抗值、相位值以及電導率。每個參數的實現形式基本相同,都為兩個文本視圖和一個可編輯文本視圖,文本視圖用來顯示參數名稱以及參數單位,可編輯文本視圖主要用來記錄實驗數據。界面下方是一行查詢、修改、刪除和保存按鈕,主要是用來對當前界面參數進行操作的,四個按鈕的實現方式一樣,都采用Button控件。

圖2 健康草莓電特性參數界面
健康草莓電特性參數采集界面的布局文件為Fragment_healthy.xml,該文件采用碎片化布局,鑒于正文篇幅此處只簡述界面使用方法。每項采集參數輸入框都有輸入提示,根據健康草莓電特性參數實驗情況,結合參數提示進行輸入即可,當所有參數都輸入完畢,點擊保存按鈕即可把此次實驗所測數據保存至healthy 文件中,成功后系統會把界面輸入參數清除以便下次操作。此外,點擊保存按鈕時系統會自動檢查,如果某項參數未進行輸入,界面會彈框提醒用戶輸入空缺參數,而之前其他輸入框的數據并不會被清除。簡言之,保存成功則清除所有數據,不成功則不清除。當前系統版本中,查詢、修改和刪除按鈕功能并未實現,點擊只有相應的界面彈框提示。
患病草莓電特性參數采集系統中,實驗需要采集的電特性數據跟健康草莓相同。患病草莓電特性參數采集界面如圖3 所示,數據采集界面除了文本視圖標簽的字體顏色和數據最終保存的文件名不同外,其他信息保持一致。患病草莓電特性參數采集界面布局文件為Fragment_unhealthy.xml,也采用碎片化布局方式,患病草莓電特性參數采集代碼實現原理跟健康草莓一樣,此處不再贅述。

圖3 患病草莓電特性參數界面
患病草莓電特性參數采集界面中,四個按鈕的功能跟健康草莓一樣,點擊前三個按鈕只會在界面彈框提示,沒有實際的數據操作,而保存按鈕功能跟健康草莓的區別在于數據最后保存至unhealthy文件中。
App 程序啟動后直接來到登錄界面,登錄界面的核心功能在于用戶名以及密碼的校驗,為降低開發難度,系統預先設置了系統用戶名和密碼,從而達到簡化系統中用戶校驗工作的目的。登錄界面中的記住密碼復選框涉及用戶名和密碼的數據存儲,賬戶信息數據具有鍵值對屬性,對于輕量級鍵值對屬性的數據類型,采用SharedPreferences 偏好設置方式進行存儲,用戶名及密碼數據存儲路徑為/data/data/項目包名/shared_prefs/namePass.xml 文件,該文件屬性設置為僅當前程序可使用,在Android Studio 軟件中能夠打開文件查看偏好設置結果。
草莓電特性參數采集系統登錄界面中,輸入正確的用戶名和密碼后,點擊登錄按鈕,程序會啟動新的Activity(活動),即ConnectActivity,活動界面默認為健康草莓參數采集界面。移動端應用屏幕上既可通過屏幕滑動切換至患病草莓參數采集界面,也可通過屏幕下方的正常與患病按鈕實現切換。活動布局文件activity_connect.xml 主要含有兩個控件來實現上述功能,分別為ViewPager 和RadioGroup控件。ViewPager 是簡單的視圖滑動切換工具,結合特定的Adapter,能夠將View 與ViewPager 進行綁定,實現App 引導頁或者圖片輪播功能。應用程序中ViewPager 的適配器文件為VpAdapter.Java,里面定義了類型的構造方法和聲明列表的元素類型為Fragment。ConnectActivity.Java 中還需為RadioGroup 控件添加按鈕點擊偵聽事件,進而通過點擊按鈕實現草莓參數采集界面間的滑動。
健康草莓與患病草莓電特性參數采集與實現原理一致,以健康草莓為例。健康草莓參數采集界面采用Fragment,活動控制文件名為HealthyFragment.Java,對應的布局文件名為Fragment_healthy.xml。而患病草莓控制文件名和對應的布局文件名為UnhealthyFragment.Java 和Fragment_unhealthy.xml。在控制文件中對視圖中的各項參數輸入進行基本數據格式等的校驗,當所有輸入都符合條件時點擊保存才能成功。保存的路徑都是/data/data/項目包名/files 目錄,健康草莓電特性參數保存至該目錄下的healthy 文件,而患病草莓保存至unhealthy 文件中。
啟動應用程序后至登錄界面,按提示輸入系統預置用戶名及密碼,如果勾選記住密碼會把當前賬戶信息記錄在偏好設置文件中,點擊登錄按鈕進入默認草莓電特性參數采集界面,在界面中按提示鍵入實驗結果數據,當所有參數輸入完畢,點擊保存按鈕即可把當前數據保存至文件中同時清除界面數據。當需要進行屏幕切換時既可通過屏幕左右滑動也可通過屏幕下方按鈕實現。上述程序功能測試過程中所產生的namePass.xml、healthy和unhealthy文件如圖4所示。

圖4 運行結果
針對阻抗譜技術在草莓電特性實驗中大量參數記錄的困難以及實驗場景因素限制的問題,課題組開發了一款基于Android 的移動應用程序。主要涉及系統登錄和兩類參數采集界面,界面能對實驗參數的輸入做提示和基本數據格式的校驗,實驗過程中產生的數據能夠按照健康與患病兩類單獨保存至文件中,后期分析的數據來源直接讀取相應文件即可。此外,應用程序界面的簡潔性和易操作性對非計算機專業人員操作很友善,可以輔助他們進行數據采集進而達到提升工作效率的目的。