MTK资源模块添加PPT课件_第1页
MTK资源模块添加PPT课件_第2页
MTK资源模块添加PPT课件_第3页
MTK资源模块添加PPT课件_第4页
MTK资源模块添加PPT课件_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.,1,MTK资源模块添加,.,2,主要内容,MTK手机MMI程序的基础知识 1、MMI程序模块的添加 2、资源的添加 3、字符串资源 4、菜单的添加 本节课所要达到的目的: 在工具箱菜单下显示一个我们自己定义的菜单,.,3,程序模块的添加(1),1、目录:MTK6225_08Aplutommimmi 2、在文件夹mmi中新建文件夹,取名为FirstApp 3、在文件夹FirstApp下新建文件夹: FirstAppInc /存放程序的头文件(.h文件) FirstAppSrc /存放程序的源文件(.c文件) 4、在文件夹FirstAppInc中新建4个头文件: FirstAppDefs.h

2、/程序模块资源ID FirstAppProt.h /函数声明,只提供给本程序代码调用 FirstAppGprot.h /函数声明,提供给外部程序代码调用 FirstAppTypes.h /一般书写自定义类型 5、在文件夹FirstAppSrc中新建1个源文件: FirstAppSrc.c /实现程序功能的代码 6、目录:MTK6225_08Amakeplutommimmi_app,有3个编译配置文件 mmi_app.lis( .lis文件) /指明MMI所要编译的具体的源文件 mmi_app.inc(.inc文件) /指明源文件所需头文件的目录 mmi_app.pth(.pth文件)/指明所要

3、编译的源文件目录 现在依次打开这三个文件,将我们新增文件添加到编译配置文件: mmi_app.lis末尾: plutommimmiFirstAppFirstAppSrcFirstAppSrc.c mmi_app.inc末尾:plutommimmiFirstAppFirstAppInc mmi_app.pth末尾:plutommimmiFirstAppFirstAppSrc,.,4,程序模块的添加(2),7、为新增模块增加编译开关 强烈推荐:开发人员为自己的模块增加一个宏开关,这样可以在不需要自己的模块的时候,可以关闭它,减少编译后Bin文件的大小,节省空间。 开关添加有两种方式: 1)打开MT

4、K6225_08AmakeOption.mak,在末尾 添加:COM_DEFS += _MMI_FIRSTAPP_ 2)打MTK6225_08AplutommiCustomerCustResource PLUTO_MMIMMI_features_switchPLUTO.h ,在末 尾添加宏:#define _MMI_FIRSTAPP_ 一般情况下,我们选择第一种方式为程序添加开关 现在打开 MTK6225_08AmakeOption.mak,末尾处添加: COM_DEFS += _MMI_FIRSTAPP_ (注意:两边均是两个下划线,中间是一个下划线),.,5,资源的添加(1),8、为新增程

5、序FirstApp添加资源相关文件,为后续添加资源做准备 (1)什么是资源? 在MTK平台中常见的资源包括字符串、图像、菜单、字库、声音、主 题等,在开发过程中,最受关注的有3种:字符串、图像和菜单 (2)资源文件的目录? MTK6225_08AplutommiCustomercustResourcePLUTO_MMIRes_MMI (3)对我们FristApp程序来说,添加资源文件的具体步骤? 第1步:资源目录(上面标红的)下新建.c文件:Res_FirstApp.c 第2步:用Source Insight加载新增文件并打开Res_FirstApp.c,添加如下 代码 #include MM

6、I_features.h #include CustomCfg.h #ifdef FIRST_PASS #include BuildCfg.h #endif #include ComposeRingToneDefs.h #include FirstAppDefs.h #ifdef DEVELOPER_BUILD_FIRST_PASS #include PopulateRes.h void PopulateFirstAppRes(void) #endif,.,6,资源的添加(2),第3步:用记事本打开MTK6225_08AplutommiCustomerReGeneratorMakefile,添

7、加代码: -I ././MMI/FirstApp/FirstAppInc (说明:Makefile文件用于资源装载的预编译,添加我们的头文件目录,目录包括 了与资源文件定义有关的FirstAppDefs.h) 第4步:修改PopulateRes.c文件,该文件作用是调取各模块资源加载函数 1)在Source Insight中打开PopulateRes.c文件,合适位置(暂定:PopulateCCARes) 添加如下代码: #ifdef _MMI_FIRSTAPP_ extern void PopulateFirstAppRes(void); /声明 #endif 2)找到函数void Popu

8、lateResData(void),添加如下代码: /1649行 #ifdef _MMI_FIRSTAPP_ PopulateFirstAppRes(); /调用 #endif 至此,我们已经为新增的程序模块做好了基本的资源框架,接下来就是添加具体资源, 在添加前还需要做些资源ID定义的规定,下面接着看),.,7,资源的添加(3),第5步:打开文件MTK6225_08AplutommimmiincMMIDataType.h,该文件用基础 ID的统一定义和包装 1)在Source Insight中打开MMIDataType.h,添加如下代码: /802 #ifdef _MMI_FIRSTAPP_

9、 RESOURCE_BASE_RANGE(FIRSTAPP, 50), #endif 2)按照源代码格式,添加如下宏定义: /1114行 #ifdef _MMI_FIRSTAPP_ #define FIRSTAPP_BASE (U16)RESOURCE_BASE_FIRSTAPP) #define FIRSTAPP FIRSTAPP_BASE #define FIRSTAPP_BASE_MAX (U16)RESOURCE_BASE_FIRSTAPP_END) RESOURCE_BASE_TABLE_ITEM(FIRSTAPP) #endif 第6步:打开文件FirstAppDefs.h,添加如

10、下代码: #ifndef _FIRSTAPPDEFS_H #define _FIRSTAPPDEFS_H #include MMI_features.h #include PixtelDataTypes.h typedef enum SCR_FIRSTAPP_MAIN = FIRSTAPP_BASE + 1 /定义我们程序的屏幕ID SCREENID_LIST_FIRSTAPP; #endif,.,8,资源的添加(4),第7步:打开文件FirstAppSrc.c,添加我们之前的代码,并修改屏幕ID为刚定义的屏幕ID SCR_FIRSTAPP_MAIN,代码如下: #include MMI_fe

11、atures.h #include PixtelDataTypes.h #include Unicodexdcl.h #include gdi_include.h #include wgui.h #include gui.h #include Globaldefs.h #include CustDataRes.h #include wgui_categories.h #include wgui_categories_util.h #include wgui_softkeys.h #include HistoryGprot.h #include OrganizerDef.h #include F

12、irstAppDefs.h #include FirstAppTypes.h #include FirstAppProt.h #include FirstAppGprot.h void EntryFirstAppScreen(void) EntryNewScreen(SCR_FIRSTAPP_MAIN,NULL,EntryFirstAppScreen,NULL); entry_full_screen(); clear_screen(); gui_set_text_color(gui_color(255,0,0); gui_move_text_cursor(58,120); gui_print_

13、text(LHello,MTK); gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1); SetKeyHandler(GoBackHistory,KEY_RSK,KEY_EVENT_UP); ,.,9,字符串添加(1),9、为新增程序FirstApp添加字符串资源 (1)为什么要使用字符串资源? 字符串资源主要是为了让程序转换成其他语言或者要实现多过语言时更加方便而设置的 (2)字符串资源存储的文件? MTK6225_08AplutommiCustomerCustResourcePLUTO_MMIref_list.tx

14、t (3)添加字符串资源的具体步骤是? 第1步:打开文件ref_list.txt,按如下格式添加代码: STR_FIRSTAPPundefined20FirstAppFirstApp第一個程序第一个程序 STR_FIRSTAPP_HELLOundefined20HelloMTKHelloMTK你好,MTK你好,MTK 注意事项:用Tab键打开空格,严格按照格式 第2步:确定字符串ID,在文件FirstAppDefs.h中,添加如下代码: typedef enum STR_FIRSTAPP = FIRSTAPP_BASE + 1, STR_FIRSTAPP_HELLO, STR_FIRSTAPP

15、_TOTAL STR_ID_FIRSTAPP_ENUM;,.,10,字符串添加(2),第3步:字符串装载,打开文件Res_FirstApp.c,添加如下代码: ADD_APPLICATION_STRING2(STR_FIRSTAPP,FirstApp1,Name of FirstApp); ADD_APPLICATION_STRING2(STR_FIRSTAPP_HELLO,HelloMTK1,A simple string); 第4步:修改FirstAppSrc.c中的函数,使用系统API读取字符串ID void EntryFirstAppScreen(void) EntryNewScree

16、n(SCR_FIRSTAPP_MAIN,NULL,EntryFirstAppScreen,NULL); entry_full_screen(); clear_screen(); gui_set_text_color(gui_color(255,0,0); gui_move_text_cursor(58,120); /gui_print_text(LHello,MTK); gui_print_text(UI_string_type)GetString(STR_FIRSTAPP_HELLO); gui_BLT_double_buffer(0,0,UI_device_width-1,UI_devic

17、e_height-1); SetKeyHandler(GoBackHistory,KEY_RSK,KEY_EVENT_UP); 至此,字符串资源,我们添加完毕,下面添加我们的菜单:,.,11,菜单添加(1),10、为新增程序FirstApp添加菜单,实现Organizer下面有FirstApp菜单项 (1)什么是菜单? 这个显而易见,我就不多说啊 (2)具体添加步骤 第1步:在Source Insight中打开文件GlobalMenuItems.h,添加代码:/2248 #ifdef _MMI_FIRSTAPP_ ORGANIZER_FIRSTAPP_MENU, #endif 第2步:打开文件

18、Res_MainMenu.h,添加如下代码: /200 /246 #ifdef _MMI_FIRSTAPP_ ORG_ENUM_FIRSTAPP, #endif 第3步:还是该文件Res_MainMenu.h,添加如下代码: /637 /1912 #if defined (_MMI_FIRSTAPP_) ORGANIZER_FIRSTAPP_MENU, #endif,.,12,菜单添加(2),第4步:在文件Res_FirstApp.c中,添加如下代码: ADD_APPLICATION_MENUITEM( ORGANIZER_FIRSTAPP_MENU, /菜单ID MAIN_MENU_ORGANIZER_MENUID, /父菜单ID 0, /因为没

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论