基于BREW平臺(tái)的手機(jī)游戲開(kāi)發(fā)
1 引言
手機(jī)已不僅是語(yǔ)音通信的工具,而且逐步成為數(shù)據(jù)業(yè)務(wù)開(kāi)發(fā)與應(yīng)用的平臺(tái),中國(guó)聯(lián)通已多次宣布在其CDMA 1X通信網(wǎng)絡(luò)上采用BREW和無(wú)線(xiàn)Java技術(shù)來(lái)提供數(shù)據(jù)增殖服務(wù),毋庸回避,BREW與無(wú)線(xiàn)Java在增殖服務(wù)方面是相互競(jìng)爭(zhēng)的,盡管各有特點(diǎn),兩者還是提供了相似的服務(wù)類(lèi)型,聯(lián)通決定采用BREW和Java兩套平臺(tái),是考慮了技術(shù)、管理、投資、經(jīng)營(yíng)、政治、經(jīng)濟(jì)、文化等諸方面因素的綜合決策。
BREW的技術(shù)優(yōu)勢(shì)在于基于C/C++語(yǔ)言進(jìn)行的平臺(tái)開(kāi)發(fā)對(duì)于許多程序員來(lái)講均十分熟悉,移動(dòng)設(shè)備制造商無(wú)需再開(kāi)發(fā)專(zhuān)有的軟件平臺(tái),可降低移動(dòng)設(shè)備技術(shù)門(mén)檻及產(chǎn)品上市門(mén)檻,滿(mǎn)足終端用戶(hù)對(duì)最新數(shù)據(jù)應(yīng)用的需求,而Java的軟件方面服務(wù)應(yīng)用較少,在硬件方面目前支持J2ME的移動(dòng)設(shè)備價(jià)格較高,處理速度較慢。
BREW是高通公司提供的端到端的無(wú)線(xiàn)應(yīng)用開(kāi)發(fā)、設(shè)備配置、應(yīng)用分發(fā)、計(jì)費(fèi)和支付的解決方案,借助BREW技術(shù),用戶(hù)可以隨時(shí)隨地地從網(wǎng)上下載自己喜愛(ài)的各種應(yīng)用,定制自己的手機(jī)功能使之更具個(gè)性化,因此,在當(dāng)前移動(dòng)數(shù)據(jù)應(yīng)用的大眾消費(fèi)中,BREW正扮演著越來(lái)越引入注目的角色,應(yīng)用步伐也在加快。
2 BREW簡(jiǎn)介
BREW就是無(wú)線(xiàn)二進(jìn)制運(yùn)行環(huán)境(Binary Runtime Environment for wireless),他是高通公司2001年推出的基于CDMA網(wǎng)絡(luò)"無(wú)線(xiàn)互聯(lián)網(wǎng)發(fā)射平臺(tái)"上增殖業(yè)務(wù)開(kāi)發(fā)運(yùn)行的基本平臺(tái)。
他提供一個(gè)高效、低成本、可擴(kuò)展和熟悉的應(yīng)用程序執(zhí)行環(huán)境(AEE),著重開(kāi)發(fā)可無(wú)縫植入任何實(shí)際手持設(shè)備的應(yīng)用程序,與建立在對(duì)內(nèi)存空間、處理器速度和相關(guān)硬件有較高要求的操作系統(tǒng)之上的高端產(chǎn)品不同,BREW在現(xiàn)有的設(shè)備類(lèi)型上運(yùn)行。傳統(tǒng)上,人們熱衷于能否利用高速ASIC(特定用途集成電路)技術(shù)實(shí)現(xiàn)新的應(yīng)用功能,甚至在低端設(shè)備上,要使用更多的功能則需要無(wú)縫集成?,F(xiàn)在,BREW提供的功能環(huán)境就好象PC機(jī)上的操作系統(tǒng)一樣,可以通過(guò)服務(wù)提供商下載指定類(lèi)型的應(yīng)用程序或游戲來(lái)使用,同時(shí),通過(guò)BREW接口功能,供應(yīng)商可以提供成套完整的資訊、商務(wù)、娛樂(lè)功能,在將來(lái)的版本中,BREW內(nèi)核類(lèi)將能提供諸如藍(lán)牙技術(shù)、全球定位系統(tǒng)(GPS)和基于數(shù)據(jù)業(yè)務(wù)的電話(huà)等服務(wù)。
BREW提供了一套應(yīng)用程序接口(API),制造商和開(kāi)發(fā)人員可以隨時(shí)對(duì)運(yùn)行環(huán)境進(jìn)行擴(kuò)展,提供應(yīng)用程序需要的各種附加性能模塊,如"無(wú)線(xiàn)互聯(lián)網(wǎng)發(fā)射平臺(tái)"中包含的多媒體、多種連接方式、位置服務(wù)、用戶(hù)界面、網(wǎng)絡(luò)等功能套件。
BREW體系結(jié)構(gòu)
BREW應(yīng)用程序接口(BREW API):BREW的API以一組接口類(lèi)的方式組織起來(lái),每個(gè)類(lèi)定義提供某一特定服務(wù)的一組函數(shù),使開(kāi)發(fā)商無(wú)需了解設(shè)備的內(nèi)部機(jī)理也能從事無(wú)線(xiàn)應(yīng)用的開(kāi)發(fā)。
BREW軟件開(kāi)發(fā)包(BREW SDK),其中BREW SDK主要包括:
BREW MIF編輯器(BREW MIF Editor)用來(lái)生成模塊信息文件,在MIF中包含該模塊支持的類(lèi)和小程序的信息,BREW中的所有類(lèi)、小程序必須擁有一個(gè)唯一的ClassID,即標(biāo)識(shí)符。
PBREW資源編譯器(BREW Resource Editor)用于創(chuàng)建應(yīng)用程序的資源,包括字符串、圖片、對(duì)話(huà)框。
BREW應(yīng)用執(zhí)行環(huán)境(BMEW AEE)是一個(gè)可充分?jǐn)U展的,面向?qū)ο蟮膽?yīng)用程序開(kāi)發(fā)和執(zhí)行環(huán)境,該環(huán)境提供一個(gè)使用C或C++開(kāi)發(fā)小程序和共享模塊的平臺(tái),除了向應(yīng)用提供BREW API服務(wù),AEE同時(shí)管理應(yīng)用領(lǐng)域的執(zhí)行,及時(shí)響應(yīng)用戶(hù)和一些緊急事件。
BREW Emulater用于模擬選定的手持設(shè)備,可以加載BREW環(huán)境下開(kāi)發(fā)的測(cè)試小程序和類(lèi)。
4 BREW開(kāi)發(fā)實(shí)例
下面介紹一個(gè)以BREW技術(shù)在VC6.0下開(kāi)發(fā)的紙牌游戲。
4.1 MIF的創(chuàng)建
在VC6.0下通過(guò)BREW Application Wizard建立一個(gè)BREW工程,并建立相應(yīng)的MIF文件(見(jiàn)圖1)
紙牌游戲相關(guān)字符串的建立如圖2所示。
紙牌相關(guān)圖片的建立(見(jiàn)圖3)。
創(chuàng)建實(shí)例:
BREW應(yīng)用程序模型是基于事件驅(qū)動(dòng)的引擎,加載小程序以后,小程序?qū)⑼苿?dòng)HandleEvent函數(shù)收到的事件接收所有輸入信息。
由于BREW是一個(gè)事件驅(qū)動(dòng)環(huán)境,因此要求及時(shí)處理事件,這意味著小程序應(yīng)該迅速處理事件并立即返回,BREW將事件傳遞給小程序時(shí),小程序會(huì)通過(guò)返回TRUE(已處理)或FALSE(未處理)指示是否已處理事件。如果小程序必須將事件傳遞給其他事件處理程序(如控件),他只需返回調(diào)用的結(jié)果。
事件處理函數(shù):
4.4 仿真和編譯
程序完成后,在VC下編譯生成DLL文件,然后在BREW Emulater上仿真運(yùn)行,如圖4所示,最后將應(yīng)用程序編譯為手機(jī)版本,其使能成功地在手機(jī)上運(yùn)行。
5 結(jié)語(yǔ)
高通公司推出的BREW解決方案,為移動(dòng)數(shù)據(jù)業(yè)務(wù)的開(kāi)發(fā)提供了一個(gè)嶄新的平臺(tái),目前運(yùn)營(yíng)商已經(jīng)能通過(guò)其CDMA2000 1X服務(wù)向用戶(hù)提供多種引人入勝的BREW無(wú)線(xiàn)應(yīng)用,我們相信BREW將給用戶(hù)提供越來(lái)越多的無(wú)線(xiàn)數(shù)據(jù)應(yīng)用和服務(wù),帶給大家更多的享受和便利。
評(píng)論