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