李 昂
(九江職業(yè)大學(xué),江西 九江 332000)
隨著移動互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,校園信息化與智能化發(fā)展迅速。學(xué)生宿舍管理是高校學(xué)生管理的一個重要組成部分。由于辦學(xué)質(zhì)量的不斷提高,學(xué)生數(shù)量不斷增加,傳統(tǒng)的宿舍管理模式已不能夠滿足現(xiàn)階段學(xué)生管理的需求。因此,需要開發(fā)一套基于移動平臺的學(xué)生宿舍管理系統(tǒng)以方便宿舍管理員的日常工作。
國外有關(guān)學(xué)生宿舍管理系統(tǒng)的研究起步較早,在注重人力物力的節(jié)省上有更加成熟的管理經(jīng)驗(yàn)。美國早在二十世紀(jì)九十年代就開始推行智能化校園,美國教授Kenneth C.Green在1990年第一次提出校園信息化的概念,并于當(dāng)年進(jìn)行了針對美國的高校信息化研究項(xiàng)目,目前美國的宿舍管理信息系統(tǒng)已經(jīng)十分成熟。隨著信息技術(shù)的不斷發(fā)展以及移動設(shè)備的日益普及,我國也將移動平臺用于宿舍管理系統(tǒng)的建立,并且結(jié)合國外先進(jìn)的管理經(jīng)驗(yàn),應(yīng)用于實(shí)際的宿舍管理中[1-3]。
圖1 系統(tǒng)總體構(gòu)架
本文所述系統(tǒng)面向高校宿舍管理中的實(shí)際需求,針對宿舍管理員和學(xué)生用戶。建立了新聞公告、宿舍設(shè)施報(bào)修、入住遷出、水電費(fèi)查詢、失物招領(lǐng)、好友通訊錄等功能模塊。學(xué)生可以通過手機(jī)app查看并使用相關(guān)功能,宿舍管理人員可以通過后臺管理系統(tǒng)對相關(guān)信息進(jìn)行管理。通過該系統(tǒng)構(gòu)建一個穩(wěn)定方便的平臺,使學(xué)生、教師、各管理部門有效結(jié)合,提升高校宿舍管理的信息化管理水平。
整個校園宿舍管理系統(tǒng)分為服務(wù)端和客戶端兩大部分。服務(wù)端系統(tǒng)總體構(gòu)架如圖1所示。服務(wù)端采用Tomcat7.0作為服務(wù)器,使用SpringBoot開發(fā)功能服務(wù),利用Mybaits連接MySQL數(shù)據(jù)庫??蛻舳耸褂肁ndroid作為操作系統(tǒng),使用OkHttp框架處理HTTP請求,,從服務(wù)器獲取Json數(shù)據(jù),利用Android系統(tǒng)中內(nèi)置SQLite數(shù)據(jù)庫緩存從服務(wù)器獲取的數(shù)據(jù),提升系統(tǒng)運(yùn)行速度。
在Android開發(fā)中,可以使用XML和JAVA兩種文件進(jìn)行頁面布局。為了使界面代碼與邏輯代碼盡量分離,降低代碼耦合度,本客戶端中界面主要使用XML文件來編寫。采用相對布局與線性布局混合的方式進(jìn)行界面布局。Android客戶端界面主要由閃屏頁、注冊登錄界面、主頁界面以及各個功能模塊界面組成。app整體使用Viewpager+Fragment實(shí)現(xiàn)左右滑動切換頁面,底部使用RadioButton布局實(shí)現(xiàn)3個按鈕,用于點(diǎn)擊切換不同頁面。在主頁界面中使用Xunit框架實(shí)現(xiàn)輪播圖效果,使用Scrollview布局實(shí)現(xiàn)新聞條目的滾動效果。各個功能界面中使用ListView控件來顯示數(shù)據(jù)庫中的記錄信息。APP部分界面如圖2所示。
客戶端主要實(shí)現(xiàn)校園宿舍管理系統(tǒng)的相關(guān)功能,根據(jù)設(shè)計(jì)需求,主要分為以下幾個部分:
(1)登錄注冊:主要提供新用戶注冊功能,用戶注冊后可使用用戶名和密碼進(jìn)行登陸,登陸后方可使用app中的功能。
(2)主頁新聞:主頁提供新聞公告瀏覽功能,可以查看到管理員通過后臺發(fā)布的新聞、通知以及公告。
(3)宿舍報(bào)修:學(xué)生用戶如果發(fā)現(xiàn)宿舍設(shè)施損壞,可以通過宿舍報(bào)修功能進(jìn)行報(bào)修,宿舍管理員可以通過后臺查看提交的保修單,從而實(shí)現(xiàn)報(bào)修信息的及時反饋。
(4)入住遷出:可使用該功能實(shí)現(xiàn)新生入住、畢業(yè)生離校登記,方便無紙化管理。
(5)晚歸登記:晚歸的學(xué)生需要登記,宿舍管理員可以使用該功能填寫晚歸信息,該信息會傳輸至后臺服務(wù)器進(jìn)行記錄。
(6)失物招領(lǐng):可作為校園失物招鄰平臺,撿到的失物可通過該板塊公布出來,以便失主尋找自己丟失的物品。
本系統(tǒng)Android客戶端使用簽名機(jī)制與本地?cái)?shù)據(jù)庫加密兩個方面來保證系統(tǒng)安全。
(1)簽名機(jī)制能保證軟件的授權(quán)唯一性,如果用戶下載到未經(jīng)授權(quán)并含有惡意代碼的非正常軟件,會導(dǎo)致重要信息被竊取,造成嚴(yán)重的危害。因此所有手機(jī)app在發(fā)布之前都要經(jīng)過簽名加密。本文系統(tǒng)使用Eclipse來生成帶有數(shù)據(jù)簽名的apk安裝文件?;静僮髁鞒虨椋篎ile--Export Android Application—Create new keystore—填寫密鑰信息。在下一次升級版本時只需要選擇之前保存過的數(shù)據(jù)證書文件即可。
圖2 宿舍管理APP部分界面
(2)通過對比SQLCipher所提供API和Android原生的數(shù)據(jù)庫API,實(shí)際的使用效果基本上是完全相同的。這是由于SQLCipher對Android SDK中的與數(shù)據(jù)庫相關(guān)的API都備份了,整個過程中,SQLCipher同步實(shí)現(xiàn)了加密和解密的步驟,而沒有造成額外的延時。
本系統(tǒng)服務(wù)端采用SpringBoot框架進(jìn)行開發(fā)。傳統(tǒng)的Spring框架在搭建、配置與部署過程中都依賴大量的配置,對于小型項(xiàng)目的配置工作都會十分繁瑣,開發(fā)效率低下,并容易產(chǎn)生大量異常。Spring-Boot框架是一種基于Spring框架的全新框架,其基于“約定優(yōu)先配置”的原則,大大簡化了配置。在部署時,SpringBoot內(nèi)置的Tomcat容器使單一的jar包部署和管理變得十分簡單,該框架還可對應(yīng)用程序進(jìn)行監(jiān)控,即支持關(guān)系型數(shù)據(jù)庫也可支持非關(guān)系型數(shù)據(jù)庫。SpringBoot作為Spring項(xiàng)目組的微服務(wù)產(chǎn)品,正在大規(guī)模的占領(lǐng)軟件市場[4]。
Mybatis是一種對象關(guān)系映射框架,它是當(dāng)前最主流的JAVA持久化框架之一。其性能優(yōu)異且靈活性高,可以讓開發(fā)人員使用面向?qū)ο蟮乃枷雭黹_發(fā)數(shù)據(jù)庫,并使用XML或注解代替JDBC代碼和參數(shù)的手動配置。Mybatis可以配置動態(tài)SQL并支持存儲過程,適合一些復(fù)雜且需要不斷優(yōu)化的項(xiàng)目使用。本項(xiàng)目將其作為持久化框架來映射關(guān)系型數(shù)據(jù)庫。
本系統(tǒng)后臺采用MySQL數(shù)據(jù)庫來存儲數(shù)據(jù),通過HTTP協(xié)議傳輸Json格式數(shù)據(jù)與移動端進(jìn)行數(shù)據(jù)交互。需要建立用戶信息表、晚歸登記表、宿舍報(bào)修表以及失物招領(lǐng)表等,如表1所示。用戶信息表用于存儲用戶名、密碼、學(xué)生姓名所屬學(xué)院等信息,晚歸登記表用于登記學(xué)生的晚歸信息,宿舍報(bào)修表用于存儲宿舍的設(shè)施報(bào)修信息,失物招領(lǐng)表用于存儲失物招領(lǐng)的填報(bào)信息。
本系統(tǒng)采用Android移動端與服務(wù)端前后端分離開發(fā),服務(wù)端提供JSON數(shù)據(jù)接口,移動端解析數(shù)據(jù)后將數(shù)據(jù)進(jìn)行顯示。本系統(tǒng)使用RESTful API風(fēng)格來設(shè)計(jì)接口。RESTful是目前最為流行的一套互聯(lián)網(wǎng)軟件構(gòu)架,它結(jié)構(gòu)清晰、符合標(biāo)準(zhǔn)、易于理解、擴(kuò)展方便[5]。其最早由Roy Thomas Fielding在他2000年的博士論文中提出。REST是Representation al State Transfer的縮寫,翻譯為“表現(xiàn)層狀態(tài)轉(zhuǎn)化”。包括GET,DELETE,PUT和POST等典型用法。
表1 部分?jǐn)?shù)據(jù)庫信息表
本文設(shè)計(jì)了一種基于Android和SpringBoot的高校宿舍管理系統(tǒng),將移動互聯(lián)網(wǎng)與高校宿舍管理相結(jié)合。移動端使用Android技術(shù)進(jìn)行開發(fā),服務(wù)端基于SpringBoot+Mybaits框架進(jìn)行搭建。闡述了移動端安全功能設(shè)計(jì)與前后端分離的通信實(shí)現(xiàn)方式。本系統(tǒng)可實(shí)現(xiàn)校園新聞瀏覽、宿舍報(bào)修,學(xué)生入住遷出以及晚歸登記等操作。經(jīng)過測試,本系統(tǒng)運(yùn)行穩(wěn)定,能夠滿足設(shè)計(jì)需求,具有一定的實(shí)用價值。