10A变化很大,这是一份官方文档《10A_MMI_Resource_Training.pdf》写的很详细。
09A添加资源的方法:
1、在plutommi/mmi/Inc/MMIDataType.h文件增加资源ID范围。
2、在res_XXX.c用ADD_APPLICATION_MENUITEM、ADD_APPLICATION_STRING2、ADD_APPLICATION_IMAGE2、ADD_APPLICATION_MENUITEM_HILITE_HANDLER添加菜单、字符串、图片等资源。
3、然后找到Populate_Res.c文件,在PopulateResData()函数里面调用刚才编写的函数。
4、在plutommiCustomerCustResourcePLUTO_MMI
ef_list.txt增加字符串。
5、在plutommiCustomerImagesXXXX对应的目录下增加图片,增加后要重新压缩成image.zip
6、在GlobalMenuItem.h增加菜单ID。
7、在Res_MainMenu.c找到相应的菜单,在下面增加子菜单。
10A很简单,看看《10A_MMI_Resource_Training.pdf》吧。
文档开头讲了新架构的目的,是为了减少修改文件的次数和操作步骤,当编译出错时有更清晰的LOG并且更容易找到错误,减少编译时间。
新架构的特点:1、在Build目录下会生成资源编译的LOG。2、自动生成资源ID的定义,并放在CustomerInc目录下。(至于怎么增加资源在下文提到。)3、在ResGenerator目录下会生成Debug目录,如果资源编译出错可以根据命令行到这里查找LOG。还有Temp目录,该目录用于存放编译时的.o文件。4、把添加资源的文件移到你的应用程序目录,可以建一个名为XXX_Res的文件夹,新建资源文件命名为XXX.res,再建一个ref_list_xxx.txt文件存放字符串对应的各国版本。
再仔细对比下两种架构的区别吧:
1、增加资源ID范围。老的版本是在MMIDataType.h文件,而新的是在mmi_res_range_def.h完成。而且代码有一点点修改:
Old:
Step1:
RESOURCE_BASE_RANGE(APP_FILEMANAGER, 600),
Step2:
#define FILE_MANAGER_BASE ((U16) GET_RESOURCE_BASE(APP_FILEMANAGER))
#define FILE_MANAGER_BASE_MAX ((U16) GET_RESOURCE_MAX(APP_FILEMANAGER))
RESOURCE_BASE_TABLE_ITEM(APP_FILEMANAGER)
New:
Step1:
RESOURCE_BASE_RANGE(APP_FILEMANAGER, 600),
Step2:
#define FILE_MANAGER_BASE ((U16) GET_RESOURCE_BASE(APP_FILEMANAGER))
#define FILE_MANAGER_BASE_MAX ((U16) GET_RESOURCE_MAX(APP_FILEMANAGER))
RESOURCE_BASE_TABLE_ITEM_PATH(APP_FILEMANAGER, ".\mtkapp\FileMgr\fmgr_res\")
2、定义资源ID。老版本是用户自己定义在xxxdef.h文件中。新版本会在plutommiCustomerCustomerInc目录自动生成mmi_rp_app_XXXX_def.h文件。
3、增加资源。老版本是编写一个Res_XXX.c文件并放到plutommiCustomerCustResourcePLUTO_MMIRes_MMI目录下。新版本只要在你的应用文件XXXRes目录下新建一个XXX.res文件,在该文件新增资源就行了。同时你可以看到系统在plutommiCustomerResGeneratordebug
es目录下为你生成了一个mmi_rp_app_XXX.c文件。
4、插入菜单。相应地主菜单的文件也变化了,老版本是在Res_MainMenu.c中,而新版本是在MainMenu.res中修改了。
到这里已经可以完成菜单的添加了。如果把文档看下去就是每个XML标签的细节。现在没什么时间了,后面再续写。
还有一点编译查LOG得小经验记录下:
1、查看option.mak的宏有没有起作用、库有没有被编译到,可以在build工程名\loginfomake.log查得到。
2、查看菜单有没有添加上,可以找plutommiCustomerCustResourceCustMenuTree_Out.c文件,里面有所有菜单的目录树。
3、要查看MMI_Features.h的宏有没有被编译到,可以查看所有build工程名\MMI_Features.h文件。
4、如果是使用ADD_APPLICATION_MENUITEM_HILITE_HANDLER绑定高亮菜单的时间,资源编译完成后可以在Mmi_menu_handlers.h检查是否有对应上。
【文件名】:11112@52RD_10A_MMI_Resource_Training_c.pdf
【格 式】:pdf
【大 小】:1819K
【简 介】:
【目 录】:
[此贴子已经被作者于2011-11-4 10:09:36编辑过] |