陳小健, 宋承繼
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 信息工程學(xué)院, 咸陽(yáng) 712000)
隨著無(wú)線網(wǎng)絡(luò)、4G移動(dòng)互聯(lián)網(wǎng)和移動(dòng)終端平臺(tái)的飛速發(fā)展,基于移動(dòng)平臺(tái)的網(wǎng)絡(luò)化學(xué)習(xí)逐漸進(jìn)入人們的視野。智能手機(jī)、平板等設(shè)備的移動(dòng)性和便捷性給學(xué)習(xí)者帶來(lái)了更加便捷的學(xué)習(xí)體驗(yàn)。在高校信息化教學(xué)建設(shè)和推廣過(guò)程中,建設(shè)一個(gè)維護(hù)性良好、體系結(jié)構(gòu)清晰的運(yùn)行于移動(dòng)終端平臺(tái)上的在線學(xué)習(xí)平臺(tái)具有十分重要的理論和現(xiàn)實(shí)意義。
目前互聯(lián)網(wǎng)上存在一些基于移動(dòng)平臺(tái)的在線學(xué)習(xí)應(yīng)用,國(guó)際上比較出名的有斯坦福大學(xué)吳恩達(dá)教授主導(dǎo)創(chuàng)建的學(xué)習(xí)平臺(tái)Coursera、美國(guó)的盈利性質(zhì)的“在線大學(xué)”平臺(tái)Udacity、麻省理工和哈佛大學(xué)聯(lián)手創(chuàng)建的非盈利性在線學(xué)習(xí)平臺(tái)edX等。國(guó)內(nèi)較為出名的移動(dòng)學(xué)習(xí)平臺(tái)有網(wǎng)易云課堂、極客學(xué)院、超星學(xué)習(xí)通等。以上學(xué)習(xí)平臺(tái)具有非常豐富的學(xué)習(xí)資源,但是面向的對(duì)象是所有學(xué)習(xí)人群,不具備定制性,不能作為高校教師和學(xué)生之間交互的平臺(tái)。
本文針對(duì)以上通用的移動(dòng)在線學(xué)習(xí)平臺(tái)的缺陷,建立了一個(gè)基于Android的在線學(xué)習(xí)平臺(tái),該平臺(tái)支持高校教師和學(xué)生之間的交流和通訊,并且提供教學(xué)視頻、教學(xué)資料等,支持在線測(cè)試、在線簽到、作業(yè)提交等功能。該平臺(tái)能夠增加高校學(xué)生學(xué)習(xí)的便利性和課程學(xué)習(xí)的參與度,使得高校教師和學(xué)生之間建立更加緊密的聯(lián)系,從而獲得更好的教學(xué)體驗(yàn)。
本系統(tǒng)共分為8個(gè)功能模塊:課堂交互、作業(yè)管理、在線交流、用戶驗(yàn)證、在線考試、后臺(tái)管理和資源管理。如圖1所示。

圖1 在線學(xué)習(xí)平臺(tái)總體架構(gòu)圖
該系統(tǒng)涵蓋了從課上交互到課下學(xué)習(xí)的多種學(xué)習(xí)模式。課上可通過(guò)該平臺(tái)完成課堂測(cè)驗(yàn)、點(diǎn)名簽到和問(wèn)題回答等活動(dòng)。課下可以通過(guò)在線交流模塊與任課教師進(jìn)行交流、答疑等;學(xué)生可通過(guò)作業(yè)管理模塊查看作業(yè)任務(wù),并在完成后提交,老師可以布置作業(yè)并查看學(xué)生提交的作業(yè);學(xué)生可以課下下載該課程的視頻教學(xué)資源和課件教學(xué)資源,并且可以利用在線考試模塊進(jìn)行自測(cè)試。
該系統(tǒng)采用C/S架構(gòu),分為服務(wù)器端和客戶端。客戶端運(yùn)行于移動(dòng)平臺(tái)(手機(jī)、平板等設(shè)備),采用基于Android的技術(shù),采用Android Studio作為開(kāi)發(fā)工具。服務(wù)器端使用基于J2EE的技術(shù),采用Eclipse作為開(kāi)發(fā)工具。數(shù)據(jù)庫(kù)采用輕量級(jí)的跨平臺(tái)的SQlite。客戶端、服務(wù)器與數(shù)據(jù)庫(kù)交互如圖2所示。

圖2 系統(tǒng)組成圖
Android和iOS是目前應(yīng)用最為廣泛的智能手機(jī)平臺(tái)。iOS為蘋果開(kāi)發(fā)的智能手機(jī)操作系統(tǒng),不開(kāi)源且不對(duì)外提供開(kāi)發(fā)APP的技術(shù)支持,所以不宜采用iOS作為本文的開(kāi)發(fā)平臺(tái)。Android是谷歌提供的開(kāi)源手機(jī)平臺(tái),技術(shù)開(kāi)放且平臺(tái)擁有豐富的API開(kāi)發(fā)接口。所以本文采用基于Android作為客戶端平臺(tái)。
Android采用基于Linux內(nèi)核的分層式體系架構(gòu),如圖3所示。

圖3 Android體系架構(gòu)
作為開(kāi)發(fā)者,開(kāi)發(fā)Android應(yīng)用程序只需關(guān)注應(yīng)用程序?qū)拥乃膫€(gè)模塊:活動(dòng)(Activity)、活動(dòng)內(nèi)容接收器(Intent Receiver)、服務(wù)(Service)和內(nèi)容提供器(Content Provider)。Activity是Android中的界面組成,一個(gè)界面對(duì)應(yīng)一個(gè)Activity,每個(gè)界面包含多個(gè)對(duì)事件進(jìn)行響應(yīng)的接口。Intent Receiver完成不同界面之間的切換,包含動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。Content Provider完成與其他應(yīng)用共享數(shù)據(jù)的任務(wù),提供訪問(wèn)本應(yīng)用存儲(chǔ)的數(shù)據(jù)的接口。Service是應(yīng)用在后臺(tái)為前臺(tái)提供支持的服務(wù),程序運(yùn)行時(shí)Service會(huì)保持后臺(tái)運(yùn)行。
在客戶端的開(kāi)發(fā)過(guò)程中,主要使用Activity模塊和Intent Receiver模塊,通過(guò)使用系統(tǒng)組件完成界面設(shè)計(jì)和各響應(yīng)函數(shù)的填充。對(duì)于每一個(gè)模塊的功能建立相應(yīng)的類進(jìn)行維護(hù),使得程序設(shè)計(jì)符合模塊化規(guī)則。在對(duì)設(shè)計(jì)過(guò)程中的XML解析部分,使用Android中的SAX解析器對(duì)XML配置文件進(jìn)行讀取和解析。
SQlite數(shù)據(jù)庫(kù)由于其輕量化、占用內(nèi)存和硬件資源少等特點(diǎn)在基于Android的開(kāi)發(fā)中占有一席之地,且目前存在集成了SQlite數(shù)據(jù)庫(kù)的基于Android的智能手機(jī)開(kāi)發(fā)平臺(tái),因此基于SQlite的移動(dòng)平臺(tái)的開(kāi)發(fā)是較為簡(jiǎn)便的。
本文根據(jù)系統(tǒng)功能設(shè)計(jì),創(chuàng)建了多個(gè)數(shù)據(jù)表,此處由于篇幅有限,選取用戶信息表、留言信息表和試題表進(jìn)行了展示,如表1—表3所示。

表1 用戶信息表設(shè)計(jì)

表2 留言信息表

表3 試題表
此外還存在視頻信息表、課件信息表、考試信息表等數(shù)據(jù)表,在此不一一贅述。
為了對(duì)該學(xué)習(xí)平臺(tái)的資源進(jìn)行豐富,除了任課教師的教學(xué)視頻和課件資料之外,還提供海量的網(wǎng)絡(luò)視頻資源和學(xué)習(xí)資源。提供搜索欄搜索感興趣的資源,并在主頁(yè)顯示推薦內(nèi)容。推薦內(nèi)容的相關(guān)性是很重要的,良好的推薦算法能夠?qū)崿F(xiàn)內(nèi)容的篩選,精確的實(shí)現(xiàn)用戶偏好內(nèi)容的推送,為用戶能夠提供良好的體驗(yàn)。常用的推薦算法主要分為:基于內(nèi)容的推薦、基于網(wǎng)絡(luò)結(jié)構(gòu)的推薦、協(xié)同過(guò)濾推薦、基于社會(huì)網(wǎng)絡(luò)分析的推薦等。其中基于內(nèi)容的推薦是最為直觀有效的推薦算法,首先通過(guò)獲取用戶的常用搜索的關(guān)鍵詞,再與用戶偏好模型做匹配,從而選取匹配度最高的推薦對(duì)象,該種推薦方法簡(jiǎn)單易實(shí)現(xiàn),不會(huì)占用過(guò)多的系統(tǒng)資源;基于網(wǎng)絡(luò)結(jié)構(gòu)的推薦是將用戶與推薦資源都虛擬成節(jié)點(diǎn),使得整個(gè)系統(tǒng)的用戶和資源之間形成一個(gè)巨大的網(wǎng)絡(luò),統(tǒng)計(jì)網(wǎng)絡(luò)中的連線數(shù)和連接關(guān)系或者推薦資源。該方法效果好但是對(duì)平臺(tái)的資源要求較高;協(xié)同過(guò)濾推薦是考慮用戶的社交網(wǎng)絡(luò)的關(guān)系,參考社交網(wǎng)絡(luò)中接觸較多的人群的選擇,從而完成推薦,該種方法十分適合用于網(wǎng)購(gòu)網(wǎng)站、圖書推薦系統(tǒng)等,但是由于學(xué)習(xí)系統(tǒng)并不具備很強(qiáng)的社交性,所以該種方法并不適合于本文中的平臺(tái)。經(jīng)過(guò)分析,本文使用基于內(nèi)容的推薦算法是比較合適的。
本文的基于內(nèi)容的推薦技術(shù)主要分為3步:首先,獲得用戶偏好內(nèi)容關(guān)鍵詞(3到5個(gè));接著,使用關(guān)鍵詞依次對(duì)數(shù)據(jù)庫(kù)中記錄的資源進(jìn)行遍歷尋找,將與關(guān)鍵詞實(shí)現(xiàn)匹配的資源按匹配度從前向后記錄于系統(tǒng)緩沖區(qū)中;最后,通過(guò)將篩選出來(lái)的資源與多個(gè)關(guān)鍵詞依次進(jìn)行比對(duì),包含較多關(guān)鍵詞的內(nèi)容依次向前排列,含有相同關(guān)鍵詞的資源按資源首字母的序號(hào)進(jìn)行排列。該算法流程圖如圖4所示。

圖4 基于內(nèi)容的排序算法流程圖
其中,獲得關(guān)鍵詞的方法如下:在用戶第一次使用搜索模塊時(shí),需要選擇自己感興趣的領(lǐng)域和關(guān)鍵詞,將這些關(guān)鍵詞記錄到與用戶關(guān)聯(lián)的記錄表中,接下來(lái)根據(jù)用戶的搜索記錄將搜索關(guān)鍵詞進(jìn)行記錄,并統(tǒng)計(jì)頻次,通過(guò)頻次不斷更新記錄表,保證記錄表中的關(guān)鍵詞符合用戶最新的需求。
匹配度的度量是根據(jù)關(guān)鍵詞中字符的匹配個(gè)數(shù)和關(guān)鍵詞的匹配個(gè)數(shù)共同決定的。通過(guò)本文的雙次關(guān)鍵詞匹配算法的篩選,能夠盡可能的找到與用戶相關(guān)度最高的資源進(jìn)行推薦。
基于以上技術(shù)對(duì)該平臺(tái)進(jìn)行了開(kāi)發(fā),該平臺(tái)分為服務(wù)器端和客戶端。服務(wù)器端是基于WEB進(jìn)行登錄管理的,只有系統(tǒng)管理員具有權(quán)限進(jìn)行管理。采用Java的J2EE技術(shù)對(duì)服務(wù)器端進(jìn)行開(kāi)發(fā),開(kāi)發(fā)平臺(tái)采用Eclipse。首先創(chuàng)建一個(gè)Java Web程序,進(jìn)行WEB創(chuàng)建配置,主要包括運(yùn)行環(huán)境配置、Tomcat服務(wù)器配置。然后創(chuàng)建一個(gè)Server服務(wù)器,在Eclipse上對(duì)WEB服務(wù)器界面通過(guò)組件配置開(kāi)發(fā)。開(kāi)發(fā)的系統(tǒng)登錄界面、試卷管理界面、課程管理界面如下圖5、圖6和圖7所示。
為了保證系統(tǒng)的安全性,防止惡意破壞,系統(tǒng)登錄界面使用驗(yàn)證碼。圖3.2為試卷管理界面,在Web后臺(tái)對(duì)試卷進(jìn)行統(tǒng)一管理,具有刪除、增加、修改等權(quán)限。圖3.3為課程管理界面,具有網(wǎng)上課程、課程列表、添加課程和課程專題管理等菜單對(duì)網(wǎng)上學(xué)習(xí)平臺(tái)的課程進(jìn)行管理。
客戶端是運(yùn)行于使用Android操作系統(tǒng)的移動(dòng)設(shè)備上的,采用Android平臺(tái),使用Android Studio作為開(kāi)發(fā)工具對(duì)客戶端程序進(jìn)行開(kāi)發(fā)。首先創(chuàng)建一個(gè)Android工程,設(shè)計(jì)多個(gè)界面即創(chuàng)建多個(gè)Activity,一個(gè)界面對(duì)應(yīng)一個(gè)Activity,其中界面中包含多個(gè)對(duì)事件進(jìn)行響應(yīng)的接口,對(duì)這些響應(yīng)函數(shù)進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)就完成了界面的設(shè)計(jì)。接下來(lái)對(duì)Intent Receiver進(jìn)行設(shè)計(jì),完成不同界面之間的切換。
客戶端的使用對(duì)象是高校教師和學(xué)生。在注冊(cè)時(shí)不同角色填寫不同角色的注冊(cè)項(xiàng)目,經(jīng)過(guò)管理員審批后方可進(jìn)行登錄使用該學(xué)習(xí)平臺(tái)。首先進(jìn)行系統(tǒng)登錄,登錄界面如圖8所示。登陸后主界面如圖9所示。

圖5 系統(tǒng)登錄界面

圖6 試卷管理界面

圖7 課程管理界面

圖8 系統(tǒng)登錄界面

圖9 在線學(xué)習(xí)平臺(tái)主界面
從圖9可以看出,在線學(xué)習(xí)主要具有網(wǎng)上課堂、作業(yè)習(xí)題、留言答疑、在線測(cè)試、公告信息和在線討論這6大功能模塊。
篇幅有限,以下選取網(wǎng)上課堂、作業(yè)習(xí)題界面進(jìn)行展示。網(wǎng)上課堂界面如圖10所示,作業(yè)習(xí)題界面如圖11所示。
本文對(duì)基于移動(dòng)互聯(lián)網(wǎng)的在線學(xué)習(xí)平臺(tái)進(jìn)行了研究,首先對(duì)總體架構(gòu)和使用的平臺(tái)架構(gòu)進(jìn)行了研究。接著對(duì)開(kāi)發(fā)過(guò)程中的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)介紹,主要包括基于Android的研發(fā)技術(shù)、數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)和基于內(nèi)容的搜索算法的研究。最后對(duì)該學(xué)習(xí)系統(tǒng)進(jìn)行了實(shí)現(xiàn),主要分為基于WEB的管理端和基于Android桌面應(yīng)用的客戶端進(jìn)行了實(shí)現(xiàn),并且對(duì)界面進(jìn)行了展示。實(shí)踐表明,該平臺(tái)功能設(shè)計(jì)合理、運(yùn)行穩(wěn)定可靠。

圖10 網(wǎng)上課堂界面

圖11 作業(yè)習(xí)題界面