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