/* Needed header files of the compile option in XML files, if you need others need to add here */
#include "mmi_features.h"
#include "custresdef.h"
/* Need this line to tell parser that XML start, must after all #include. */
<?xml version="1.0" encoding="UTF-8"?>
/* APP tag, include your app name defined in MMIDataType.h */
<APP id="APP_FIRSTAPP">/* 这里定义的id必须和之前定义的APP的ID一致 */
/* When you use any ID of other module, you need to add
that header file here, so that Resgen can find the ID */
<!--Include Area-->
<!-----------------------------------------------------String Resource Area----------------------------------------------------->
/* String ID of you Application, we will get string from ref_list.txt for all languages */
<STRING id="STR_ID_APP_FIRSTAPP_HELLO"/>/* 在这里添加自己的字串ID */
/* 这里说下,字串的内容定义和之前的版本一样放在YourProjectPath\plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt下,为了更好的兼容,最好将你自己定义的字串重新规整到YourProjectPath\plutommi\MMI\FirstApp\FirstAppRes\ref_list_FirstApp.txt下,具体定义方式和ref_list.txt类似,参考本博客文章《MTK编程起步——建立新APP和资源定义》 */
<!-----------------------------------------------------Image Resource Area------------------------------------------------------>
/* Image Id and path of you Application , you can use compile option in Path, but need out of "" */
<IMAGE id="IMG_ID_APP_FIRSTAPP_HELLO">CUST_IMG_PATH"\\\\MainLCD\\\\FirstApp\\\\HELLO.BMP"</IMAGE>
/* 这里定义自己的图片ID和路径,注意图片现在的CUST_IMG_PATH路径是在YourProjectPath\plutommi\Customer\Images\FTE320x480,请将图片文件夹放在这里,然后打包整个MainLCD文件夹为image.zip(改了mtk_resgenerator.cpp的可以不用打包) */
<!------------------------------------------------------Menu Resource Area------------------------------------------------------>
/* Only MENUITEM need compile option, MENUITEM_ID does not need */
/* 这里定义你的菜单ID,具体定义方法稍后给出 */
<!------------------------------------------------------Other Resource---------------------------------------------------------->
<SCREEN id="SCR_ID_APP_FIRSTAPP_HELLO"/>/* 这里定义你的屏幕ID */
</APP>
这个res文件类似与xml文件,不过你可以在其中使用一些C的预处理命令和注释。使用这种方式你不需要自己去定义res_app_firstapp.c,系统会在这个文件中搜索ID并自动生成名为mmi_rp_app_firstapp_def.h和mmi_rp_app_firstapp.c的文件,并在后者中定义对应的populate函数。至于res文件中各标签和其属性定义,请参看MTK官方文档10A_MMI_Resource_Training.pdf。
5、菜单添加
菜单由于有上下级关系,定义要相对复杂些,这里先介绍几个标签:MENU、MENUITEM和MENUITEM_ID。MENU是用来定义菜单树的标签,MENUITEM是用来定义单个菜单项的标签,MENUITEM_ID是用来在MENU树中安置菜单项的标签。下面来讨论菜单的定义。
新版本中菜单的定义方式有很多种,现介绍最常用的三种方式,其它方式请读者参看上面给出的MTK官方文档。
方法一:MENU中包含MENUITEM_ID方式定义
这种方式采用如下格式:
<MENUITEM id="SUBMENU1" str="STR_SUBMENU1"/>
<MENUITEM id="SUBMENU2" str="STR_SUBMENU2"/>
<MENU id="MENU1" type="OPTION" str="STR_MENU1" highlight="HighlightMenu1" hint="HintMenu1">
<MENUITEM_ID>SUBMENU1</MENUITEM_ID>
<MENUITEM_ID>SUBMENU2</MENUITEM_ID>
</MENU>
采用这种方式要在MENU体外申明对应MENUITEM的定义,可以放在引用MENU之前也可在其后,但MENU中MENUITEM_ID包含的内容必须是已定义的MENUITEM的ID,如果不存在系统将会将该菜单忽略。另外提一点,为了和先前的版本兼容,MTK提供了@OID:前缀,用来引用原先在c文件中定义的菜单ID,使用方法是将其放在<MENUITEM_ID></MENUITEM_ID>标签对之间即可,例如:<MENUITEM_ID>@OID:SUBMENU3</MENUITEM_ID>。不过引用前请使用<INCLUDE file="XXXResDef.h"/>引用你ID所在文件,将其至于<!--Include Area-->下。
方法二:直接将MENUITEM定义在MENU中,格式如下:
<MENU id="MENU1" type="OPTION" str="STR_MENU1" highlight="HighlightMenu1" hint="HintMenu1">
<MENUITEM id="SUBMENU1" str="STR_SUBMENU1">SUBMENU1</MENUITEM_ID>
<MENUITEM id="SUBMENU2" str="STR_SUBMENU2">SUBMENU2</MENUITEM_ID>
</MENU>
这种方式不需要在MENU体外定义对应MENUITEM,只需要放在MENU标签内同时定义MENUITEM信息即可。
方法三:嵌套MENU,格式如下:
<MENU id="MENU1" type="OPTION" str="STR_MENU1" highlight="HighlightMenu1" hint="HintMenu1">
<MENU id="SUBMENU1" type="OPTION" str="STR_SUBMENU1" highlight="HighlightSubMenu1" hint="HintSubMenu1"></MENU>
<MENU id="SUBMENU2" type="OPTION" str="STR_SUBMENU2" highlight="HighlightSubMenu2" hint="HintSubMenu2"></MENU>
</MENU>
采用这种方式使得菜单的定义一次完成,也易于理解,但是当属性较多层次较深的时候可能显得较乱。这种方式是直观的MENU树表现方式,显示了子菜单与父级菜单的对应关系。有些读者可能对MENU和MENUITEM有些迷茫,笔者认为,在大部分时候MENU和MENUITEM可以通用,你可以把他们看成一种东西(MENU)。你可以将方法三第二行替换成方法一或方法二的形式。不过如果有SUBMENU1有子菜单的时候,方法三可以直接嵌套在对应MENU体之中,而方法一或方法二则需在MENU方法体外做如下定义:
<MENU id="SUBMENU1" type="OPTION" str="STR_SUBMENU1" highlight="HighlightSubMenu1" hint="HintSubMenu1">
……
</MENU>
以上三种方法可以根据需要混合使用。最后为了完整实现菜单功能,别忘了添加对应菜单的highlight和hint函数。
打开source insignOption ->Document Options
选add type,添加10A_MMI_RESOURCE,在file filter中添加*.res
add tree 并同步,就OK了。
MRP游戏/软件安装使用方法1.方法一:
检查闪存卡上,mythroad文件夹下是否有名为dsm_gm.mrp的文件。如果有将下载的文件拷贝到mythroad文件夹下。
待机界面输入*#220807#启动应用列表。选择对应的应用启动。
2.方法二:
检查闪存卡上,mythroad文件夹的子文件夹(可能为“app240320(分辨率)”、“applist”)下是否存在其他.mrp文件。
如果存在将下载的mrp文件移动到其他mrp文件所在目录。
启动曲奇,在曲奇的应用列表中启动应用。
3.方法三:
如果上述两种方法都无法正常启动应用。将mrp文件直接拷贝到mythroad目录下。重命名文件为“dsm_gm.mrp”。
待机界面输入*#220807#可以直接启动应用。
4.方法四:
下载的mrp文件需要放到mor_list17文件夹里面,在手机应用-游戏菜单里面找到应用软件 yyrj 列表。选择最近下载列表,就可以显示最近下载到里面的游戏啦!
5.方法五:
可以先在手机里安装曲奇应用软件。这是一个管理下载mrp资源的工具。
可以通过它更新出最新的游戏。运行后会生成一个 “app240320的文件夹,通过曲奇下载的游戏就会在里面,把自己下载的游戏同样也放在里面就可以在曲奇里找到运行啦。
有人说这种方法太麻烦了。但是有些软件还非得放曲奇里才能运行,比如飞信v1.190版,直接打开会白屏,放到曲奇里就能正常运行了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)