EMMI Applet开发指南:生命周期与事件处理

需积分: 9 6 下载量 119 浏览量 更新于2024-08-01 收藏 1.61MB PDF 举报
"EMMI Overview_3_AP Development" 这篇文档主要介绍了EMMI(可能是Embedded Multimedia Middleware Interface)框架下应用开发的相关概念和技术。EMMI是用于MSTAR移动平台的应用程序开发环境,它提供了一套结构化的方式来构建和管理手机上的应用程序。 首先,EMMI Applet是运行在手机上的应用程序实例,如BMI计算、音乐播放器或电子书阅读器等。这些Applet基于事件驱动的编程模型,其生命周期包括了几个关键阶段:初始化(Launcher()和AppNew())、构造(Constructor())、启动回调(StartCB())、事件处理(如KeyPress/XXXCB()、Suspend/ResumeCB())、停止回调(StopCB())以及销毁(Destructor())。每个阶段对应着特定的事件,比如MAE_EVT_APP_START表示应用启动,MAE_EVT_KEY_PRESS则对应按键事件。 接着,Applet的入口点和函数表(FunctionTable)是其核心组成部分。入口点是Applet执行的起始点,而函数表是一个映射,将发生的事件与处理该事件的函数关联起来。例如,当发生按键事件时,系统会调用预先定义的EbookKeyPressCB来处理这个事件。函数表通常作为全局变量定义在Applet的源代码文件(.c文件)中。 在Applet的构造阶段(Construct),开发者通常会进行变量初始化和资源分配。而在StartCallback中,一般会创建Applet的第一个窗口,这通常是用户与Applet交互的界面起点。在示例中提到了MAE_RetEbookConstruct,这可能是一个特定于电子书Applet的构造回调函数,负责设置初始界面。 此外,文档还提到了Window、Dialog、Widget、ViewTemplate (VTM)、Service、Shell、Resource (RS)等组件。Window是显示内容的基本容器,Dialog用于弹出式交互,Widget是一些基本的UI元素(如按钮、文本框),ViewTemplate是预定义的视图布局,Service是后台运行的功能模块,Shell可能指的是应用程序的外壳或管理框架,而Resource则涉及到资源管理,包括图片、字符串等静态内容。ArrayClass和VectorClass是数据结构,用于存储和操作数组和动态集合。 工具部分,文档提到了XRG(可能是图形资源编辑器)、Simulator(模拟器)、DwlWin(可能是下载管理工具)和TMT(可能是一个测试或调试工具)。这些工具对于开发和测试EMMI Applet至关重要,它们可以帮助开发者图形化设计界面、模拟运行环境、管理资源下载和进行功能验证。 EMMI为开发者提供了一个结构化、事件驱动的开发环境,通过一系列接口和工具,使得在MSTAR移动平台上创建和维护应用程序变得更加高效和便捷。