MTK平台相关资料

2019-06-02 14:03

MTK平台相关资料

ADD

添加文件:

开发过程中,少不了加减文件,删除文件实际上是添加文件的相反过程,因此略过。 MTK设置了很多lst和pth文件供用户添加文件,这些都make文件夹下。用户可以自己添加模块,也可利用原有的lst和pth文件添加。以下以添加在MTK\\make\\plutommi为例。

添加头文件路径: plutommi.inc

添加本模块路径: plutommi.pth

添加源文件路径: plutommi.lis

添加完毕,这些文件就可参与编译了。 添加开关:

开关真是个好东西。依靠它,可以将没有价值的功能瞬间屏蔽,又可以将我们需要但又搁置的功能瞬间启用。能者上,不能者下,多么类似于社会法则。添加开关在make文件

夹下面的.mak文件里面。 注意事项:

有人喜欢模仿MTK原做法,在.mak文件里面使用一个开关管住另外一个开关。那么两个开关不要同名,否则开关起不了关闭的作用。 添加string资源:

1.在stringid定义的地方添加相应的id (如SettingResDef.h STR_ID_SETTING_ENUM)中增加ID;

2.在plutommi\\Customer\\CustResource\\PLUTO_MMI下相应的res_xxx.c文件里,PopulateXXX函数里面把stringid添加上去例如:STR_MENU_SETTING_BUSINESS_CONCEAL

ADD_APPLICATION_STRING2(STR_MENU_SETTING_BUSINESS_CONCEAL,\nessConceal\(如Res_Setting.c ADD_APPLICATION_STRING2)中将ID和string关联; 3.plutommi\\Customer\\CustResource\\PLUTO_MMI\\ref_list.txt中增加ID和各种语言的文本即添加相应的字符串。

有了以上3个步骤,即可使用该文本资源了(使用

gui_print_text((UI_string_type)GetString(STR_ID_MY_TRY));)。

编译后,在plutommi\\Customer\\CustResource下面会生成新的CustStrMap.c和 CustStrRes.c这两个文件中就包含了新增的string资源

添加图片:

1.在imgid定义的地方添加相应的id (如SettingResDef.h IMG_ID_SETTING_ENUM)中增加ID

2.在plutommi\\Customer\\CustResource\\PLUTO_MMI下相应的res_xxx.c文件里,PopulateXXX函数里面把imgid添加上去例如:IMG_IDLE_MAINMENU_SHORCUT的添加

ADD_APPLICATION_IMAGE2(IMG_IDLE_MAINMENU_SHORCUT,CUST_IMG_PATH\ge.\

(如Res_Setting.c ADD_APPLICATION_IMAGE2(IMG_ID_MY_TRY,CUST_IMG_PATH\\\\\\\\\mygif.gif\)中将ID和图片关联

3.增加图片到解压后的包里,增加完毕,应打包。 plutommi\\Customer\\Images\\PLUTO176X220

里面的文件夹是生成的,可以在cc上看到为private。

4.添加进去后,要打包,如果仅添加在文件夹里面会被清除。 如果没有找到图片文件,手机显示的时候是一个红色的*,添加图片时,注意路径用4杠。 (使用gdi_image_draw(30,110,(U8*)GetImage(IMG_ID_MY_TRY));)

在NVRam中增加成员:

需要增加ID,指出每块大小,以及总的块数和缺省值。每块大小最好为偶数。 修改下面的文件:

Nvram_user_defs.h: ID,大小,个数 NVRAMEnum.h Nvram_user_config.c

custom_nvram_editor_data_item.h 添加menu

1.在menuid定义的地方添加相应的id

2.在plutommi\\Customer\\CustResource\\PLUTO_MMI下相应的res_xxx.c文件里,PopulateXXX函数里面把menuid添加上去例如:MENU_ID_SETTING_BUSINESS_CONCEAL的添加

ADD_APPLICATION_MENUITEM((MENU_ID_SETTING_BUSINESS_CONCEAL,MENU9101_SECURITY,2,

MENU_ID_SETTING_BUSINESS_CONCEAL_PHONE, MENU_ID_SETTING_BUSINESS_CONCEAL_SMS,

SHOW,MOVEABLEWITHINPARENT,DISP_LIST,STR_MENU_SETTING_BUSINESS_CONCEAL,0));

举例:在手机主菜单设置菜单中添加子菜单

1、在SettingResDef.h(plutommi\\mmi\\setting\\settinginc)文件中增加

在enumSTR_ID_SETTING_ENUM的最后增加三个字符串ID的声明: STR_ID_MY_SETTING, STR_ID_MY_SETTING1, STR_ID_MY_SETTING2,

在enumSCR_ID_SETTING_ENUM的最后增加三个ScreenID的声明: SCR_ID_MY_SETTING, SCR_ID_MY_SETTING1, SCR_ID_MY_SETTING2,

在enumIMG_ID_SETTING_ENUM的最后增加一个ImageID的声明: IMG_ID_MY_SETTING;

在enumGLOBALMENUITEMSID[GlobalMenuItems.h(plutommi\\mmi\\inc)目录下

GlobalMenuItems.h文件中(有的是在本AP或模块的*Defs.h中声明)]的最后增加三个菜单ID的声明:

MENU_MY_SETTING, MENU_MY_SETTING1, MENU_MY_SETTING2,

2、在..\\plutommi\\Customer\\CustResource\\PLUTO_MMI目录下的Ref_list.txt中添加三个字符串:

STR_ID_MY_SETTING Undefined 10 MySetting MySetting 我的设定 我的设定

STR_ID_MY_SETTING1 Undefined 10 MySetting1 MySetting1 我的设定1 我的设定1

STR_ID_MY_SETTING2 Undefined 10 MySetting2 MySetting2 我的设定2 我的设定2

3、在..\\plutommi\\Customer\\CustResource\\PLUTO_MMI\\Res_MMI目录下的Res_Setting.cvoidpopulateSettingMenu(void)函数前增加如下资源:

ADD_APPLICATION_MENUITEM((MENU_MY_SETTING,MAIN_MENU_SETTINGS_MENUID,2,MENU_MY_SETTING1,MENU_MY_SETTING2,SHOW,MOVEABLEWITHINPARENT,DISP_LIST,STR_ID_MY_SETTING,0)); ADD_APPLICATION_MENUITEM ((MENU_MY_SETTING1,MENU_MY_SETTING,0,SHOW, MOVEABLEWITHINPARENT,DISP_LIST,STR_ID_MY_SETTING1,0)); ADD_APPLICATION_MENUITEM ((MENU_MY_SETTING2,MENU_MY_SETTING,0,SHOW, MOVEABLEWITHINPARENT,DISP_LIST,STR_ID_MY_SETTING2,0)); ADD_APPLICATION_IMAGE2(IMG_ID_MY_SETTING,CUST_IMG_PATH\nLCD\\\\\\\\SubMenu\\\\\\\\Settings\\\\\\\\MY_SETTING.GIF\ ADD_APPLICATION_STRING2(STR_ID_MY_SETTING,\ ADD_APPLICATION_STRING2(STR_ID_MY_SETTING1,\1\ ADD_APPLICATION_STRING2(STR_ID_MY_SETTING2,\2\

4、在..\\plutommi\\Customer\\CustResource\\PLUTO_MMI\\Res_MMI目录下的Res_MainMenu.c中修改如下: ADD_APPLICATION_MENUITEM

((MAIN_MENU_SETTINGS_MENUID,IDLE_SCREEN_MENU_ID,5, MENU9102_INITIAL_SETUP,... 改为:

ADD_APPLICATION_MENUITEM

((MAIN_MENU_SETTINGS_MENUID,IDLE_SCREEN_MENU_ID,6, MENU_MY_SETTING,MENU9102_INITIAL_SETUP,... 或者有的是在

ADD_APPLICATION_MENUITEM2((MAIN_MENU_SETTINGS_MENUID,IDLE_SCREEN_MENU_ID,后加MENU_MY_SETTING,

5、在..\\plutommi\\mmi\\Setting\\SettingInc\\目录下的SettingProt.h中增加如下的函数声明: externvoidHighlightMySetting(void); externvoidHighlightMySetting1(void); externvoidHighlightMySetting2(void); externvoidEntryMySetting(void); externvoidEntryMySetting1(void); externvoidEntryMySetting2(void);

6、在..\\plutommi\\mmi\\Setting\\SettingSrc\\目录下的SettingSrc.c中增加如下的函数定义: voidHighlightMySetting(void) { SetKeyHandler(GoBackHistory,KEY_LEFT_ARROW,KEY_EVENT_DOWN); SetRightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP); SetKeyHandler(EntryMySetting,KEY_RIGHT_ARROW,KEY_EVENT_DOWN); SetLeftSoftkeyFunction(EntryMySetting,KEY_EVENT_UP); }

voidHighlightMySetting1(void)

{ SetKeyHandler(GoBackHistory,KEY_LEFT_ARROW,KEY_EVENT_DOWN); SetRightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP); SetKeyHandler(EntryMySetting1,KEY_RIGHT_ARROW,KEY_EVENT_DOWN); SetLeftSoftkeyFunction(EntryMySetting1,KEY_EVENT_UP); }

voidHighlightMySetting2(void) { SetKeyHandler(GoBackHistory,KEY_LEFT_ARROW,KEY_EVENT_DOWN); SetRightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP); SetKeyHandler(EntryMySetting2,KEY_RIGHT_ARROW,KEY_EVENT_DOWN); SetLeftSoftkeyFunction(EntryMySetting2,KEY_EVENT_UP); }

voidEntryMySetting(void) { U16nStrItemList[MAX_SUB_MENUS];/*Storesthestringsidofsubmenusreturned*/ U16nNumofItem;/*Storesnoofchildreninthesubmenu*/ U8*guiBuffer;/*Bufferholdinghistorydata*/ U16ImageList[MAX_SUB_MENUS]; EntryNewScreen(SCR_ID_MY_SETTING,NULL,EntryMySetting,NULL); /*2Getcurrentscreentoguibufferforhistorypurposes*/ guiBuffer=GetCurrGuiBuffer(SCR_ID_MY_SETTING); /*3.Retrievenoofchildofmenuitemtobedisplayed*/ nNumofItem=GetNumOfChild(MENU_MY_SETTING); /*4.Retrievestringidsinsequenceofgivenmenuitemtobedisplayed*/ GetSequenceStringIds(MENU_MY_SETTING,nStrItemList); GetSequenceImageIds(MENU_MY_SETTING,ImageList); /*5Setcurrentparentid*/ SetParentHandler(MENU_MY_SETTING); /*6Registerhighlighthandlertobecalledinmenuscreen*/ RegisterHighlightHandler(ExecuteCurrHiliteHandler); /*7DisplayCategory1Screen*/ ShowCategory15Screen(STR_ID_MY_SETTING,IMG_SCR_SETTING_CAPTION,STR_GLOBAL_OK,IMG_GLOBAL_OK,STR_GLOBAL_BACK,IMG_GLOBAL_BACK,nNumofItem,nStrItemList,ImageList,LIST_MENU,0,guiBuffer); /*8.Registerfunctionwithrightsoftkey*/ SetRightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP); }

voidEntryMySetting1(void) { S8*string=GetString(STR_ID_MY_SETTING1); U16imageId=IMG_ID_MY_SETTING; EntryNewScreen(SCR_ID_MY_SETTING1,NULL,EntryMySetting1,NULL); ShowCategory65Screen((U8*)string,imageId,NULL);


MTK平台相关资料.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:如果你还这样,注定是个卢瑟

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: