袁 芬
浙江長征職業(yè)技術(shù)學(xué)院計算機(jī)與信息技術(shù)系,浙江 杭州 310023
智能手機(jī)就像計算機(jī),它具有獨(dú)立的操作系統(tǒng)。用戶可以自行安裝軟件,借助第三方服務(wù)商提供的程序不斷擴(kuò)充手機(jī)功能,并且可以通過移動通信網(wǎng)絡(luò)來實(shí)現(xiàn)無線網(wǎng)絡(luò)接入[1]。與此同時,隨著移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,基于智能手機(jī)的移動學(xué)習(xí)成為當(dāng)前教育技術(shù)研究的一個熱點(diǎn),提供教育信息、教育資源和教育服務(wù),滿足碎片式學(xué)習(xí)的需求,真正實(shí)現(xiàn)“Anyone、Anytime、Anywhere、Anystyle”(4A)的學(xué)習(xí)[2]。
移動學(xué)習(xí)系統(tǒng)是為廣大學(xué)習(xí)者提供教育資源和學(xué)習(xí)服務(wù)支撐的軟件系統(tǒng)。經(jīng)過前期的需求調(diào)研以及本人多年的教學(xué)實(shí)踐經(jīng)驗(yàn)總結(jié),基于智能手機(jī)的移動學(xué)習(xí)系統(tǒng)的功能需求主要有:
(1)課程資源發(fā)送。移動學(xué)習(xí)系統(tǒng)是連接教育者和學(xué)習(xí)者之間的橋梁,為學(xué)習(xí)者提供各種學(xué)習(xí)資源包,包括課程資源包、電子教案、微課視頻等。學(xué)習(xí)者自主選擇資源預(yù)習(xí)、學(xué)習(xí)和復(fù)習(xí),這也是移動學(xué)習(xí)系統(tǒng)的最主要的功能。
(2)學(xué)習(xí)軌跡記錄。移動學(xué)習(xí)系統(tǒng)利用電子檔案袋記錄學(xué)習(xí)者學(xué)習(xí)軌跡和進(jìn)步情況,記錄與分析學(xué)習(xí)成績,激勵進(jìn)一步學(xué)習(xí)。這也有利于教育者、學(xué)習(xí)者自身及時地了解自己的學(xué)習(xí)情況,及時地調(diào)整學(xué)習(xí)進(jìn)度。
(3)學(xué)習(xí)任務(wù)查詢。學(xué)習(xí)者可以在移動學(xué)習(xí)系統(tǒng)上查找資源,并獲取相關(guān)信息,在分析總結(jié)的基礎(chǔ)上完成學(xué)習(xí)任務(wù)。
(4)協(xié)作互動。移動學(xué)習(xí)系統(tǒng)強(qiáng)調(diào)師生之間、學(xué)生之間的互動。利用互動工具,建立互動機(jī)制,及時為學(xué)習(xí)者解答疑惑,提交作業(yè),開展協(xié)作合作學(xué)習(xí)。
當(dāng)然,這些功能并不是移動學(xué)習(xí)系統(tǒng)的全部功能,具體的移動學(xué)習(xí)系統(tǒng)教育者可以根據(jù)學(xué)習(xí)者學(xué)習(xí)能力、學(xué)習(xí)內(nèi)容特征等的差異來選擇設(shè)計開發(fā)。
Android系統(tǒng)是開發(fā)基于平臺的開源手機(jī)操作系統(tǒng),它由操作系統(tǒng)、中間件、用戶界面和應(yīng)用程序組成。Android系統(tǒng)是一個真正意義上的開放性移動開發(fā)平臺,不僅包含上層的用戶界面和應(yīng)用程序,還包括底層的操作系統(tǒng),開發(fā)人員可以自由獲取和修改源代碼[3]。所有的應(yīng)用程序都運(yùn)行在虛擬機(jī)上,程序之間是完全平等的,用戶可以隨意將第三方軟件置換掉系統(tǒng)自帶的系統(tǒng)軟件。Android系統(tǒng)架構(gòu)自底向上分為5個層次,分別是Linux 內(nèi)核層、Android函數(shù)庫、Android運(yùn)行時、應(yīng)用程序框架層、應(yīng)用程序?qū)?。如圖1所示。
圖1 Android 操作系統(tǒng)架構(gòu)圖
移動學(xué)習(xí)系統(tǒng)開發(fā)中必然涉及數(shù)據(jù)的請求與獲得,而數(shù)據(jù)都存儲在數(shù)據(jù)庫中,因此各種數(shù)據(jù)的獲取都必須對數(shù)據(jù)庫進(jìn)行操作。為了簡化數(shù)據(jù)庫使用過程中的配置及編碼,本平臺采用了Hibernate技術(shù)。
Hibernate是一個開源的、輕量級的ORM(Object Relation Mapping,對象到關(guān)系的映射)解決方案,它允許程序以面向?qū)ο蟮男问讲僮麝P(guān)系型數(shù)據(jù)庫,負(fù)責(zé)將對象數(shù)據(jù)保存到關(guān)系型數(shù)據(jù)庫中,以及從關(guān)系型數(shù)據(jù)庫中讀取數(shù)據(jù)并封裝成對象的工作。Hibernate最大的優(yōu)點(diǎn)在于處理持久化數(shù)據(jù)的時候使用面向?qū)ο蟮姆绞剑瑥亩芎玫亟鉀Q了面向?qū)ο蟮腏ava語言與關(guān)系型數(shù)據(jù)庫之間數(shù)據(jù)表示形式不一致的矛盾[4]。
移動學(xué)習(xí)系統(tǒng)中涉及 Android服務(wù)器端與客戶端之間的數(shù)據(jù)傳遞,因此迫切需要一種合適的數(shù)據(jù)交換格式,而JSON 的出現(xiàn)解決了數(shù)據(jù)交換格式的問題。
JSON(JavaScript Object Notation)是 JavaScript的對象符號,它是一種輕量級數(shù)據(jù)交換格式。JSON的數(shù)據(jù)格式既方便計算機(jī)本身解析和生成,又適合人來讀寫。早期JSON是JavaScript語言的數(shù)據(jù)交換格式,后來慢慢發(fā)展成為一種與語言無關(guān)的數(shù)據(jù)交換格式,可以在不同平臺間進(jìn)行數(shù)據(jù)交換。
Android客戶端與服務(wù)器端進(jìn)行數(shù)據(jù)交互時,常常需要將服務(wù)器端的數(shù)據(jù)轉(zhuǎn)化成字符串并在客戶端對JSON數(shù)據(jù)進(jìn)行解析生成對象。在本移動學(xué)習(xí)系統(tǒng)中由服務(wù)器端的 WebServer接口提供的數(shù)據(jù)時經(jīng)由 JSON轉(zhuǎn)換和傳遞的,在 Android 就需要對這部分?jǐn)?shù)據(jù)解析為原數(shù)據(jù)對象,GSON 的作用就在于此[5]。
GSON(Google GSON)是 Google 公司發(fā)布的一個開放源代碼的Java庫,主要用途在于串行化Java對象為 JSON字符串,或反串行化 JSON 字符串成 Java對象。
隨著移動通信技術(shù)和移動終端技術(shù)的蓬勃發(fā)展,移動應(yīng)用日新月異。移動學(xué)習(xí)的需求也在不斷增加,開發(fā)基于智能手機(jī)的移動學(xué)習(xí)系統(tǒng),成為廣大教師面臨的重要課題。本文對移動學(xué)習(xí)系統(tǒng)的功能需求進(jìn)行分析與研究,并對移動學(xué)習(xí)系統(tǒng)中的關(guān)鍵技術(shù)進(jìn)行分析和比較,對技術(shù)人員進(jìn)行移動學(xué)習(xí)系統(tǒng)的開發(fā)具有指導(dǎo)和借鑒意義。
[1]高垣.基于移動協(xié)作學(xué)習(xí)系統(tǒng)設(shè)計與實(shí)現(xiàn)[D].西安:西北大學(xué),2010.
[2]王羽瑩.基于多平臺的漢語移動學(xué)習(xí)智能手機(jī)軟件的研究與開發(fā)[D].北京:北京郵電大學(xué),2011.
[3]姚昱旻,劉衛(wèi)國.Android的架構(gòu)與應(yīng)用開發(fā)研究[J].計算機(jī)系統(tǒng)應(yīng)用,2008,17(11):110-112.
[4]趙丞兵.基于 Android平臺的移動學(xué)習(xí)系統(tǒng)設(shè)計與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.
[5]任捷怡.基于移動終端設(shè)備的移動學(xué)習(xí)系統(tǒng)的研究與實(shí)現(xiàn)[D].成都:西南交通大學(xué),2012.