摘 要: 為了滿足學(xué)習(xí)者隨時隨地學(xué)習(xí)的要求,設(shè)計了基于iOS移動學(xué)習(xí)平臺的微型課件。該設(shè)計以微型學(xué)習(xí)理論為基礎(chǔ),以Xcode為開發(fā)平臺,object-c為開發(fā)語言,采用C/S架構(gòu)和MySQL數(shù)據(jù)庫,實現(xiàn)了客戶端、服務(wù)器、數(shù)據(jù)庫之間的通信調(diào)用,同時完成了在手機(jī)端對微型課件的展示。主要實現(xiàn)的微型課件模式分為:文本﹑圖片和視頻。經(jīng)測試,文本﹑圖片和視頻的響應(yīng)時間均達(dá)到了設(shè)計要求,實現(xiàn)了在iOS平臺上學(xué)習(xí)的目的。
關(guān)鍵詞: iOS操作系統(tǒng);微型課件;移動學(xué)習(xí)
0 引言
一種全新的學(xué)習(xí)方式——移動學(xué)習(xí)(Mobile Learning),作為一種潛在的新型學(xué)習(xí)方式,可以滿足學(xué)習(xí)者在任何時間、任何地點(diǎn)獲得任何知識的學(xué)習(xí)愿望。移動學(xué)習(xí)需要以微型的媒體來呈現(xiàn)微型的內(nèi)容,它是指在終身學(xué)習(xí)的思想指導(dǎo)下,利用現(xiàn)代通信終端,如手機(jī)、PDA等設(shè)備進(jìn)行遠(yuǎn)程學(xué)習(xí)。
隨著智能手機(jī)用戶總數(shù)的大幅提升,手機(jī)已成為人們學(xué)習(xí)的一種工具。iOS作為一款成功的手機(jī)系統(tǒng)[1],具有極為人性化的頁面和極為強(qiáng)大性能,因此深受用戶的喜愛。由于iOS采用封閉源碼,因此開發(fā)過程較開源系統(tǒng)更為復(fù)雜。在這樣的背景下,本文提出的微型課件在iOS平臺上的設(shè)計與實現(xiàn),采用Xcode開發(fā)平臺和object-c開發(fā)語言,目的在于滿足學(xué)習(xí)者在iOS平臺上移動學(xué)習(xí)的需要,同時通過C/S模式,解決手機(jī)、PDA等設(shè)備無法滿足傳統(tǒng)較大容量課件的存儲需求的問題。
1 iOS技術(shù)平臺介紹
1.1 平臺架構(gòu)
iOS是蘋果公司iPhone、iPod Touch和iPad設(shè)備的核心操作系統(tǒng)。與Mac OS X操作系統(tǒng)一樣,iOS也是以Darwin2為基礎(chǔ),屬于類Unix的商業(yè)操作系統(tǒng)。
iOS系統(tǒng)結(jié)構(gòu)分為4層,如圖1所示。
?。?)Cocoa Touch層:是Objective-C的API,其中最核心的部分是UIKit.Framework。除UIKit之外,Cocoa Touch包含創(chuàng)建iOS應(yīng)用程序所需的所有框架。
(2)Media層:提供了圖片、音樂、影片等多媒體功能。圖像分為2D圖像和3D圖像,前者由Quartz2D支持,后者由OpenglES支持。
?。?)Core Services層:為所有的應(yīng)用程序提供基礎(chǔ)系統(tǒng)服務(wù),它包含了Foundation.Framework和Core Foundation.Framework,它在Core OS層基礎(chǔ)上提供了更為豐富的功能,如:處理字串、排列、組合、日歷等。
?。?)Core OS層:是在FreeBSD4和Mach5基礎(chǔ)上所改寫的Darwin,是開源、符合POSIX標(biāo)準(zhǔn)的一個Unix核心。
1.2 基本的iOS開發(fā)工具
目前常用的iOS開發(fā)工具和開發(fā)包有:Xcode、iOS模擬器、頁面創(chuàng)建器(Interface Builder)、微技(Widget)等。本設(shè)計采用的開發(fā)工具為Xcode,開發(fā)包為Interface Builder和Widget。
(1)Xcode
Xcode是蘋果公司向開發(fā)人員提供的集成開發(fā)環(huán)境(非開源),用于開發(fā)Mac OS X和iOS的應(yīng)用程序,運(yùn)行于蘋果公司的Mac操作系統(tǒng)下。Xcode貫穿整個開發(fā)應(yīng)用過程,同時,Xcode為整個過程提供所需的各種工具。
?。?)Interface Builder
Interface Builder以所見即所得方式組裝用戶界面。通過Interface Builder可以組裝出應(yīng)用程序的用戶界面。當(dāng)用戶界面達(dá)到要求后,將其保存為.nib格式。
(3)Widget
在互聯(lián)網(wǎng)領(lǐng)域,Widget是一種基于Web技術(shù)的小應(yīng)用,采用HTML/XHTML、CSS、JavaScript等傳統(tǒng)的開發(fā)技術(shù)[2]。將Widget技術(shù)搬到手機(jī)上,從而誕生了移動Widget(Mobile Widget)。移動Widget的主要特點(diǎn)有:一次開發(fā)、跨平臺運(yùn)行;在有限的手機(jī)屏幕范圍內(nèi),用戶可以對界面進(jìn)行個性化定制。
2 微型課件的設(shè)計方法
微型課件的開發(fā)主要基于微型學(xué)習(xí)理論。其設(shè)計與實現(xiàn)主要基于iOS平臺,同時采用了C/S架構(gòu)模式。
2.1 客戶端和服務(wù)器端架構(gòu)
客戶端用于接收用戶請求和顯示返回結(jié)果。學(xué)習(xí)者通過iOS客戶端訪問移動學(xué)習(xí)資源的入口,調(diào)用封裝好的應(yīng)用程序接口來使用客戶端的各項功能??蛻舳酥饕ń缑娉尸F(xiàn)、多媒體處理和數(shù)據(jù)通信等模塊。
本平臺的服務(wù)器端采用的是開源TOMCAT。TOMCAT處理客戶端的各種Http請求,并把請求的信息發(fā)送給Servlet,Servlet根據(jù)請求信息進(jìn)行處理,并通過數(shù)據(jù)庫驅(qū)動JDBC,訪問MySQL數(shù)據(jù)庫。Servlet把訪問數(shù)據(jù)庫得到的數(shù)據(jù)和最后處理好的結(jié)果封裝到相應(yīng)對象中,發(fā)送給TOMCAT,TOMCAT把得到的結(jié)果回傳給客戶端。整個架構(gòu)如圖2所示。
2.2 學(xué)習(xí)資源數(shù)據(jù)庫的設(shè)計
MySQL是完全網(wǎng)絡(luò)化的跨平臺關(guān)系型數(shù)據(jù)庫系統(tǒng),具有功能強(qiáng)、使用簡便、管理方便、運(yùn)行速度快、安全可靠性強(qiáng)等優(yōu)點(diǎn)[3],因此本平臺采用了該數(shù)據(jù)庫系統(tǒng)。
本著冗余小和擴(kuò)展性強(qiáng)的原則,設(shè)計了如下幾張表:tb_book、tb_chapter、tb_mchip、tb_problem和tb_video。
本數(shù)據(jù)庫在充分考慮參照完整性的前提下,通過各表之間的關(guān)系將多個表結(jié)合在一起。根據(jù)各個關(guān)系之間的聯(lián)系,設(shè)計出的該數(shù)據(jù)庫系統(tǒng)實現(xiàn)了數(shù)據(jù)冗余小且易于功能的擴(kuò)展。
2.3 微型課件的展示
溫伯格把微內(nèi)容定義為“小組快、松散連接、一直處于動態(tài)重組中的信息單元”[4]?;谶@些特征的限定,微型課件的內(nèi)容可以是小文本、圖片圖像、視頻小片段或小動畫等。本文對微型課件內(nèi)容的開發(fā)以小文本、小圖片、微視頻為主。
2.3.1 文本模式
移動學(xué)習(xí)是一種非穩(wěn)定的學(xué)習(xí)方式,隨時可能因外界的環(huán)境變換,使學(xué)習(xí)處于一種分散、只能接受小容量知識的狀態(tài)。而文本的展示優(yōu)點(diǎn)在于簡潔、說明性強(qiáng),所以本文以文本的方式將學(xué)習(xí)的知識點(diǎn)微型模塊化,一個模塊對應(yīng)一個章節(jié)的微型知識點(diǎn),以此將《多媒體技術(shù)與應(yīng)用教程》的知識點(diǎn)挖掘出來,分解成很多微小的適合于零碎時間學(xué)習(xí)的知識點(diǎn)。展示圖如圖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 圖片模式
圖片模式下展示知識點(diǎn),具有具體、直觀、形象、生動的特點(diǎn),而且可以實現(xiàn)連貫性。因此針對《多媒體技術(shù)與應(yīng)用教程》中軟件工具的使用操作,以微型為主題,采用范圍確定、內(nèi)容連貫的學(xué)習(xí)組織方式,設(shè)計并實現(xiàn)了圖片學(xué)習(xí)模式。以清晰易懂為特點(diǎn),圖片模式的學(xué)習(xí)將更受歡迎。展示圖如圖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 視頻模式
將普通長視頻分割成若干個微視頻,每個微視頻中以突出一至兩個中心知識點(diǎn)的形式,不僅緩解了學(xué)習(xí)者視覺與聽覺疲勞,同時也提高了學(xué)習(xí)效率。圖5(a)所示為以微知識點(diǎn)為主的教師課堂授課視頻在智能手機(jī)中的效果。
播放界面(見圖5(b))下方有一個提問欄,學(xué)習(xí)者可以隨時提問,服務(wù)器根據(jù)數(shù)據(jù)庫中的數(shù)據(jù)匹配來給予答復(fù),如果問題庫中沒有相應(yīng)的答案,服務(wù)器會記錄下該問題并提交給教師,教師解答問題并更新數(shù)據(jù)庫。這樣逐步建立起一個針對本書的答疑庫。
視頻模塊的部分代碼如下:
[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 平臺測試
運(yùn)行結(jié)果測試如表1所示。
系統(tǒng)正確實現(xiàn)了各個模塊之間的通信功能和通過數(shù)據(jù)庫管理基礎(chǔ)數(shù)據(jù)的功能,同時實現(xiàn)了數(shù)據(jù)內(nèi)容的多樣化和中英文界面。
4 結(jié)論
本文在iOS平臺上完成了通過智能手機(jī)對微型課件的展示,實現(xiàn)了客戶端、服務(wù)器、數(shù)據(jù)庫之間的通信調(diào)用。但是,整個系統(tǒng)仍然存在一些不足:可靠性控制不夠嚴(yán)密,很多控制是通過頁面控制實現(xiàn)的,如果頁面控制失效,一旦向數(shù)據(jù)庫插入數(shù)據(jù),將引發(fā)錯誤,這是需要進(jìn)一步改進(jìn)的地方。
iOS開發(fā)在國內(nèi)已經(jīng)開始流行,其越來越廣泛的應(yīng)用勢必使iOS開發(fā)成為熱點(diǎn)。在今后的學(xué)習(xí)和研究中,將進(jìn)一步完成和優(yōu)化本設(shè)計。
參考文獻(xiàn)
[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] 潘標(biāo).移動Widget引擎在iOS平臺上的研究與實現(xiàn)[D].成都:電子科技大學(xué),2012.
[3] 李會賢.基于MYSQL/LINUX的LAMOST數(shù)據(jù)庫設(shè)計與實現(xiàn)[J].天文研究與技術(shù),2006,3(1).56-63.
[4] 張浩.微內(nèi)容環(huán)境中的學(xué)習(xí)者體驗設(shè)計初探[J].遠(yuǎn)程教育雜志,2009(6):67-70.