- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mstar平台菜单添加
(以helloworld为例)
1 声明CLSID和程序进入函数
在Mmi_clstbl.h(proj\sc\application\mmi\core)文件中,找到最后一个程序进入函数的声明,在其之后声明我们的程序进入函数,例:MMI_DECLARE_NEW_FUNC(HelloWorldAppNew);
在Mmi_clstbl.h(proj\sc\application\mmi\core)文件中,找到最后一个CLSID在其之后定义helloworld的CLSID,定义时要注意哪个宏所包含的CLSID是起作用的,例:MMI_DEFINE_APPFUNC(CLSID_HELLOWORLDAPP, DUMMY_PRE_NEW) \
将CLSID和函数做连接,在Mmi_clstbl.h(proj\sc\application\mmi\core)文件中找到最后一个,在其之后连接helloworld的CLSID和程序,例:MMI_DEFINE_CLSID(CLSID_HELLOWORLDAPP, HelloWorldAppNew)
2建立helloworld应用程序的目录结构和档案,建立.h和.c文件
在proj\sc\application\mmi\app\路径下新建helloworldapp文件夹以及在helloworld下新建inc和src文件夹,并分别建立helloworld.h和helloworld.c
3将.h和.c文件加入模拟器的仿真文件mmi_app.vcproj文件和AppInCludePath.ini中
在VS仿真模拟器文件中添加.c和.h
在中添加
在中添加
在AppInCludePath.ini中添加.h路径
/I ..\..\..\..\sc\application\mmi\app\HelloWorldApp\inc
4 将.c和.h添加入app.mak
分别找到相关位置添加
REL_SRC_C_LIST += mmi_helloworldapp.c
$(PATH_app)/HelloWorldAPP/inc \
$(PATH_app)/HelloWorldAPP/src \
5 使用XRG..exe添加图片和文字资源
在tools\XRG文件夹下找到XRG..exe,在file中open solution 在proj\sc\customer\default\src\mmi\resource\xmmi_m800f下找到.xml文件
添加字串资源在右键选择string id manager
common右键add—single
ID中输入字串名称
在选择LIL,选择OK,便可以得到ID为字串。
在对应语言中添加描述,以english为例,双击English
在中找到刚刚定义的字串,在中添加描述回车后储存。
添加图片资源,在
proj\sc\customer\default\src\mmi\resource\xmmi_m800f\default\HelloWorldApp_Res\image\QVGA文件夹中添加HELLOWORLD_IMAGE.png
右键点击ADD?single
在中找到刚刚图片添加的地址,
在选择system image
到此字串和图片资源添加完毕,在.c中可使用。
6加入到菜单中
在Mmi_menuitem.h中找到g_GridListMenuData[]并添加
{0, MNU_MAIN_TOOLS, TXT_LIL_N_HELLOWORLDAPP, IMG_NULL_ID, CLSID_HELLOWORLDAPP, 0, ITEM_VISABLE_MASK, {0}},
7退出程序函数
在.c中建立event——callback对应表
BEGIN_EVENTCB_TABLE(g_tEventToFuncCBTbl)
{ MAE_EVT_APP_START, HelloWorldStartCB},
END_EVENTCB_TABLE;
将event——callback对应表传给BaseAppletInit
MAE_Ret HelloWorldAppNew(MAE_ClsId nClsId, void **ppObj)
{
BaseAppletInit(nClsId, ppObj, sizeof(BaseApplet_t), g_tEventToFuncCBTbl);
当按键被按下时程序关闭
boolean HelloWorldKeyPressCB(IApplet *pApplet, u32 nEvt, u32 nParam1, u32 nParam2)
{
SH_CloseApplet(FALSE);
文档评论(0)