分类:
2010-06-10 14:05:10
(图十一)
源代码文件helloworld.c包括应用的数据结构,创建函数、初始化函数、销毁函数和事件响应函数。通常我们需要修改应用的数据结构、初始化函数、销毁函数和事件响应函数。
应用的数据结构如图十二:
(图十二)
在数据结构中,第一个成员必须是AEEApplet a,不可以用其他成员代替该成员。应用的其他成员应在AEEApplet a之后,除此之外,无其他限制。helloworld暂时不需要其他成员数据。
创建函数:
(图十三)
应用的入口函数,由BREW系统调用,相当于普通C程序的main()函数,通常不需要改动此函数。此函数会对应用进行必要的创建和初始化工作。
初始化函数:
(图十四)
通常由创建函数调用,完成应用的初始化工作。
销毁函数: (图十五) 应用退出时,由BREW系统调用,把应用在初始化和运行中所使用的内存和其他资源进行释放处理。 事件响应处理函数: (图十六) 在事件处理函数中, 一般处理的事件有: EVT_APP_START ---------- 应用开始启动时发送这个事件 EVT_APP_STOP ------- -----应用结束时发送这个事件 EVT_APP_SUSPEND ------应用需要挂起时,比如来电,发送该事件 EVT_APP_RESUME--------挂起结束,比如用户结束通话,发送该事件 EVT_KEY---------------------接收必要的用户按键事件. 用户也可以扩展自己的事件, 比如: #define EVT_TIMER (EVT_USER+1) EVT_USER 是为用户扩展事件而定义的, 跟Windows 编程中的WM_USER *质一样。 使用方法: ISHELL_PostEvent(pIShell,AEECLSID_HELLO, EVT_TIMER, 0,0); ISHELL_SendEvent(pIShell,AEECLSID_HELLO, EVT_TIMER, 0,0); 不同之处在于 PostEvent 只是将事件放入事件队列,等待合适的时机去执行,而SendEvent则马上处理,只有该事件处理完毕该接口调用才算结束。 与Windows编程中的SendMessage和PostMessage用法相似。 如果应用已经处理了事件,应该返回TRUE,否则返回FALSE 一个应用创建后,通常收到的第一个事件是EVT_APP_START,应用从这里开始运行。我们第一个应用helloworld就在这里响应事件,在屏幕上显示“Hello World!”。 (图十七) 红色为添加的代码。编译并在模拟器运行,效果如下: (图十八)