版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MTK第一讲高伟龙主要内容1、安装联合编译软件2、代码浏览软件Source Insight的使用3、MTK软件系统的目录结构4、MTK软件开发常用目录5、一个简单的MTK MMI入门例子6、讲解例子内容:程序入口、新屏幕、全屏、清屏、设置字符串颜色函数、设置字符串显示位置函数、显示字符串函数、刷新屏幕、返回历史屏幕Source Insight1、新建项目:Project-New Project2、增加项目文件:Project-Addand Remove Project Files 3、同步项目文件:Project-Synchronize Files将项目各文件中相关的函数、变量等联系到一起,
2、快速地定位一个函数或变量所定义和使用的地方没同步的函数将是灰色的4、主要界面:Project Window:显示项目所有文件Symbol Window:显示打开文件的模块Context Window:显示鼠标所指头文件或函数的内容Source Insight5、常用功能Search在打开文件中搜索Search Files在一些文件中搜索Search Project在整个项目中搜索Replace替换打开文件中出现的Replace Files替换一些文件中出现的Go to Line调到文件的第几行6、注释字体/大小/倾斜的设置Option-Style PropertiesMTK软件系统的目录结构P
3、lutommi 整套MMI应用所在的目录Make编译链接Build编译日志和bin文件Modis模拟器MTK软件开发常用目录plutommimmi plutommimtkappplutommiCustomerCustResource plutommiCustomerImages plutommiCustomerRes_MMI一个小建议:模拟器语言设为英语MMIMMI (Man Machine Interface人机接口)对手机领域来说,就是进行移动通信的人与提供移动通信的手机之间交互的界面,包括硬件和软件人和机器的互动过程中,有一个层面,即是所说的界面例子:点击日历图标,系统就会马上转移到日历
4、的界面上去。这个过程就是由MMI来完成MTK MMI入门例子显示主菜单点击“工具箱”进入新屏幕显示字符串“Hello World!” 点击右键返回上一屏幕例子代码void EntryFirstAppScreen(void)EntryNewScreen(ORGANIZER_SCREENID,NULL,EntryFirstAppScreen,NULL);/进入新屏幕entry_full_screen();/全屏幕clear_screen();/将屏幕清成空白gui_set_text_color(gui_color(255,0,0);/设置文本颜色为红色gui_move_text_cursor(58
5、,120);/设置文本绘制的起始坐标gui_print_text(LHello World!);/打印字符串gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1);/重绘屏幕SetKeyHandler(GoBackHistory,KEY_RSK,KEY_EVENT_UP);程序入口1、MTK是一个耦合性很高的平台,很难做到使自己的程序域平全无关,很多时候程序都是和整个系统固定在一起的2、在MTK平台上编写程序,就需要在MTK这个大程序中添加一个新入口,以便让代码融入3、这个例子的程序入口是借用的主菜单中的工具箱入口,选择这
6、个模块的主要原因是其内部模块相对独立,任何改动对整个系统的影响较小4、添加新入口,下节课讲模块添加时才讲新屏幕1、UI界面开发:只要与用户打交道的功能模块,都需要一个新的窗口用来放置各种交互控件2、MMI开发:新的应用程序只要不是在运行, 都需要创建一个新的屏幕Screen(在MMI中,界面基本上都是布满整个手机显示屏, 所以称为Screen)3、如果不创建新屏幕,在显示屏幕中乱点击,可能会进入别的屏幕。原因:例子是在主菜单屏幕中绘制的,是和其他一些系统程序共用一个屏幕,当其他程序有变化时就会刷新当前屏幕,从而影响自己程序的绘制MTK数据类型U8unsigned charU16unsigned
7、 shortU32unsigned intS8signed charS16signed shortS32signed int创建新屏幕函数U8 EntryNewScreen(U16 newscrnID,FuncPtr newExitHandler, FuncPtr newEntryHandler, void *flag);newscrnID: 屏幕ID是惟一标识。每一个屏幕对应一个ID。新屏幕ID 需要声明,例子先借用organizer的屏幕IDnewExitHandler:屏幕的退出函数。系统在退出当前屏幕的时候会自动调用该函数,可以在里面做一些资源的释放工作,类似C+中类的析构函数。如果在
8、进入新屏幕的时候动态分配了内存,那么就自己编写出退出函数,进行内存释放。newEntryHandle:屏幕的入口函数。只有传入此参数,系统才会将屏幕加入历史,即系统会默认把上一屏幕压入历史栈中Flag:一般设置为NULL,目前暂时不使用全屏void entry_full_screen();1、要是不调用这个函数,屏幕上还会多显示一些东西:系统默认显示的状态信息条2、在大屏幕中,如果不强制关掉状态条,系统会一直将其显示出来清屏void clear_screen();1、将背景去掉2、系统默认不会做任何事情,所以什么事都得自己做!文本属性设置字符串颜色函数gui_set_text_color(gu
9、i_color(255,0,0);设置字符串显示位置函数gui_move_text_cursor(58,120);显示字符串函数gui_print_text(LHello World!);1、L是将字符串强制转换为Unicode 编码输入2、MTK平台默认是基于多国语言的,所以基本上与文本相关的函数都只接受Unicode编码刷新屏幕gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1);参数:X,Y,Wide,Height当所有绘画动作的代码结束时,如果不强制刷新屏幕是见不到效果的返回历史屏幕1、GoBackHistory();将使历史栈最顶端的屏幕出栈2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 染色体非整倍体无创筛查的技术瓶颈与突破方向
- 顺产产程的观察及处理
- 临夏健康管理师2025年测试试卷
- 极端低温医疗保温物资保障方案
- 高中2025责任感培养说课稿
- 医学26年老年心血管疾病义诊活动筹备查房课件
- 初中心理健康教育教案2025年沟通技巧设计
- 第20课 新文化运动与马克思主义的传播说课稿2025学年高中历史华东师大版上海第五分册-华东师大版上海2007
- 初中竞赛基础说课稿2025
- 上海工程技术大学《安全生产事故案例分析技术》2025-2026学年第一学期期末试卷(A卷)
- 七年级语文上册《古代诗歌四首》理解性默写与训练
- T/GXAS 830-2024经桡动脉穿刺介入诊疗患者术肢管理规范
- T/CADBM 8-2018建筑用冷热水输送不锈钢波纹软管及管件
- 【公开课】生活中的轴对称+课件+2024-2025学年+华东师大版(2024)七年级数学下册
- 生命教育与心理健康教育的融合路径研究
- 2025年武汉铁路局集团有限公司招聘笔试参考题库含答案解析
- DB33 1121-2016 民用建筑电动汽车充电设施配置与设计规范
- 铁塔加固改造合同
- 《商务经济学》教学大纲
- 火灾现场触电应急处理方案
- 2023年广州市黄埔区中医医院招聘笔试真题
评论
0/150
提交评论