樊斌鋒
(山西職業(yè)技術(shù)學(xué)院,山西 太原 030006)
當(dāng)前的Android手機(jī)端軟件的開發(fā)與運(yùn)行主要由三類模式構(gòu)成:基于Android官方指定開發(fā)框架的原生開發(fā)模式、基于HTML5的Web開發(fā)模式以及融合了以上兩種模式特點(diǎn)的混合開發(fā)模式[1]。在混合開發(fā)模式下,軟件客戶端以APP程序的形式安裝在智能手機(jī)上,與Web開發(fā)模式相比能夠以更高的效率調(diào)用手機(jī)硬件資源。而軟件的內(nèi)容呈現(xiàn)與數(shù)據(jù)交互則通過嵌入至APP程序中的HTML5頁面來實(shí)現(xiàn),在內(nèi)容分發(fā)與功能更新方面,比原生開發(fā)模式具有更大的優(yōu)勢,同時,從項(xiàng)目研發(fā)投入的角度來看,混合開發(fā)模式還具有低成本和高兼容性的特點(diǎn)。因此,混合開發(fā)模式在各種類型的信息化系統(tǒng)項(xiàng)目的開發(fā)工作中被廣泛使用。
本研究所設(shè)計(jì)的系統(tǒng)由學(xué)生子系統(tǒng)與管理子系統(tǒng)兩部分構(gòu)成,其中學(xué)生子系統(tǒng)以APP的形式安裝在學(xué)生手機(jī)中向?qū)W生提供服務(wù),管理子系統(tǒng)以Web系統(tǒng)的形式部署在服務(wù)器上,學(xué)校的管理人員通過Web瀏覽器訪問。
學(xué)生子系統(tǒng)中提供了系統(tǒng)消息推送、獎助學(xué)金申請?zhí)峤?、事病假申請、休退學(xué)申請以及緊急突發(fā)情況上報(bào)等學(xué)生在校期間經(jīng)常會使用的功能。管理子系統(tǒng)中包含了輔導(dǎo)員模塊、系部模塊及學(xué)工部模塊,用于向輔導(dǎo)員、系部和學(xué)校提供不同權(quán)限的三級管理服務(wù)。負(fù)責(zé)完成相應(yīng)范圍的系統(tǒng)消息推送以及不同類型申請的逐級審批功能。中心數(shù)據(jù)庫負(fù)責(zé)支撐整個系統(tǒng)的運(yùn)行,用于存儲學(xué)生子系統(tǒng)和管理子系統(tǒng)之間的交互數(shù)據(jù)。同時,系統(tǒng)還基于中心數(shù)據(jù)庫構(gòu)建了用于數(shù)據(jù)共享的API,為其它部門的信息化系統(tǒng)調(diào)用學(xué)生管理數(shù)據(jù)提供接口,為數(shù)字化校園項(xiàng)目建設(shè)中的系統(tǒng)整合與協(xié)同運(yùn)行提供支持。
圖1 高校學(xué)生管理數(shù)字化系統(tǒng)原型結(jié)構(gòu)圖
1) Android-Web View組件,Web View是Android開發(fā)框架中專門用于訪問Web服務(wù)的組件,為開發(fā)人員提供了基于URL的Web頁面訪問功能。在本文所設(shè)計(jì)的學(xué)生子系統(tǒng)中所有的前端UI頁面全部使用Jquery Mobile實(shí)現(xiàn),在移動端APP使用Web View打開頁面并展示給學(xué)生用戶。同時,在系統(tǒng)界面風(fēng)格或功能需要更新時,僅需要更新在服務(wù)器端的頁面與程序文件即可,無需用戶重新安裝或升級APP程序。在Android源程序中調(diào)用Web View組件的過程如下:
import android.webkit.WebSettings; //引入WebView狀態(tài)配置類
import android.webkit.WebView; //引入WebView類
WebSettings webset = webView.getSettings(); //創(chuàng)建WebView狀態(tài)配置對象
webset.setJavaScriptEnabled(true); //允許WebView允許JavaScript腳本
webView.loadUrl(url); //訪問URL指定的前端UI頁面
需要注意的是,為能夠?qū)⑶岸薝I頁面完整的展示給學(xué)生用戶,移動端APP程序需要在程序啟動后立即調(diào)用方法實(shí)現(xiàn)頁面的全屏顯示功能。其實(shí)現(xiàn)過程如下:
webset.setUseWideViewPort(true);
webset.setLoadWithOverviewMode(true);
2) Jquery Mobile前端框架,Jquery Mobile是基于Jquery和Html5構(gòu)建的專門用于移動端UI界面設(shè)計(jì)的開源框架,提供了豐富的界面設(shè)計(jì)元素、流暢的人機(jī)交互機(jī)制和優(yōu)秀的屏幕自適應(yīng)能力。在系統(tǒng)前端界面開發(fā)中,只需要引入相應(yīng)的資源文件即可使用Jquery Mobile框架所提供的各項(xiàng)功能與界面設(shè)計(jì)元素來完成前端UI頁面的設(shè)計(jì)。在頁面中Jquery Mobile資源文件的引入過程如下:
3) PHP+MySQL框架,PHP作為當(dāng)前市場占有率最高的Web后端開發(fā)語言,具有開源、運(yùn)行速度快、平臺兼容性強(qiáng)等優(yōu)勢。由PHP配合MySQL數(shù)據(jù)庫所組成的開發(fā)框架,能夠在完成系統(tǒng)中各類數(shù)據(jù)的存儲與交互操作的同時,為開發(fā)者提供優(yōu)秀的系統(tǒng)負(fù)載能力,非常適用于經(jīng)常處于高并發(fā)連接狀態(tài)的教育管理類軟件的開發(fā)。在頁面中使用PHP語言連接MySQL數(shù)據(jù)庫的過程如下:
$dataobj = mysql_pconnect("MySQL服務(wù)器地址","MySQL用戶名", "訪問密碼") or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query("SET NAMES 'UTF8'"); //指定數(shù)據(jù)庫訪問時所用的字符集
mysql_select_db("數(shù)據(jù)庫名稱", $dataobj);
需要注意的是,在連接MySQL數(shù)據(jù)庫之前,開發(fā)人員中需要先在MySQL管理器中創(chuàng)建相應(yīng)的用戶并授予該用戶數(shù)據(jù)庫訪問與操作權(quán)限。
隨著數(shù)字化辦公在教育行業(yè)的普及,高校的學(xué)生管理工作也向信息化、網(wǎng)絡(luò)化與移動化的方向發(fā)展[2]?;旌祥_發(fā)模式因其在研發(fā)成本與運(yùn)行效率方面的巨大優(yōu)勢,非常適用于學(xué)生管理數(shù)字化工作系統(tǒng)的設(shè)計(jì)與開發(fā)工作,本文所構(gòu)建的系統(tǒng)原型基于混合開發(fā)模式設(shè)計(jì),在實(shí)現(xiàn)技術(shù)上整合了Android、Jquery Mobile以及PHP+MySQL框架,在實(shí)現(xiàn)高校學(xué)生日常管理數(shù)字化辦公的同時,也為教育行業(yè)中同類軟件的開發(fā)提供了具備良好可行性的設(shè)計(jì)思路。