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