今天的移动通信用户期望从他们的移动设备上得到更多的功能特性,这些移动设备包括了从高端和移动PDA到具有巨大市场的追求价格低廉,方便使用的手机设备。
BREW解决方案
BREW的目标是提供一个高效、低成本,可扩展的应用程序运行环境,尤其将其重点放在开发可无缝移植到虚拟手持设备上,和一些需要足够内存,处理机速度及硬件的高端手持设备不同,BREW运行在目前已存在的手持设备。有了BREW应用程序开发人员可以为这些低成本的手持设备扩展其功能。
BREW所提供一些优点:
- BREW提供了对RAM和固定内存空间, 所有的对象都根据需要载入或卸载。
- BREW提供了一个熟悉的,与Microsoft Window和Macintosh或UNIX X Windows类似的消息驱动模式。
- BREW可以本地化为以适应不同的国家。
- 所有的文件都采用宽字节(双字节),所有的字符都是16-bit长度,BREW同样也提供了对文本的OEM特定的格式。
- 程序开发人员无需了关心底层的平台数据结构和设备驱动,因为BREW提供了各种良好定义的类来实现应用程序与设备之间的交互。
- 可以独立、并行开发模块,从而减少开发和集成时间。
- 模块可以在对象代码级进行集成,从而在于简化了在BREW平台上增加模块的过程。
- BREW支持接收应用程序指定的短消息,比如股票、Email摘要等。
- BREW提供了一些核心类用于与设备之间的交互,包括以下类:
– Shell services
– Time/timers (obtaining current date and time; starting and stopping timers and
alarms)
– Notifications
– Memory management
– File management
– Database management
– Network and sockets
– HTTP
– Download and billing
– User interface controls, including the following:
• Dialogs
• Date controls
• Menu controls
• Text controls
• Time controls
• Static text controls
– Display
– Images (displaying, transformation, animation)
– Graphics
– Multimedia services (media players and recorders for audio and video content)
– Sound (generating ringing, warning sounds, and playing audio files)
– Standard library helper functions
BREW环境
BREW的可扩展的面向对象的应用程序运行环境可用C和C++开发应用程序或共享模块,同时BREW提供了手持设备内存的有效利用和保护。
BREW支持应用程序和共享模块,应用程序和共享模块作为独立的DLL运行时由模拟器载入,共享模块包含了功能库(如增强的Game API)可被多个应用程序调用。BREW应用可在Window操作系统进行模拟开发。
BREW提供一组功能强大的对象技术给开发人员:
- 应用服务支持简单的事件驱动的AEE。
- 核心服务提供了文件访问、网络服务、内存和屏幕访问。
- 增强服务如增强的图像功能、多媒体播放器和录音机以及GPS和语音服务。
- 集成服务,允许应用程序开发人员得到一些诸如浏览器功能。
下面的图示表明了BREW如何提供了一个访问OEM和ASIC软件应用程序和共享模块支持。
BREW模块/接口结构
BREW AEE提供了一组功能明细的服务,包括了几种AEE接口如IShell和IDisplay.每个接口包含了一些资源及对这些资源进行操作的方法,BREW模块可以包含一个或多个应用或类。
使用接口
接口由一个32位的接口ID(类ID)来标识,公用的接口必需使用BREW接口注册表来保留。接口注册表本身并不对如何对接口ID进行赋值有什么约束,它提供了BREW开发人员防止ID冲突的方法。所用的BREW接口都从IBase派生出来。
在使用一个接口之间,必需首先调用IShell接口的成员函数IShell_CreateInstance()来创建该接口的一个实例,注意在没有应用使用该接口要释放该接口资源。