劉德強(qiáng)
摘要:隨著現(xiàn)代科技水平的日益提高,手機(jī)等移動(dòng)設(shè)備在人們的生活中的應(yīng)用得越來(lái)越廣泛,這不僅代表著科技的進(jìn)步,更是思想的進(jìn)步,其中目前為止這類產(chǎn)品做的最好是美國(guó)Apple公司,其開發(fā)的iphone、ipad等一系統(tǒng)移動(dòng)產(chǎn)品深受消費(fèi)者的青睞,隨著其產(chǎn)品的廣泛應(yīng)用,在iphone、ipad等產(chǎn)品的應(yīng)用開發(fā)也更適用于現(xiàn)代人的生活。在課堂上常會(huì)有這么一種現(xiàn)象:老師不辭勞苦不停地點(diǎn)擊著鼠標(biāo)去翻動(dòng)PPT或者對(duì)PPT進(jìn)行涂鴉操作,這使得老師或者其他使用PPT的人十分吃力,也不符合現(xiàn)代人的生活習(xí)慣,因此如果能在手機(jī)上操作PPT,這就會(huì)使得教學(xué)等變得十分容易。本次研究的項(xiàng)目就是在MAC OS X系統(tǒng)中進(jìn)行開發(fā)針對(duì)PPT的課件演示系統(tǒng)。
關(guān)鍵詞:MAC OS X;課件演示系統(tǒng);設(shè)計(jì);應(yīng)用
中圖分類號(hào):TP37 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)01-0202-02
1 背景及意義
目前,普通高校的課件還是以基于Windows上的PPT為主,它的技術(shù)相對(duì)比較成熟,制作起來(lái)也很容易,但是,隨著iphone等移動(dòng)設(shè)備[1]的日益推廣,研究發(fā)現(xiàn),人們?cè)絹?lái)越希望通過移動(dòng)設(shè)備去控制圖片、文字或流媒體的顯示,這種技術(shù)簡(jiǎn)稱遠(yuǎn)程控制技術(shù),遠(yuǎn)程控制技術(shù)是未來(lái)互聯(lián)網(wǎng)的發(fā)展趨勢(shì),如何實(shí)現(xiàn)用手機(jī)去控制課件演示就有了非常實(shí)際的意義。
基于MAC OS X的課件演示系統(tǒng)可以使課堂的教學(xué)方式更加多元化,這將改變傳統(tǒng)的人機(jī)控制模式,轉(zhuǎn)而采用遠(yuǎn)程控制的操作課件,從而使得教師有更多的時(shí)間和同學(xué)進(jìn)行互動(dòng),加快高校課堂教學(xué)多元化的進(jìn)程,使老師和學(xué)生共享高科技帶來(lái)的好處,在一定程度上可以激發(fā)同學(xué)們的創(chuàng)造力,讓更多的學(xué)生投入到創(chuàng)新的發(fā)展中去,從而加快我國(guó)的高科技發(fā)展之路。其次,它還可以為MAC OS X平臺(tái)上的應(yīng)用開發(fā)工作提供相關(guān)的借鑒經(jīng)驗(yàn),并且對(duì)于SOCKET通信的原理進(jìn)行了深入的剖析。最后,可以為國(guó)內(nèi)移動(dòng)設(shè)備的應(yīng)用開發(fā)工作做一些貢獻(xiàn)。
2 總體結(jié)構(gòu)
本系統(tǒng)為C/S架構(gòu),根據(jù)C/S架構(gòu)的特點(diǎn),需要分別建立服務(wù)端和客戶端。在本項(xiàng)目中,服務(wù)端的主要任務(wù)是向客戶端發(fā)送數(shù)據(jù),數(shù)據(jù)包括兩種,分別為圖片和命令,圖片以字節(jié)的形式發(fā)送到服務(wù)端,命令以特定格式的字符串形式發(fā)送到服務(wù)端。
3 模塊劃分
本系統(tǒng)共分為三個(gè)模塊,具有獨(dú)立的模塊的軟件比較容易開發(fā)出來(lái)。這是由于能夠分割功能而且接口可以簡(jiǎn)化,當(dāng)許多人分工合作開發(fā)同一個(gè)軟件時(shí),這個(gè)優(yōu)點(diǎn)尤其重要。 獨(dú)立的模塊比較容易測(cè)試和維護(hù),具體見圖1所示。
根據(jù)需求調(diào)研結(jié)果,該系統(tǒng)共分為發(fā)送數(shù)據(jù)模塊,接收數(shù)據(jù)模塊和圖片展示模塊。其中發(fā)送數(shù)據(jù)模塊包括發(fā)送圖片與發(fā)送命令兩個(gè)部分,同樣,接收數(shù)據(jù)模塊也分為接收?qǐng)D片和命令兩個(gè)模塊。下面的功能性需求分析就從這幾個(gè)方面詳細(xì)描述課件演示系統(tǒng)的需求調(diào)研結(jié)果。
3.1 發(fā)送數(shù)據(jù)模塊
發(fā)送數(shù)據(jù)模塊是本系統(tǒng)的主要模塊之一,它主要負(fù)責(zé)客戶端和服務(wù)端的通信,根據(jù)數(shù)據(jù)發(fā)送的格式的不同,可以分為發(fā)送圖片數(shù)據(jù)和命令數(shù)據(jù)兩種發(fā)送方式,同時(shí),服務(wù)端在接收時(shí)也要遵循這兩種格式進(jìn)行接收。將發(fā)送數(shù)據(jù)的命令和圖片進(jìn)行分開主要是兩者的數(shù)據(jù)量不一樣,而且接收方式也應(yīng)該有所區(qū)別,圖片可以采取多線程接收,這樣也可以提高系統(tǒng)運(yùn)行的速度。發(fā)送數(shù)據(jù)首先要確定發(fā)送數(shù)據(jù)的流程,這里首先發(fā)送的是圖片的數(shù)量,然后再將客戶端的圖片一張張傳送到服務(wù)端,如果傳送失敗的話還需要對(duì)其進(jìn)行選擇重傳,以保證通信的質(zhì)量。雖然發(fā)送數(shù)據(jù)的形式可能不太一樣,但具有的步驟大同小異,這里對(duì)發(fā)送數(shù)據(jù)的流程進(jìn)行了分析,其一般過程是先建立連接,然后發(fā)送命令或者數(shù)據(jù),最后等待對(duì)方的接收完畢的確認(rèn)信息,這種流程在一般的應(yīng)用程度開發(fā)中是非常普通的,因此也有一定的借鑒意義。為了更好地了解發(fā)送數(shù)據(jù)的一般過程,這里對(duì)流程進(jìn)行繪圖,具體的結(jié)果見圖3。
發(fā)送數(shù)據(jù)的流程圖如圖2所示,發(fā)送數(shù)據(jù)的第一步是建立連接,在客戶端和服務(wù)端的連接建立成功后,客戶端先將圖片的數(shù)量發(fā)送到服務(wù)端,在服務(wù)端確認(rèn)接收后再將圖片一張張傳送過去,由于一般來(lái)說圖片的大小不過超過2M,因此直接將圖片轉(zhuǎn)化為字節(jié)的形式一次性傳送過去,同樣,在服務(wù)端,先接收?qǐng)D片的數(shù)量,然后用多線程的方式去接收每一張圖片。
3.2 接收數(shù)據(jù)模塊
接收數(shù)據(jù)也是系統(tǒng)的一個(gè)重要模塊,其業(yè)務(wù)流程收發(fā)送數(shù)據(jù)的流程決定,由發(fā)送數(shù)據(jù)模塊的分析可以看出,接收數(shù)據(jù)分析圖片數(shù)據(jù)和字符串?dāng)?shù)據(jù)兩種,其根本區(qū)別是兩種數(shù)據(jù)的形式不同,圖片數(shù)據(jù)為字節(jié)流數(shù)據(jù),而字符串而為一般的字符數(shù)據(jù),因此在接收時(shí)需要進(jìn)行解析,以確定到底是圖片數(shù)據(jù)還是字符串?dāng)?shù)據(jù),圖3.5為接收數(shù)據(jù)的流程圖。它可以有效地反應(yīng)接收數(shù)據(jù)時(shí)客戶端和服務(wù)端的具體流程,也就為問題的解決提供一些思路,因此需要進(jìn)行仔細(xì)的分析和設(shè)計(jì)。接收數(shù)據(jù)的流程一方面來(lái)自老師的操作流程,另一方面是根據(jù)特定語(yǔ)言或者操作的具體方案進(jìn)行設(shè)計(jì),在分析和設(shè)計(jì)的過程,還進(jìn)行了不斷地改進(jìn),這樣就使得整個(gè)流程不會(huì)出現(xiàn)錯(cuò)誤。另外,接收數(shù)據(jù)后如果有需要還應(yīng)向客戶端發(fā)送接收完畢的確認(rèn)信息,以便客戶端不會(huì)長(zhǎng)久地處于等狀態(tài),這樣在設(shè)計(jì)時(shí)就可以避免開發(fā)中出現(xiàn)的一些問題,業(yè)務(wù)流程不夠清晰等。
3.3 圖片展示模塊
服務(wù)端在接收?qǐng)D片完成之后,對(duì)圖片進(jìn)行展示。這里用到的是MT4J的技術(shù),在MT4J中新建一個(gè)場(chǎng)景,場(chǎng)景中添加所要展示的圖片,然后等待客戶端的命令,在需要對(duì)展示的圖片進(jìn)行改變時(shí),去除場(chǎng)景中的圖片并展示新的圖片,這樣圖片在展示時(shí)就會(huì)更加流暢。圖片展示是服務(wù)端對(duì)所接收的圖片進(jìn)行展示并根據(jù)命令改變所要展示的圖片,具體命令有上一張和下一張的命令。
在接收?qǐng)D片完成后就需要對(duì)圖片進(jìn)行展示,最好采用全屏的方式進(jìn)行展示,這就需要用到圖片瀏覽器,可以動(dòng)態(tài)地改變所要展示的圖片,圖片在展示時(shí)有其他的端口監(jiān)聽客戶端的命令,如上一張圖片或者下一張圖片的命令,在接收到命令后,圖片瀏覽器用新的圖片替換原來(lái)的圖片,這樣就可以出現(xiàn)動(dòng)態(tài)改變的效果。
4 結(jié)論
課件演示系統(tǒng)的實(shí)現(xiàn)可以使現(xiàn)代科技走進(jìn)課堂,具有鮮明的時(shí)代特色,可以加強(qiáng)老師與學(xué)生間的互動(dòng),從而使課堂內(nèi)容的展示更加多元化,提高了課堂效率,相信隨著移動(dòng)時(shí)代的來(lái)臨,總有一天大學(xué)的課堂會(huì)有越來(lái)越多的高科技元素。
課件演示系統(tǒng)對(duì)于移動(dòng)設(shè)備上應(yīng)用程序的開發(fā)也有著非常好的借鑒作用,其他的開發(fā)人員在MAC OS X平臺(tái)上開發(fā)時(shí)有了成功的經(jīng)驗(yàn)可循,開發(fā)工作也就變得更加容易。這是本系統(tǒng)開發(fā)的一個(gè)優(yōu)點(diǎn),同時(shí)它還支持?jǐn)U展,為以后的開發(fā)也留有接口,在已有的基礎(chǔ)之上,可以對(duì)本系統(tǒng)進(jìn)行進(jìn)一步的開發(fā),如在大屏幕的多點(diǎn)觸摸等。
本系統(tǒng)應(yīng)用了MAC OS X和Eclipse平臺(tái)進(jìn)行開發(fā),綜合使用了XCode、Socket通信技術(shù),另外還使用到了開源框架MT4J,這對(duì)于開源框架的應(yīng)用起到了一定的推動(dòng)作用。當(dāng)然本系統(tǒng)還存在一些不足之外,如對(duì)于iphone上手勢(shì)的應(yīng)用還不成熟,限于時(shí)間關(guān)系,在以后的工作中還需要不斷地進(jìn)行改進(jìn),以使整個(gè)系統(tǒng)更加人性化,增強(qiáng)系統(tǒng)的健壯性。另外,本系統(tǒng)經(jīng)過黑盒和白盒測(cè)試后,沒有出現(xiàn)BUG,可以使用。相信總有一天,高科技的產(chǎn)品會(huì)更快地應(yīng)用到課堂中,從而使得課堂的教學(xué)更加多元化。
參考文獻(xiàn):
[1] 張靜,康波.基于iPhone的增強(qiáng)現(xiàn)實(shí)技術(shù)的研究與應(yīng)用[J].電子科技大學(xué),2010(11):3-30.
[2] 陳靜,吳信才,張發(fā)勇,等.基于WebGIS的iPhone應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009(12):10-23.
[3] 嘉菲.滑動(dòng)你的手指——仿iPhone應(yīng)用軟件S2U2、S2V、S2P[J].數(shù)字通信,2008(2):23-32.
[4] 長(zhǎng)生.iPhone新應(yīng)用查看你的鄰居有多富有和節(jié)儉[J].程序員,2010(9):10-38.
[5] 楊光斌,王伊諾.Gale公司推出一項(xiàng)針對(duì)圖書館的iPhone應(yīng)用[J].現(xiàn)代圖書情報(bào)技術(shù),2009(12):8-24.
[6] 楊正洪.IPHONE 4應(yīng)用程序開發(fā)入門與實(shí)戰(zhàn)[M].清華大學(xué)出版社,2011(2):18-21.
[7] 達(dá)德尼,亞當(dāng)森.iPhone SDK 3開發(fā)指南[M].電子工業(yè)出版社,2010:22-24.
[8] 納森.AppStore掘金——iPhone SDK應(yīng)用程序開發(fā)[M].人民郵電出版社,2010:43-46.
[9] Dan Pilone、Tracey Pilone[M] 深入淺出iPhone開發(fā)[M].東南大學(xué)出版社,2010:31-35.
[10] 科施恩. Objective-C2.0程序設(shè)計(jì)[M].機(jī)械工業(yè)出版社,2009:51-55.
[11] Pan Xiao-dong.Research of iphone application UI design based on children cognition feature Art and Design Institute[C].CAID&CD,2010:200-211.