在mtk6236 11A中添加模块Helloworld(自身功能程序已经写好):
一、 将Helloworld文件夹放到code\venusmmi\app\Cosmos 下
二、 修改code\make\venus\cosmos_app下的四个文件(
注意:.mak文件中以下三处均要添加路径:
SRC_LIST +=
INC_DIR +=
SRC_PATH += )
三、 在 vapp_package_res.h 中注册APP的ID ——————VFX_APP_RES_DECLARE(VAPP_HELLOWORLD, 20,
"HelloWorld\\res\\")
VFX_APP_RES_DECLARE(VCUI_HELLOWORLD, 20,
"HelloWorld\\res\\")
四、 在vtst_rt.h文件中声明入口函数————
// Cosmos APP entry point
#ifdef __COSMOS_MMI_PACKAGE__
/* Please add cosmos app entry point here... */
。
。
VtstTestResultEnum vtst_rt_vapp_helloworld(VfxU32 param); //luqiangxin
#endif /*__COSMOS_MMI_PACKAGE__*/
并在cosmos中关联————————
// Cosmos APP entry
/* Please add Cosmos APP entry here */
#ifdef __COSMOS_MMI_PACKAGE__
VTST_BEGIN_DEF_MENU(L"Cosmos", cosmos)
。
.
VTST_DEF_ITEM_TEST(L"Hello World", vtst_rt_vapp_helloworld, 0) //luqiangxin
五、 Mmi_res_range_def.h中对APP的ID的定义______
RESOURCE_BASE_ENUM_BEGIN()
/**************************************************************************************
* Declare resource ID range below
**************************************************************************************/
。
。
RESOURCE_BASE_RANGE(APP_HELLOWORLD, 100), //luqiangxin
。
。
/**************************************************************************************
* Declare resource ID range above
**************************************************************************************/
RESOURCE_BASE_ENUM_END()
并在此文件中定义APP____
RESOURCE_BASE_TABLE_BEGIN()
/****************************************************************************
* HelloWorld luqiangxin RESOURCE_BASE_RANGE(VAPP_HELLOWORLD,
*****************************************************************************/
#define HELLOWORLD_BASE ((U16) GET_RESOURCE_BASE(APP_HELLOWORLD))
#define HELLOWORLD_BASE_MAX ((U16) GET_RESOURCE_MAX(APP_HELLOWORLD))
RESOURCE_BASE_TABLE_ITEM_PATH(APP_HELLOWORLD, "..\\venusmmi\\app\\Cosmos\\HelloWorld\\res")
。
RESOURCE_BASE_TABLE_END()
六、修改Helloworld模块下的.res文件(此文件包含了字串、图片、菜单等ID的定义,
系统会再找个文件中搜索ID,并自动生成mmi_rp_vapp_xxx_def.h和mmi_rp_vapp_xxx。c文件,同时在
mmi_rp_vapp_xxx_def。c中定义对应的populate函数)——————
#include "mmi_features.h"
#include "custresdef.h"
<?xml version="1.0" encoding="UTF-8"?>
<APP id="VAPP_HELLOWORLD" package_name="native.mtk.helloworld" name="STR_APP_HELLOWORLD"
img="IMG_ID_APP_HELLO_WORLD" launch="vapp_hello_world_launch" type="venus">
<MEMORY heap="1024*300" cui="VCUI_HELLOWORLD" />
<STRING id ="STR_APP_HELLOWORLD">HELLO</STRING>
<IMAGE id = "IMG_ID_APP_HELLO_WORLD">RES_IMG_ROOT"\\\\Helloworld\\\\Hello.gif"</IMAGE>
<MENU id="MENU_ID_HELLOWORLD" type="APP_MAIN" str="STR_APP_HELLOWORLD"
img="IMG_ID_APP_HELLO_WORLD">
</MENU>
<!-- Helloworld App will use Helloworld CUI -->
<LAYOUT file="vapp_helloworld.xml" />
</APP>
七、 添加图片到相应的文件路径下(压进压缩包里,编译时会解压出来)
添加字符串资源加到code\plutommi\Customer\CustResource\PLUTO_MMI下的ref_list.txt里面,不同内容之间相
隔的是一个Tab而不是空格(各个模块下的ref_list.txt
里面的字符串资源并未生效)
八、 regen (重新编译资源)
在设置菜单下添加子菜单:修改设置模块下的.res文件,添加图片、字符串ID 然后到Vapp_setting_config.h中添加
子菜单
在文件管理菜单下添加子菜单:修改文件管理模块下的.res文件,添加图片、字符串ID 然后到Vapp_fmgr_table.h中
添加子菜单
在某个模块下添加子菜单,先在该模块下的.res文件中添加字串、图片、菜单等ID的定义, 然后找到该模块的添加菜
单的文件,每个模块的添加菜单的文件都不相同,