BREW1.0的功能有限,而B(niǎo)REW1.1 則豐富了很多。BREW1.1首次引入了安全類服務(wù),ICipher可以簡(jiǎn)單加解密信息,IHash實(shí)現(xiàn)數(shù)據(jù)的離散化,通過(guò)IRSA 實(shí)現(xiàn)非對(duì)稱安全算法。BREW1.1提供了對(duì)地址本的支持(IAddrBook和IAddrRec),將地址本作為數(shù)據(jù)庫(kù)的特例,同時(shí)鈴聲的支持(IRingerMgr)使BREW應(yīng)用可以直接將音樂(lè)文件設(shè)置為手機(jī)鈴聲,更重要的是引入了位置服務(wù)接口IPosDet, 極大的豐富了BREW的應(yīng)用的種類。
??????????? 內(nèi)存管理方面,BREW1.1引入了三個(gè)新接口IPeek, ISource 和ISourceUtil來(lái)處理流數(shù)據(jù)。針對(duì)互聯(lián)網(wǎng)服務(wù),BREW1.1給出了IWeb,IWebOpts以及IHtmlViewer使應(yīng)用可以輕松訪問(wèn)互連網(wǎng)上的HTTP服務(wù)器并顯示基本的HTML頁(yè)面。BREW1.1中的ILicense接口允許應(yīng)用能控制自身的用戶使用權(quán)限,使資費(fèi)方案更加靈活,而IQueryInterface則提供了獲取接口的另一種方法。
?
在我國(guó),第一商用的版本是2.0。BREW 2.0 開(kāi)始提供對(duì)藍(lán)牙的支持(IBTAG,IBTSDP和IBTSIOPORT),遺憾的是在BREW中可以使用藍(lán)牙功能的手機(jī)一直沒(méi)有在中國(guó)上市。在顯示方面,IFont可以測(cè)量和重繪文字,應(yīng)用可以針對(duì)不同的內(nèi)容顯示不同的字體。
針對(duì)多媒體服務(wù),IMedia是BREW中所有多媒體對(duì)象的基類。在圖像處理方面,通過(guò)IBitmap接口可以將內(nèi)存中的位圖直接在屏幕上操作,IDIB繼承于IBitmap實(shí)現(xiàn)了一個(gè)與設(shè)備無(wú)關(guān)的位圖結(jié)構(gòu),ITransform則可以實(shí)現(xiàn)對(duì)位圖縮放、旋轉(zhuǎn)等復(fù)雜一些的圖像處理。IImageCtl可以在一個(gè)帶滾動(dòng)條的框架中瀏覽圖像,并且獲得圖像的屬性信息。ISprite接口實(shí)現(xiàn)了類似photoshop中的圖層概念,可以方便的疊加和重繪圖形。
??????????? 對(duì)于系統(tǒng)服務(wù)中的內(nèi)存管理,IClipboard能夠是應(yīng)用完成標(biāo)準(zhǔn)的copy和paste功能,不同應(yīng)用間可以使用IClipboard來(lái)實(shí)現(xiàn)共享內(nèi)存。IRamCache提供了最近最少使用頁(yè)面置換算法,是為虛擬頁(yè)式存儲(chǔ)管理服務(wù)的,通過(guò)堆存儲(chǔ)區(qū)滿足了TTL機(jī)制中的緩存功能。內(nèi)存的虛擬存儲(chǔ)管理,是現(xiàn)在最通用,也是最成功的方式—— 在內(nèi)存有限的情況下,擴(kuò)展一部分外存作為虛擬內(nèi)存,真正的內(nèi)存只存儲(chǔ)當(dāng)前運(yùn)行時(shí)所用得到信息。這無(wú)疑擴(kuò)充了內(nèi)存的使用效率,極大地提高了CPU的并發(fā)度。虛擬頁(yè)式存儲(chǔ)管理,則是將進(jìn)程所需空間劃分為多個(gè)頁(yè)面,內(nèi)存中只存放當(dāng)前所需頁(yè)面,其余頁(yè)面放入外存的管理方式。另外,BREW 2.X中的IUnzipAStream支持流數(shù)據(jù)的解壓縮和存儲(chǔ)。
??????????? 對(duì)于電信服務(wù),IVocoder可以捕捉和播放話音信道鵝的內(nèi)容以及其他的音頻文件。
??????????? 對(duì)于網(wǎng)絡(luò)服務(wù),IDNS開(kāi)始聯(lián)網(wǎng)應(yīng)用提供 DNS 查詢功能。
對(duì)于安全服務(wù),BREW2.0開(kāi)始提供信道安全方法,ISSL支持SSL/TLS的網(wǎng)絡(luò)連接,IX509Chain被用來(lái)管理和驗(yàn)證X.509 的證書(shū)鏈,IHashCTX進(jìn)一步強(qiáng)化了hash數(shù)據(jù)的處理功能。也就是說(shuō),到了BREW2.0,BREW所提供的9大類服務(wù)基本成型。
BREW2.1對(duì)于多媒體服務(wù)中的三維圖像處理提供了支持(I3D,I3DModel和I3DUtil),但由于效果不太理想,在更高版本中廢棄了這三個(gè)接口。同時(shí),BREW2.1提供了對(duì)open GL ES 的支持(圖11-11)。
?
?
?????? BREW3.x相對(duì)于BREW2.x 有了很大的變化,重寫(xiě)了很多接口的內(nèi)部實(shí)現(xiàn)。3.0作為一個(gè)過(guò)渡版本沒(méi)有在中國(guó)商用,BREW3.1.5是一個(gè)穩(wěn)定的商業(yè)版本,而B(niǎo)REW3.1.5SP01則進(jìn)一步增強(qiáng)了BREW3.1.5的功能并解決了其中存在的一些問(wèn)題。
??????????? 多媒體服務(wù)方面,IBitmapDev提供了眾多的方法來(lái)處理設(shè)備位圖。通信服務(wù)方面,IPort提供了一個(gè)通用的接口來(lái)實(shí)現(xiàn)雙向數(shù)據(jù)流的收發(fā)。系統(tǒng)服務(wù)方面,IAClockCtl允許創(chuàng)建模擬時(shí)鐘的顯示,IRscPool可以管理資源被訪問(wèn)的生命周期。IThread提供了類似多線程的方法,使并行處理更加方便。網(wǎng)絡(luò)方面,IWebEng允許用戶開(kāi)發(fā)自己的協(xié)議棧(基于客服端/服務(wù)器模式的協(xié)議棧)。
文件系統(tǒng)服務(wù)方面,愛(ài)上支持4GB以上的文件空間,支持MMC/SD等外存卡的讀寫(xiě),統(tǒng)一了圖片/音樂(lè)/視頻/主題/文字/聲音/鏈接文件路徑,增加了ACL目錄訪問(wèn)權(quán)限控制。BREW 3.X中的資源管理提供了控制資源訪問(wèn)的一般方法,能夠協(xié)調(diào)和管理資源的獲取和釋放,當(dāng)資源狀態(tài)發(fā)生變化時(shí)向注冊(cè)的相關(guān)對(duì)象發(fā)送通知,并可以動(dòng)態(tài)地判定一個(gè)應(yīng)用使用相關(guān)資源時(shí)的優(yōu)先級(jí)(圖11-12)。
同時(shí),BREW3.X支持復(fù)雜短信功能,完全實(shí)現(xiàn)短信協(xié)議 IS-637。就短信收發(fā)而言,可以對(duì)短信屬性配置和讀取接收方號(hào)碼(MO),發(fā)送方號(hào)碼(MT),時(shí)間信息等屬性,短信內(nèi)容包括ASCII,UNICODE和BINARY。就短信管理而言,可以在手機(jī)和RUIM卡上存儲(chǔ)和讀取短信,刪除短信,更新短信,實(shí)現(xiàn)統(tǒng)一的管理。
?
?