羅會容,熊詩琪
(江漢大學 物理與信息工程學院,湖北 武漢 430056)
隨著移動互聯(lián)網(wǎng)的迅速發(fā)展以及智能手機的不斷普及,人們獲取信息的手段從電腦端迅速轉(zhuǎn)移到手機端。在高校里,大學生的智能手機更為普及,并且各高校都在建設智慧校園,學生和老師都習慣用智能手機在WiFi、4G 網(wǎng)絡等無線網(wǎng)絡模式下瀏覽信息[1-3]。但是,高校的網(wǎng)絡服務應用都是基于PC端開發(fā)的,常常會有打開網(wǎng)頁慢、界面不友好等情況。因此,設計一個針對本校實際情況的校園APP很有必要。國內(nèi)已有部分學校正在使用校園APP,如北京師范大學的“掌上師大”、南京理工大學的“南理工助手”、浙江工業(yè)大學的“工大生活”、電子科技大學的“移動校園客戶端”等,這些校園APP 可以從各個方面滿足學生和老師獲取信息的需求。如今Android 系統(tǒng)憑借其開放性壟斷了智能手機的一大部分,基于Android 平臺的智能移動終端成為設計校園APP 的首選平臺[4-7]。
本文設計了一個基于Android 的實驗中心信息管理系統(tǒng),服務于省示范實驗中心,讓學生能隨時隨地查看信息,打破了原來只能從電腦端獲取信息的時間和空間局限。該應用的主要功能有實驗室介紹、課表查詢、設備與環(huán)境、師資隊伍、課程設計、開放實驗、實驗教學大綱、競賽與創(chuàng)新和信息交流等。
實驗中心信息管理系統(tǒng)以江漢大學電工電子實驗中心為背景,借鑒以往的開發(fā)經(jīng)驗以及學生對實驗中心信息的需求進行設計。實驗中心信息管理系統(tǒng)功能結構框圖如圖1 所示。
圖1 實驗中心信息管理系統(tǒng)功能結構圖Fig.1 Structure of the experimental center information management system
(1)實驗室介紹:介紹了省級示范中心電工電子實驗中心的所有實驗室的信息,包括實驗室面積、設備、所承擔的課程以及開設的主要實驗項目。
(2)課表查詢:該功能可以按照實驗課程查詢,也可以查詢一學期的所有課表。
(3)設備與環(huán)境:通過此功能可以查看實驗室的所有設備信息,以及在實驗室的環(huán)境安全注意事項。
(4)師資隊伍:此功能可以看到實驗中心的成員信息、隊伍結構以及成員的科學研究情況。
(5)課程設計:通過此功能可以查看某一學期的課程設計安排,包括時間、地點、指導老師以及課程設計內(nèi)容。
(6)開放實驗:電工電子實驗中心設置了開放性實驗,有興趣的學生可以通過此功能查看開放性實驗項目內(nèi)容并可以在此報名。
(7)實驗教學大綱:通過此功能可以查看所有實驗教學大綱的內(nèi)容。
(8)競賽與創(chuàng)新:通過此功能可以查看競賽資訊、學生往年獲獎情況、作品展示和信息交流。學生可以通過競賽資訊,提早參加競賽培訓,以提高競賽獲獎概率。
(9)信息交流:通過此功能學生有最新的信息以及在實驗和競賽中遇到的問題可以在這里交流討論。
實驗中心信息管理系統(tǒng)的開發(fā)總體采用MVC 框架[8],即模型Model、視圖View、控制器Controller,MVC 是框架設計中比較常見的一種模式。其工作原理是控制器將用戶的請求發(fā)送給模型,選擇對應的模型;模型根據(jù)請求進行業(yè)務邏輯判斷做出相應的處理,通知視圖改變;更新的視圖結果反饋給用戶。MVC 的框架結構如圖2 所示。
圖2 MVC 的框架結構Fig.2 Framework structure of MVC
本系統(tǒng)采用智能手機終端、無線網(wǎng)絡和校園服務器互聯(lián)的物理架構,實現(xiàn)實驗中心信息管理系統(tǒng)的功能應用。系統(tǒng)的物理架構如圖3 所示,裝有管理系統(tǒng)應用的Android 智能手機發(fā)送請求,通過無線網(wǎng)絡訪問校園內(nèi)網(wǎng),獲取服務器里的數(shù)據(jù)。
圖3 系統(tǒng)物理架構Fig.3 Physical architecture of system
設計采用Android Studio 3.0 環(huán)境,Android 系統(tǒng)是基于Linux 和JAVA 架構的,主要編程語言是JAVA,所以需要先安裝JAVA 的編程工具JDK。在Oracle 官網(wǎng)選擇Windows 平臺下32 位的jdk-8u66-windows-i586 軟件,下載安裝并完成環(huán)境變量的配置,主要有JAVA_HOME、Path、CLASSPATH 三個部分的配置。接著安裝開發(fā)工具Eclipse 和Android SDK 并進行相應配置,Android 開發(fā)環(huán)境搭建完畢[9]。
根據(jù)前面的需求分析,實驗中心信息管理系統(tǒng)設計了9 個模塊,分別是:實驗室介紹、課表查詢、設備與環(huán)境、師資隊伍、課程設計、開放實驗、實驗教學大綱、競賽與創(chuàng)新和信息交流。按照9 個功能對系統(tǒng)進行包規(guī)劃,包規(guī)劃的詳細說明如表1。
表1 系統(tǒng)包規(guī)劃Tab.1 System package planning
實驗中心信息管理系統(tǒng)的界面UI 的設計采用常用的XML 文件實現(xiàn),簡單明了,可以將視圖邏輯控制從JAVA 中分離出來,更好地體現(xiàn)MVC 結構。本開發(fā)總體采用APP 常用的三段式結構,頂部為標題,中間為內(nèi)容,底部為選擇按鈕,在activity_main 里面實現(xiàn)[10]。
主界面第一部分是頂欄的江漢大學?;蘸蛻妹Q;第二部分是本應用程序的9 個功能模塊,點擊模塊會進入相應的界面,該部分為九宮格布局,將布局定位3 行3 列,在mainactivity.xml 文件里實現(xiàn);第三部分為底部切換導航欄,包含首頁即當前顯示的中間部分內(nèi)容、登陸和設置。整個界面實現(xiàn)由View 實現(xiàn),關鍵代碼如下所示。最終的主界面和登錄界面分別如圖4(a)和圖4(b)所示。
圖4 (a)實驗中心的用戶主界面;(b)登錄界面Fig.4 (a)Main interface of the experiment center;(b)Login interface
實驗中心信息管理系統(tǒng)的實驗室介紹、課表查詢、設備與環(huán)境、師資隊伍、課程設計、開放實驗、實驗教學大綱等信息都是來自于江漢大學電工電子實驗中心網(wǎng)站。因此,實現(xiàn)各模塊的功能就是將對應網(wǎng)頁進行解析并Android 化,解析網(wǎng)頁用到HTML 解析器。
HTML 解析器有JSON 技術和Jsoup 技術[11],一般安卓和服務端的數(shù)據(jù)通信采用JSON,需要有服務器的數(shù)據(jù),但這里只需要解析HTML 網(wǎng)頁的數(shù)據(jù),所以本文采用Jsoup。Jsoup 的工作原理是通過某個URL 地址或本地文件來加載HTML 文件,加載完成后生成一個Document 對象實例,接著通過CSS 或者DOM 選擇器對對象實例進行分析查找獲得需要的數(shù)據(jù),解析后得到的HTML 元素可以進行修改刪除等自定義操作??梢奐soup 具有強大的HTML 解析能力,可以將任意網(wǎng)頁“Android 化”,實現(xiàn)網(wǎng)站的安卓客戶端。網(wǎng)頁解析的關鍵代碼如下:
圖5 和圖6 分別是實驗室介紹界面和競賽與創(chuàng)新界面。圖7(a)是開放性實驗二級目錄開放實驗安排表解析的網(wǎng)頁顯示結果,采用表格的形式;圖7(b)是競賽與創(chuàng)新-競賽資訊-電子技術基礎與技能競賽解析的網(wǎng)頁顯示的內(nèi)容,包含文字和圖片相結合的部分,可以看到本應用程序無論是文字、表格還是圖片都能非常準確并以適應手機屏幕最佳的形式解析出來。
圖5 實驗室介紹界面Fig.5 Laboratory introduction interface
圖6 競賽與創(chuàng)新界面Fig.6 Competition and innovation interface
實驗中心信息管理系統(tǒng)的測試是在榮耀9(EMUI 5.1)上進行的,EMUI 5.1 是在google 和Android7.0的基礎上做了深度優(yōu)化開發(fā)出來的系統(tǒng)。從安裝到各個界面的跳轉(zhuǎn),各個功能的實現(xiàn)情況進行了反復測試,測試過程重點關注系統(tǒng)的流暢性和穩(wěn)定性。經(jīng)測試,應用滿足之前的設計需求,并且系統(tǒng)穩(wěn)定,界面跳轉(zhuǎn)流暢。
圖7 (a)開放實驗安排表;(b)網(wǎng)站解析后的界面Fig.7 (a)Schedule of open experiment;(b)Interface after website parsing
基于Android 的實驗中心信息管理系統(tǒng)滿足了學生隨時隨地查看實驗課表、實驗設備、實驗大綱、課程設計安排、開放實驗和競賽信息等要求,所有信息是以本校的電工電子實驗中心網(wǎng)站為依據(jù),將信息在手機端顯示,實現(xiàn)Android 化。本系統(tǒng)是以某一實驗中心設計的APP,具有良好的兼容性和動態(tài)擴展性,后續(xù)可以將其他專業(yè)實驗室網(wǎng)站信息進行整合,以適合全校各專業(yè)學生。