牛 麗,殷 凡,熊志勇
(蘇州市職業(yè)大學 計算機工程學院,江蘇 蘇州215104)
隨著移動互聯(lián)網技術的迅猛發(fā)展和云計算帶來的海量存儲、智能終端設備功能的日益強大和快速普及,在教育領域中隨時隨地的學習即移動學習需求在不斷地增加。移動學習作為新一代的學習方式,區(qū)別于傳統(tǒng)網絡學習、數字化學習的主要特征是其移動性、交互性,具有更加靈活方便及滿足個性化服務需求等優(yōu)點,能夠實現任何人在任何時間、任何地點、以任何方式學習任何內容,彌補傳統(tǒng)學習方式存在的問題和不足,能夠促進主體學習方式的深刻變革,逐步成為未來非正式學習、泛在學習、終身學習的研究趨勢,適應了學習型社會的構建目標及終身教育的發(fā)展需求。
實施和開展移動學習的相關活動,前提需要具備完善的移動學習系統(tǒng),它的主要組成部分包含:移動學習網絡支持環(huán)境、移動學習平臺、移動學習資源、移動學習應用軟件等,其中構建豐富的移動學習資源是整個移動學習系統(tǒng)的核心,它的實現是進行一切移動學習活動的基礎和重要環(huán)節(jié)[1]。在目前一些移動學習方式中,多為簡單地在移動終端設備中通過瀏覽器訪問學習資源,或與資源服務器進行簡單的交互;存在學習資源類型較為單一、內容不夠豐富、個性化設計不足、互動性不夠、主體學習積極性不高等問題;缺乏針對主流移動平臺而設計的完整和具體學習資源;同時移動學習資源開發(fā)過程中缺乏統(tǒng)一的標準和規(guī)范,使得資源共享率較低,低效重復的開發(fā)情況較多,目前對移動學習資源的研究較多地集中在從理論角度研究其設計、開發(fā)、應用、管理和評價等[2]。
移動終端軟件的開發(fā)是進行移動學習的有效保障,它使得終端具備操作和訪問學習資源的能力,是整個移動學習系統(tǒng)的重要組成部分,其質量高低直接決定了移動學習的成效,應根據主流不同移動平臺進行規(guī)劃和設計開發(fā),以更好的用戶體驗與系統(tǒng)中的移動學習資源進行交互。目前主流的移動應用開發(fā)平臺有谷歌的Android、蘋果的iOS、微軟的WinPhone等,以前二者為主,Android平臺由于其應用開發(fā)門坎較低、操作平臺開源等因素,擁有最大的市場占有率;而iOS平臺由于其終端產品的卓越性能及其時尚的造型設計、App應用的規(guī)范管理及潛在的無限誘人商機,也吸引大量的應用開發(fā)者涌入,但其應用開發(fā)門坎相對較高,條件限制更為嚴格?,F有移動學習終端軟件的開發(fā)多以Android平臺為主,較少涉及iOS平臺。
移動學習資源是為在移動終端上開展移動學習活動目的而構建的各種數據資源,根據學習內容的承載方式主要分為文本資源、圖形圖像資源、音視頻資源、多媒體課件資源、交互性資源等,由于移動終端設備自身的硬件特點以及學習資源的豐富性、完整性、實用性等要求,應將學習資源建立在數據庫服務器上以便維護,并開發(fā)實現相應的服務器端訪問和服務接口,學習主體通過移動終端設備上專門開發(fā)的移動學習軟件對學習資源進行移動訪問和交互,它在移動終端設備上的呈現形式有短信式、網頁瀏覽式、下載存儲式等,滿足主體學習方式的主動性、場景性、持續(xù)性、交互性等特點,在設計過程中要遵循簡潔友好、功能模塊化、提供真實學習情境、系統(tǒng)可靠性等原則。
在移動學習資源開發(fā)中,應該根據學習主體對象的具體學習需求,緊扣學習目標,綜合考慮知識內容、信息承載量、呈現方式及管理方式等眾多因素,遵循知識化、微型化、碎片化、交互性等原則[3],以項目為導向、任務為驅動,基于知識點進行移動學習內容的設計,針對主流的不同移動應用平臺,設計內容緊湊、短小精焊、形式簡潔的靈活性學習內容;移動學習資源是目前已有數字化學習資源的補充和提升,開發(fā)中要充分使用和挖掘已有各種數字化學習平臺和網絡學習資源,在原基礎上針對移動終端設備訪問特點和交互需求再次開發(fā),避免現有資源的浪費,提高移動學習資源開發(fā)效率,節(jié)約開發(fā)成本。
移動學習系統(tǒng)包括資源處理子系統(tǒng)和資源學習子系統(tǒng),如圖1所示為移動學習資源處理使用流程[4],資源處理子系統(tǒng)為教師提供資源上傳功能,為管理人員提供資源審核、分類管理和維護等功能,資源上傳時要對資源信息進行具體設置,包括資源標題、所屬關鍵詞、包含知識點、資源的描述、資源的類型、資源的大小、上傳時間、上傳者等,上傳成功的資源以列表呈現在待審核區(qū)中,等待管理人員審核,資源審核操作包括審核通過、不通過、刪除資源、資源格式轉換等功能,通過審核的資源將統(tǒng)一編輯轉換為特定格式保存至資源服務器中,不通過的資源將從資源區(qū)中刪除。資源學習子系統(tǒng)用于開展移動學習活動,為學習者提供資源推薦、瀏覽、檢索、播放、下載、練習、測試、互動等功能,為教師提供測評和答疑功能。
圖1 移動學習資源處理與使用流程
在資源使用環(huán)節(jié)中,學生通過移動客戶端注冊登錄學習系統(tǒng),對服務器端的學習資源進行訪問和交互,可將服務器中文本、音視頻、課件等資源下載到本地進行離線學習,也可通過網絡登錄資源服務器進行在線學習、交互學習,學完一階段主題后可進行在線測試,系統(tǒng)對學習效果進行測評并將成績寫到服務器中。教師根據學習對象及其學習需求,組織學習內容,通過后臺管理系統(tǒng)上傳學習資源,對測評結果和學習過程進行管理,參與學習過程中的交流和討論、提供針對性答疑和輔導。管理人員通過后臺管理系統(tǒng)對學習資源進行審核、編輯、發(fā)布、維護,對系統(tǒng)用戶及配置進行管理。
根據移動智能終端的硬件特點及移動學習的功能需求,移動學習系統(tǒng)宜采用C/S架構,將學習資源存放在高性能的服務器中提供資源分發(fā)服務,管理用戶、學習資源及學習進度等各類動態(tài)數據,為管理員和教師提供資源管理接口,為學員提供資源訪問和交互接口。開源PHP相比于其它Web開發(fā)工具,具有良好的安全性、可移植性、可擴展性,執(zhí)行速度快、效率高、開發(fā)成本低,可操縱多種數據庫, 支持 SOAP、SMTP、IMAP、POP3、DNS等多種通信協(xié)議,采用Apache+PHP+MySQL開源免費的框架結構具有強勁優(yōu)勢,可跨平臺運行。
圖2 iOS平臺移動學習資源構建方案
如圖2所示為本系統(tǒng)移動學習資源構建方案[5],數據庫和服務器可放置于同一臺機器上,iOS移動客戶端是用戶訪問系統(tǒng)的入口,在其上面開發(fā)移動學習軟件以可視化界面方式將學習資源展示給主體,提供主體認證、使用引導、數據交互、移動學習等視圖,設計客戶端通信接口存取服務端的Web Service獲取數據;MySQL數據庫中存放各類豐富的學習資源以及對資源進行處理的數據庫對象和接口;PHP服務器端充當媒介角色,在其上面開發(fā)各類Web Service服務接口、數據庫接口及后臺管理功能,以Web Service向客戶端提供訪問接口,攔截客戶端的URL請求,使得客戶端和數據庫端進行交互,實現對數據庫的存取操作及客戶端的訪問交互需求。
服務器端與客戶端的數據傳輸采用XML或JSON格式,內容可是 HTTP、SOAP或Restful等,與服務器端交互通過GET方式獲取XML數據并解釋為JSON格式,提取所需信息,客戶端通過HttpResponse獲取返回的交互信息,在客戶端需進行XML的解析。iOS移動客戶端發(fā)起HTTP協(xié)議請求,利用HttpClient類及相關技術通過Http協(xié)議與PHP服務器端進行遠程網絡通信,包括傳輸請求和響應交互命令,通過服務端開發(fā)的Web Service接受iOS移動客戶端的請求,訪問后臺MySQL數據庫獲取相應的學習資源,并將處理結果返回到iOS移動客戶端,實現客戶端通過服務器端與數據庫中各種學習資源的實時交互操作。
這里以iOS客戶端移動學習APP設計為例,講解如何在移動學習理論的指導下,結合蘋果移動終端設備的特性,在服務器端學習資源開發(fā)實現的基礎上進行移動客戶端應用開發(fā)。系統(tǒng)采用Xcode5開發(fā)工具、Objective-C開發(fā)語言、結合SDK開發(fā)工具包及第三方框架,iOS移動客戶端與PHP服務器端的網絡通信及數據交互使用開源的第三方框架ASIHTTPRequest,iOS移動客戶端本地數據存儲使用嵌入式輕量級關系型SQLite數據庫,對SQLite數據庫的各種操作使用開源第三方框架FMDB,對內存采用自動化管理與手動管理相結合方式,APP技術架構采用 MVC模式分層設計模型、視圖、控制器及各層之間的關系,使系統(tǒng)具有良好的擴展性、重用性、可讀性及維護性。
系統(tǒng)設計的iOS平臺移動學習終端APP原型主要使用流程為:在學員登錄進入主界面以后可選擇全部課程、我的課程、推薦課程、我的收藏等頁面;選擇某一門課程資源后,可以查看該課程相關的PPT、講義、視頻資源,APP提供在線練習及測試功能,提交試卷后可查看試題的答案和測評結果,進入該課程論壇可與教師或同學進行學習和交流;對服務器中的資源可根據需要選擇在線瀏覽或下載到終端中進行離線學習的方式,可查看該資源相關的評價并在學習完后對該資源進行評價。對下載到本地的資源,根據資源的類型和格式,在終端APP中設計或調用已有的工具軟件進行瀏覽或播放。
iOS客戶端對PHP服務端學習資源獲取及交互使用開源第三方框架ASIHTTPRequest,該框架建立在CFNetworkAPI基礎上并對其進行抽象化封裝,適用于基本HTTP請求和基于REST的服務交互,實現從服務端獲取數據和向服務端提交數據,同時支持數據同步異步傳輸、隊列請求、斷點續(xù)傳、進度跟蹤、HTTP認證等功能,加入Objective-C閉包Block使代碼輕簡靈活。資源獲取的主要方法如下:
其中HTTP_SERVER常量表示客戶端所要訪問的PHP服務器端地址,創(chuàng)建ASIHTTPRequest對象時要指定欲訪問的URL目標地址。下面語句為在資源請求成功或失敗時需要調用的方法demandAchieved和demandFailed,回調時將demand作為方法參數,通過startAsynchronous方法啟動異歩數據請求:[demand set-DidFinishSelector:@selector(demandAchieved:)];
[demand setDidFailSelector: @selector(demand-Failed:)];
[demand startAsynchronous];
通過如下方法進行返回JSON數據的解析,把服務器端返回的JSON字符串的Data轉化成dictionary,解析結果以NSDictionary對象的形式保存:NSString*demandContext= [demand responseData];NSDictionary*demandWordBook = [NSJSONSerialization JSONObjectWithData:demandContextoptions:NSJSONReading-MutableContainers error:nil];
資源文件的下載基于多線程斷點續(xù)傳技術,實時檢測本地已下載文檔長度和從臨時文件讀取斷點值并發(fā)送給服務端,服務端與客戶端調整指標值到斷點處實現續(xù)傳。由于資源獲取操作較為頻繁且不同URL調用處理邏輯相同,將資源獲取方法歸納并封裝在單獨的類中,方便其它視圖控制器調用并可進行各自擴展。
在iOS客戶端將資源下載到本地中可進行離線學習,減少網絡交互所帶來的額外開銷,在Xcode中描述資源服務器中數據表結構并編寫數據訪問類,封裝數據庫初始化、數據表添加、刪除、修改、查詢等操作,在操作訪問SQLite數據庫時使用開源第三方框架FMDB,使用時在工程框架屬性中導入libsqlite3.dylib依賴,主要使用FMDatabase和FMResultSet兩個類來表示單獨的SQLite數據庫及在庫中執(zhí)行SQLite命令,返回查詢后的結果集。工程中要得到應用程序沙盒路徑,將SQLite數據庫嵌入到本地設備當前應用程序的可讀寫文檔夾里,其主要方法如下:
然后創(chuàng)建 FMDatabase實例,FMDatabase*dataLibrary= [FMDatabase databaseWithPath:dataLibraryCatalogue];將上述沙盒文件夾中SQLite數據庫文件路徑作為參數,執(zhí)行[dataLibrary open]命令打開或新建數據庫,在和數據庫交互之前,數據庫文件必須是打開的。
在數據庫中執(zhí)行SQLite命令分為兩類,把除了select查詢語句之外的所有命令均視為更新語句,使用數據庫對象的executeUpdate方法執(zhí)行,查詢使用數據庫對象的executeQuery,返回的結果集保存到FMResultSet對象中,調用其next方法進行記錄遍歷,主要語句如下:
[dataLibraryexecuteUpdate:@"drop table Manager where ID=’M002’ "];
FMResultSet*collectionSet= [dataLibrary execute-Query:@"select answer,sj from selection"]
while?([collectionSet next]){Long*aValue=[collectionSet LongForColumn:@"answer"];
NSDatesjValue=[collectionSetdateForColumn:@"sj"];}
FMResultSet類提供多種格式轉換方法獲取當前記錄對應格式的屬性值。
移動學習是新一代信息技術背景下數字化學習、網絡學習的延伸和拓展,是傳統(tǒng)教學的有效補充和輔助手段,是智慧校園建設重要組成部分,它的開展有助于實現泛在學習、終身學習的構想,移動學習資源的構建是移動學習開展的前提和基礎,移動終端軟件的開發(fā)是移動學習開展的重要環(huán)節(jié)和保障。本文根據移動學習資源構建策略和方案,針對iOS移動平臺講述移動學習終端軟件的設計思路和開發(fā)技術,在具體實施中應充分集成和利用目前已有的各類課程網站、學習資源和平臺,制定合理的移動學習目標和計劃,完善移動學習相關的標準和評價體系,實現真正意義上的無所不在的學習。
[1]黃建軍,張璐.移動學習應用環(huán)境構建研究[J].電化教育研究,2013(7):59-63.
[2]趙慧,史彥.國內移動學習資源研究綜述[J].成人教育,2014(9):28-30.
[3]郭慶春,李靜,寇立群.移動學習的教學資源建設研究[J].陜西廣播電視大學學報,2014(3):13-17.
[4]劉天放.基于iPad平臺的新聞閱讀客戶端的設計與實現[D].北京交通大學,2012:46-50.
[5]何天蘭,楊秀菊.基于Android移動網絡學習平臺的研究[J].智能計算機與應用,2014(8):83-86.