BREW1.0的功能有限,而BREW1.1 则丰富了很多。BREW1.1首次引入了安全类服务,ICipher可以简单加解密信息,IHash实现数据的离散化,通过IRSA 实现非对称安全算法。BREW1.1提供了对地址本的支持(IAddrBook和IAddrRec),将地址本作为数据库的特例,同时铃声的支持(IRingerMgr)使BREW应用可以直接将音乐文件设置为手机铃声,更重要的是引入了位置服务接口IPosDet, 极大的丰富了BREW的应用的种类。
内存管理方面,BREW1.1引入了三个新接口IPeek, ISource 和ISourceUtil来处理流数据。针对互联网服务,BREW1.1给出了IWeb,IWebOpts以及IHtmlViewer使应用可以轻松访问互连网上的HTTP服务器并显示基本的HTML页面。BREW1.1中的ILicense接口允许应用能控制自身的用户使用权限,使资费方案更加灵活,而IQueryInterface则提供了获取接口的另一种方法。
在我国,第一商用的版本是2.0。BREW 2.0 开始提供对蓝牙的支持(IBTAG,IBTSDP和IBTSIOPORT),遗憾的是在BREW中可以使用蓝牙功能的手机一直没有在中国上市。在显示方面,IFont可以测量和重绘文字,应用可以针对不同的内容显示不同的字体。
针对多媒体服务,IMedia是BREW中所有多媒体对象的基类。在图像处理方面,通过IBitmap接口可以将内存中的位图直接在屏幕上操作,IDIB继承于IBitmap实现了一个与设备无关的位图结构,ITransform则可以实现对位图缩放、旋转等复杂一些的图像处理。IImageCtl可以在一个带滚动条的框架中浏览图像,并且获得图像的属性信息。ISprite接口实现了类似photoshop中的图层概念,可以方便的叠加和重绘图形。
对于系统服务中的内存管理,IClipboard能够是应用完成标准的copy和paste功能,不同应用间可以使用IClipboard来实现共享内存。IRamCache提供了最近最少使用页面置换算法,是为虚拟页式存储管理服务的,通过堆存储区满足了TTL机制中的缓存功能。内存的虚拟存储管理,是现在最通用,也是最成功的方式—— 在内存有限的情况下,扩展一部分外存作为虚拟内存,真正的内存只存储当前运行时所用得到信息。这无疑扩充了内存的使用效率,极大地提高了CPU的并发度。虚拟页式存储管理,则是将进程所需空间划分为多个页面,内存中只存放当前所需页面,其余页面放入外存的管理方式。另外,BREW 2.X中的IUnzipAStream支持流数据的解压缩和存储。
对于电信服务,IVocoder可以捕捉和播放话音信道鹅的内容以及其他的音频文件。
对于网络服务,IDNS开始联网应用提供 DNS 查询功能。
对于安全服务,BREW2.0开始提供信道安全方法,ISSL支持SSL/TLS的网络连接,IX509Chain被用来管理和验证X.509 的证书链,IHashCTX进一步强化了hash数据的处理功能。也就是说,到了BREW2.0,BREW所提供的9大类服务基本成型。
BREW2.1对于多媒体服务中的三维图像处理提供了支持(I3D,I3DModel和I3DUtil),但由于效果不太理想,在更高版本中废弃了这三个接口。同时,BREW2.1提供了对open GL ES 的支持(图11-11)。
BREW3.x相对于BREW2.x 有了很大的变化,重写了很多接口的内部实现。3.0作为一个过渡版本没有在中国商用,BREW3.1.5是一个稳定的商业版本,而BREW3.1.5SP01则进一步增强了BREW3.1.5的功能并解决了其中存在的一些问题。
多媒体服务方面,IBitmapDev提供了众多的方法来处理设备位图。通信服务方面,IPort提供了一个通用的接口来实现双向数据流的收发。系统服务方面,IAClockCtl允许创建模拟时钟的显示,IRscPool可以管理资源被访问的生命周期。IThread提供了类似多线程的方法,使并行处理更加方便。网络方面,IWebEng允许用户开发自己的协议栈(基于客服端/服务器模式的协议栈)。
文件系统服务方面,爱上支持4GB以上的文件空间,支持MMC/SD等外存卡的读写,统一了图片/音乐/视频/主题/文字/声音/链接文件路径,增加了ACL目录访问权限控制。BREW 3.X中的资源管理提供了控制资源访问的一般方法,能够协调和管理资源的获取和释放,当资源状态发生变化时向注册的相关对象发送通知,并可以动态地判定一个应用使用相关资源时的优先级(图11-12)。
同时,BREW3.X支持复杂短信功能,完全实现短信协议 IS-637。就短信收发而言,可以对短信属性配置和读取接收方号码(MO),发送方号码(MT),时间信息等属性,短信内容包括ASCII,UNICODE和BINARY。就短信管理而言,可以在手机和RUIM卡上存储和读取短信,删除短信,更新短信,实现统一的管理。