BREW精要之事件驱动模型――事件处理器

AEE执行环境调用BREW 应用自身的事件处理器来传递关于一系列事件的消息。有过windows编程经历的读者都会清楚这种机制,Windows下消息处理机制:当在交互中进行一个操作(信号,输入,等等),windows将产生相应的事件,通过window的事件分发机制,相应的窗口或者应用得到该事件,从而触发相应的事件处理器进行处理。BREW中事件处理机制与其相似,即BREW环境捕捉到事件后,分发到相应的应用或者控件,由应用或者控件的事件处理器进行处理。
以下是 BREW中事件处理器接口的示例:
       boolean MyApp_HandleEvent(IApplet * pIApp,
       AEEEvent eCode,
       uint16 wParam,
       uint32 wParam)
在该示例中,变量 pIApp实际上指明了应用的结构,也就是AEEApplet的一个指针。许多应用将其结构定义为AEEApplet的超集,而pIApp也能指向该结构。
eCode变量是说明应用接收的事件类型,如EVT_APP_STARTEVT_KEYEVT_ALARM等典型事件。
wParamdwParam参数是依据接收的事件而定义的短数据和长数据值。 这些值取决于事件本身,根据事件自身来定义。对于某些事件,短数据和长数据字段中都包含事件数据;而对于另一些事件,长短字段中仅有一个字段,甚至没有字段。两个数据字段均不包含数据的事件有 EVT_APP_STARTEVT_APP_STOPEVT_APP_SUSPENDEVT_APP_RESUME。两个数据字段中都包含数据的典型事件有EVT_DIALOG_STARTEVT_COMMAND。仅在短数据字段中包含数据的典型事件有EVT_ALARM,仅在长数据字段中包含数据的典型事件有EVT_NET_STATUSEVT_CTL_CHANGING
按键事件作为 EVT_KEY 事件发送给应用。短数据字段包含主键代码;比如说如果用户按下按键符合“2”,就包含AVK_2这一主键代码。AVK_2的值由AEEVCodes.h头文件定义。
Emulator中,与按键符号相对应的主键代码由设备配置文件确定,也可经由设备配置器进行修改。在手机上,主键代码由设备厂商决定。

本文出自 “我相信” 博客,转载请与作者联系!

你可能感兴趣的:(职场,brew,休闲,3G移动增值业务)