摘 要: 為了滿足學習者隨時隨地學習的要求,設計了基于iOS移動學習平臺的微型課件。該設計以微型學習理論為基礎,以Xcode為開發平臺,object-c為開發語言,采用C/S架構和MySQL數據庫,實現了客戶端、服務器、數據庫之間的通信調用,同時完成了在手機端對微型課件的展示。主要實現的微型課件模式分為:文本﹑圖片和視頻。經測試,文本﹑圖片和視頻的響應時間均達到了設計要求,實現了在iOS平臺上學習的目的。
關鍵詞: iOS操作系統;微型課件;移動學習
0 引言
一種全新的學習方式——移動學習(Mobile Learning),作為一種潛在的新型學習方式,可以滿足學習者在任何時間、任何地點獲得任何知識的學習愿望。移動學習需要以微型的媒體來呈現微型的內容,它是指在終身學習的思想指導下,利用現代通信終端,如手機、PDA等設備進行遠程學習。
隨著智能手機用戶總數的大幅提升,手機已成為人們學習的一種工具。iOS作為一款成功的手機系統[1],具有極為人性化的頁面和極為強大性能,因此深受用戶的喜愛。由于iOS采用封閉源碼,因此開發過程較開源系統更為復雜。在這樣的背景下,本文提出的微型課件在iOS平臺上的設計與實現,采用Xcode開發平臺和object-c開發語言,目的在于滿足學習者在iOS平臺上移動學習的需要,同時通過C/S模式,解決手機、PDA等設備無法滿足傳統較大容量課件的存儲需求的問題。
1 iOS技術平臺介紹
1.1 平臺架構
iOS是蘋果公司iPhone、iPod Touch和iPad設備的核心操作系統。與Mac OS X操作系統一樣,iOS也是以Darwin2為基礎,屬于類Unix的商業操作系統。
iOS系統結構分為4層,如圖1所示。
(1)Cocoa Touch層:是Objective-C的API,其中最核心的部分是UIKit.Framework。除UIKit之外,Cocoa Touch包含創建iOS應用程序所需的所有框架。
(2)Media層:提供了圖片、音樂、影片等多媒體功能。圖像分為2D圖像和3D圖像,前者由Quartz2D支持,后者由OpenglES支持。
(3)Core Services層:為所有的應用程序提供基礎系統服務,它包含了Foundation.Framework和Core Foundation.Framework,它在Core OS層基礎上提供了更為豐富的功能,如:處理字串、排列、組合、日歷等。
(4)Core OS層:是在FreeBSD4和Mach5基礎上所改寫的Darwin,是開源、符合POSIX標準的一個Unix核心。
1.2 基本的iOS開發工具
目前常用的iOS開發工具和開發包有:Xcode、iOS模擬器、頁面創建器(Interface Builder)、微技(Widget)等。本設計采用的開發工具為Xcode,開發包為Interface Builder和Widget。
(1)Xcode
Xcode是蘋果公司向開發人員提供的集成開發環境(非開源),用于開發Mac OS X和iOS的應用程序,運行于蘋果公司的Mac操作系統下。Xcode貫穿整個開發應用過程,同時,Xcode為整個過程提供所需的各種工具。
(2)Interface Builder
Interface Builder以所見即所得方式組裝用戶界面。通過Interface Builder可以組裝出應用程序的用戶界面。當用戶界面達到要求后,將其保存為.nib格式。
(3)Widget
在互聯網領域,Widget是一種基于Web技術的小應用,采用HTML/XHTML、CSS、JavaScript等傳統的開發技術[2]。將Widget技術搬到手機上,從而誕生了移動Widget(Mobile Widget)。移動Widget的主要特點有:一次開發、跨平臺運行;在有限的手機屏幕范圍內,用戶可以對界面進行個性化定制。
2 微型課件的設計方法
微型課件的開發主要基于微型學習理論。其設計與實現主要基于iOS平臺,同時采用了C/S架構模式。
2.1 客戶端和服務器端架構
客戶端用于接收用戶請求和顯示返回結果。學習者通過iOS客戶端訪問移動學習資源的入口,調用封裝好的應用程序接口來使用客戶端的各項功能。客戶端主要包括界面呈現、多媒體處理和數據通信等模塊。
本平臺的服務器端采用的是開源TOMCAT。TOMCAT處理客戶端的各種Http請求,并把請求的信息發送給Servlet,Servlet根據請求信息進行處理,并通過數據庫驅動JDBC,訪問MySQL數據庫。Servlet把訪問數據庫得到的數據和最后處理好的結果封裝到相應對象中,發送給TOMCAT,TOMCAT把得到的結果回傳給客戶端。整個架構如圖2所示。
2.2 學習資源數據庫的設計
MySQL是完全網絡化的跨平臺關系型數據庫系統,具有功能強、使用簡便、管理方便、運行速度快、安全可靠性強等優點[3],因此本平臺采用了該數據庫系統。
本著冗余小和擴展性強的原則,設計了如下幾張表:tb_book、tb_chapter、tb_mchip、tb_problem和tb_video。
本數據庫在充分考慮參照完整性的前提下,通過各表之間的關系將多個表結合在一起。根據各個關系之間的聯系,設計出的該數據庫系統實現了數據冗余小且易于功能的擴展。
2.3 微型課件的展示
溫伯格把微內容定義為“小組快、松散連接、一直處于動態重組中的信息單元”[4]。基于這些特征的限定,微型課件的內容可以是小文本、圖片圖像、視頻小片段或小動畫等。本文對微型課件內容的開發以小文本、小圖片、微視頻為主。
2.3.1 文本模式
移動學習是一種非穩定的學習方式,隨時可能因外界的環境變換,使學習處于一種分散、只能接受小容量知識的狀態。而文本的展示優點在于簡潔、說明性強,所以本文以文本的方式將學習的知識點微型模塊化,一個模塊對應一個章節的微型知識點,以此將《多媒體技術與應用教程》的知識點挖掘出來,分解成很多微小的適合于零碎時間學習的知識點。展示圖如圖3所示。
文本模塊的部分代碼如下:
-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath
{static NSString*simpleTableIdentifier=@"CcnuTabCell";
UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if(cell==nil)
{cell=[[UITableViewCell alloc]initWithStyle:
UITableViewCellStyleDefaultreuseIdentifier:
simpleTableIdentifier];}
}
2.3.2 圖片模式
圖片模式下展示知識點,具有具體、直觀、形象、生動的特點,而且可以實現連貫性。因此針對《多媒體技術與應用教程》中軟件工具的使用操作,以微型為主題,采用范圍確定、內容連貫的學習組織方式,設計并實現了圖片學習模式。以清晰易懂為特點,圖片模式的學習將更受歡迎。展示圖如圖4所示。
圖片模塊的部分代碼如下:
serverDic=[[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error]retain];
if(!error)
{bookName=[[NSArray arrayWithObjects:[[serverDic objectAtIndex:0]objectForKey:@"bookName"],
[[serverDic objectAtIndex:1]objectForKey:@"bookName"],nil]retain];
}
2.3.3 視頻模式
將普通長視頻分割成若干個微視頻,每個微視頻中以突出一至兩個中心知識點的形式,不僅緩解了學習者視覺與聽覺疲勞,同時也提高了學習效率。圖5(a)所示為以微知識點為主的教師課堂授課視頻在智能手機中的效果。
播放界面(見圖5(b))下方有一個提問欄,學習者可以隨時提問,服務器根據數據庫中的數據匹配來給予答復,如果問題庫中沒有相應的答案,服務器會記錄下該問題并提交給教師,教師解答問題并更新數據庫。這樣逐步建立起一個針對本書的答疑庫。
視頻模塊的部分代碼如下:
[path appendString:videoPath];
NSURL*url=[NSURL URLWithString:path];
mpcontroller=[[MPMoviePlayerController alloc] initWithContentURL:url];
[self.view addSubview:mpcontroller.view];
mpcontroller.view.frame=CGRectMake(0,0,320,200);
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callbackFunction:);
3 平臺測試
運行結果測試如表1所示。
系統正確實現了各個模塊之間的通信功能和通過數據庫管理基礎數據的功能,同時實現了數據內容的多樣化和中英文界面。
4 結論
本文在iOS平臺上完成了通過智能手機對微型課件的展示,實現了客戶端、服務器、數據庫之間的通信調用。但是,整個系統仍然存在一些不足:可靠性控制不夠嚴密,很多控制是通過頁面控制實現的,如果頁面控制失效,一旦向數據庫插入數據,將引發錯誤,這是需要進一步改進的地方。
iOS開發在國內已經開始流行,其越來越廣泛的應用勢必使iOS開發成為熱點。在今后的學習和研究中,將進一步完成和優化本設計。
參考文獻
[1] KWAK D H, RAMAMURTHY K. iOS resources,electronic cooperation and performance: a conceptual model[C]. The 44th Hawaii International Conference on System Science,Hawaii, 2011:1-10.
[2] 潘標.移動Widget引擎在iOS平臺上的研究與實現[D].成都:電子科技大學,2012.
[3] 李會賢.基于MYSQL/LINUX的LAMOST數據庫設計與實現[J].天文研究與技術,2006,3(1).56-63.
[4] 張浩.微內容環境中的學習者體驗設計初探[J].遠程教育雜志,2009(6):67-70.