




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主要内容 MTK手机MMI程序的基础知识1 MMI程序模块的添加2 资源的添加3 字符串资源4 菜单的添加本节课所要达到的目的 在工具箱菜单下显示一个我们自己定义的菜单 1 程序模块的添加 1 1 目录 MTK6225 08A plutommi mmi2 在文件夹mmi中新建文件夹 取名为FirstApp3 在文件夹FirstApp下新建文件夹 FirstAppInc 存放程序的头文件 h文件 FirstAppSrc 存放程序的源文件 c文件 4 在文件夹FirstAppInc中新建4个头文件 FirstAppDefs h 程序模块资源IDFirstAppProt h 函数声明 只提供给本程序代码调用FirstAppGprot h 函数声明 提供给外部程序代码调用FirstAppTypes h 一般书写自定义类型5 在文件夹FirstAppSrc中新建1个源文件 FirstAppSrc c 实现程序功能的代码6 目录 MTK6225 08A make plutommi mmi app 有3个编译配置文件mmi app lis lis文件 指明MMI所要编译的具体的源文件mmi app inc inc文件 指明源文件所需头文件的目录mmi app pth pth文件 指明所要编译的源文件目录现在依次打开这三个文件 将我们新增文件添加到编译配置文件 mmi app lis末尾 plutommi mmi FirstApp FirstAppSrc FirstAppSrc cmmi app inc末尾 plutommi mmi FirstApp FirstAppIncmmi app pth末尾 plutommi mmi FirstApp FirstAppSrc 2 程序模块的添加 2 7 为新增模块增加编译开关强烈推荐 开发人员为自己的模块增加一个宏开关 这样可以在不需要自己的模块的时候 可以关闭它 减少编译后Bin文件的大小 节省空间 开关添加有两种方式 1 打开MTK6225 08A make Option mak 在末尾添加 COM DEFS MMI FIRSTAPP 2 打MTK6225 08A plutommi Customer CustResource PLUTO MMI MMI features switchPLUTO h 在末尾添加宏 define MMI FIRSTAPP 一般情况下 我们选择第一种方式为程序添加开关现在 打开MTK6225 08A make Option mak 末尾处添加 COM DEFS MMI FIRSTAPP 注意 两边均是两个下划线 中间是一个下划线 3 资源的添加 1 8 为新增程序FirstApp添加资源相关文件 为后续添加资源做准备 1 什么是资源 在MTK平台中常见的资源包括字符串 图像 菜单 字库 声音 主题等 在开发过程中 最受关注的有3种 字符串 图像和菜单 2 资源文件的目录 MTK6225 08A plutommi Customer custResource PLUTO MMI Res MMI 3 对我们FristApp程序来说 添加资源文件的具体步骤 第1步 资源目录 上面标红的 下新建 c文件 Res FirstApp c第2步 用SourceInsight加载新增文件并打开Res FirstApp c 添加如下代码 include MMI features h include CustomCfg h ifdefFIRST PASS include BuildCfg h endif include ComposeRingToneDefs h include FirstAppDefs h ifdefDEVELOPER BUILD FIRST PASS include PopulateRes h voidPopulateFirstAppRes void endif 4 资源的添加 2 第3步 用记事本打开MTK6225 08A plutommi Customer ReGenerator Makefile 添加代码 I MMI FirstApp FirstAppInc 说明 Makefile文件用于资源装载的预编译 添加我们的头文件目录 目录包括了与资源文件定义有关的FirstAppDefs h 第4步 修改PopulateRes c文件 该文件作用是调取各模块资源加载函数1 在SourceInsight中打开PopulateRes c文件 合适位置 暂定 PopulateCCARes 添加如下代码 ifdef MMI FIRSTAPP externvoidPopulateFirstAppRes void 声明 endif2 找到函数voidPopulateResData void 添加如下代码 1649行 ifdef MMI FIRSTAPP PopulateFirstAppRes 调用 endif至此 我们已经为新增的程序模块做好了基本的资源框架 接下来就是添加具体资源 在添加前还需要做些资源ID定义的规定 下面接着看 5 资源的添加 3 第5步 打开文件MTK6225 08A plutommi mmi inc MMIDataType h 该文件用基础ID的统一定义和包装1 在SourceInsight中打开MMIDataType h 添加如下代码 802 ifdef MMI FIRSTAPP RESOURCE BASE RANGE FIRSTAPP 50 endif2 按照源代码格式 添加如下宏定义 1114行 ifdef MMI FIRSTAPP defineFIRSTAPP BASE U16 RESOURCE BASE FIRSTAPP defineFIRSTAPPFIRSTAPP BASE defineFIRSTAPP BASE MAX U16 RESOURCE BASE FIRSTAPP END RESOURCE BASE TABLE ITEM FIRSTAPP endif第6步 打开文件FirstAppDefs h 添加如下代码 ifndef FIRSTAPPDEFS H define FIRSTAPPDEFS H include MMI features h include PixtelDataTypes h typedefenum SCR FIRSTAPP MAIN FIRSTAPP BASE 1 定义我们程序的屏幕ID SCREENID LIST FIRSTAPP endif 6 资源的添加 4 第7步 打开文件FirstAppSrc c 添加我们之前的代码 并修改屏幕ID为刚定义的屏幕IDSCR FIRSTAPP MAIN 代码如下 include MMI features 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 FirstAppDefs h include FirstAppTypes h include FirstAppProt h include FirstAppGprot h voidEntryFirstAppScreen 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 text L Hello MTK gui BLT double buffer 0 0 UI device width 1 UI device height 1 SetKeyHandler GoBackHistory KEY RSK KEY EVENT UP 7 字符串添加 1 9 为新增程序FirstApp添加字符串资源 1 为什么要使用字符串资源 字符串资源主要是为了让程序转换成其他语言或者要实现多过语言时更加方便而设置的 2 字符串资源存储的文件 MTK6225 08A plutommi Customer CustResource PLUTO MMI ref list txt 3 添加字符串资源的具体步骤是 第1步 打开文件ref list txt 按如下格式添加代码 STR FIRSTAPPundefined20FirstAppFirstApp第一個程序第一个程序STR FIRSTAPP HELLOundefined20HelloMTKHelloMTK你好 MTK你好 MTK注意事项 用Tab键打开空格 严格按照格式第2步 确定字符串ID 在文件FirstAppDefs h中 添加如下代码 typedefenum STR FIRSTAPP FIRSTAPP BASE 1 STR FIRSTAPP HELLO STR FIRSTAPP TOTAL STR ID FIRSTAPP ENUM 8 字符串添加 2 第3步 字符串装载 打开文件Res FirstApp c 添加如下代码 ADD APPLICATION STRING2 STR FIRSTAPP FirstApp1 NameofFirstApp ADD APPLICATION STRING2 STR FIRSTAPP HELLO HelloMTK1 Asimplestring 第4步 修改FirstAppSrc c中的函数 使用系统API读取字符串IDvoidEntryFirstAppScreen 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 text L Hello MTK gui print text UI string type GetString STR FIRSTAPP HELLO gui BLT double buffer 0 0 UI device width 1 UI device height 1 SetKeyHandler GoBackHistory KEY RSK KEY EVENT UP 至此 字符串资源 我们添加完毕 下面添加我们的菜单 9 菜单添加 1 10 为新增程序FirstApp添加菜单 实现Organizer下面有FirstApp菜单项 1 什么是菜单 这个显而易见 我就不多说啊 2 具体添加步骤第1步 在SourceInsight中打开文件GlobalMenuItems h 添加代码 2248 ifdef MMI FIRSTAPP ORGANIZER FIRSTAPP MENU endif第2步 打开文件Res MainMenu h 添加如下代码 200 246 ifdef MMI FIRSTAPP ORG ENUM FIRSTAPP endif第3步 还是该文件Res MainMenu h 添加如下代码 637 1912 ifdefined MMI FIRSTAPP ORGANIZER FIRSTAPP MENU endif 10 菜单添加 2 第4步 在文件Res FirstApp c中 添加如下代码 ADD APPLICATION MENUITEM ORGANIZER FIRSTAPP MENU 菜单IDMAIN MENU ORGANIZER MENUID 父菜单ID0 因为没有子菜单 故设置为0SHOW 显示SHORTCUTABLE 转移属性DISP LIST 列表显示STR FIRSTAPP 菜单字符串ID0 没有图标 至此 添加菜单的工作 我们就该完成了 接下来 11 菜单添加 2 O O哈哈 接下来 我们重点讲解宏ADD APPLICATION MENUITEM的原理和使用 宏ADD APPLICATION MENUITEM用来装载菜单资源 其参数解释如下 第1个参数 新加菜单ID第2个参数 父菜单ID第3个参数 此菜单的子菜单的总个数第4个和第4 X个参数 分别为子菜单的ID第4 X 1个参数 隐
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届高考地理一轮复习课件 课时55 交通运输布局对区域发展的影响
- 王蒙《保证书面形式》建筑工程担保合同
- 离婚协议书范本:财产分割与子女抚养协议模板
- 离婚协议书模板:包含婚前财产协议内容
- 数字内容企业员工网络版权管理与收益分成合同
- 企业与劳动者签订劳动合同的保密协议与竞业限制条款
- 离婚双方股份分割与共同财产分割合同
- 物业管理公司员工劳动争议调解及仲裁协议
- 广告创意落地执行代理合同
- 注重团队建设提升团队执行力
- 《时尚品牌市场调研》课件
- 2025-2030年地域风味酱板鸭行业跨境出海战略研究报告
- 2025年一季度全院难免压疮风险评估上报总结分析(二篇)
- 网页设计的交互设计研究-洞察分析
- 微信零钱被冻结的保全复议申请书
- 2025-2030年中国微晶玻璃面板行业规模分析及投资前景规划研究报告
- 《矿山安全技能培训》课件
- 小学生班级安全小卫士
- 虚开增值税专用发票罪的入罪标准解读
- 2025年江苏南京市国企集团招聘笔试参考题库含答案解析
- GB/T 33761-2024绿色产品评价通则
评论
0/150
提交评论