基于MTK的手机游戏开发毕业设计--分歧终结机.doc_第1页
基于MTK的手机游戏开发毕业设计--分歧终结机.doc_第2页
基于MTK的手机游戏开发毕业设计--分歧终结机.doc_第3页
基于MTK的手机游戏开发毕业设计--分歧终结机.doc_第4页
基于MTK的手机游戏开发毕业设计--分歧终结机.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

山东建筑大学毕业论文 I 目 录 摘 要.IV ABSTRACTV 1 前 言1 1.1 MTK 的背景及研究意义1 1.2 VRE 简介.2 1.3 MTK 市场状况及发展趋势4 1.4 国外手机 MTK 应用5 1.5 VRE 平台终端拓展.5 1.6 MTK 核心技术点5 1.7 MTK 的人才需求情况6 2 VRE 平台的详细介绍.7 2.1 VRE 概述.7 2.1.1 VRE 的概念 .7 2.1.2 VRE 的背景 .7 2.2 VRE 技术构架.8 2.3 技术比较.11 3 应用开发环境搭建.14 3.1 环境搭建.14 3.1.1 SDK 安装 .14 3.1.2 SDK 目录结构 .15 3.2 WIN32 插件.15 3.2.1 插件组成 .15 3.2.2 模拟器 .16 4 分歧终结机的设计.19 山东建筑大学毕业论文 II 4.1 设计概述.19 4.2 VRE 开发步骤.19 4.3 程序流程图.19 4.4 设计流程图.20 4.5 创建新工程.21 4.6 应用程序框架 .24 4.6.1 系统消息 24 4.6.2 键盘消息 .25 4.6.3 笔触消息 25 4.7 基础操作 .25 4.7.1 字符串操作 .25 4.7.2 按键与笔触 .26 4.7.3 资源 .26 4.7.4 定时器 .27 4.8 修改应用程序的图标和标题 .29 4.8.1 VRE 资源信息介绍 .29 4.8.2 修改应用程序的图标 30 4.8.3 使用资源管理器 30 4.8.4 修改应用程序的标题 .30 4.9 界面设计及菜单的绘制.30 4.9.1 界面设计 .30 4.9.2 绘制菜单 .32 4.9.3 绘制显示图片界面按钮 .33 4.9.4 处理用户按键 .33 4.10 资源管理器的使用-加载图片33 4.10.1 资源外部加载原理 .33 4.10.2 图片资源加载 .34 4.10.3 导入资源 .35 4.10.4 加载图片资源 .36 4.11 图片绘制 .37 山东建筑大学毕业论文 III 4.11.1 随机数 .37 4.11.2 根据随机数绘制图片 .38 4.12 使用定时器制作动画效果 .38 4.12.1 定时器概述 .38 4.12.2 创建定时器 .38 4.12.3 删除定时器 .38 4.12.4 定时器使用实例 .38 4.13 程序编译调试.39 4.13.1 模拟调试 .39 4.13.2 真机调试 .40 谢 辞.46 参考文献.47 附 录.48 山东建筑大学毕业论文 IV 摘 要 随着世界移动通讯市场的迅速发展,手机让我们充分享受到无线通信的魅力。在高 速发展的手机市场,MTK 以在市场超过 40的手机基带芯片份额成为目前国内最大的 手机方案提供商。 VRE(Virtual Runtime Environment)是 MTK 子公司沃勤自主研发的针对移动终端 设备的中间件解决方案。VRE 包括嵌入式中间件平台和服务运营系统,为移动终端设 备提供了一个完整高效的开发平台,使得终端制造商可以在跨芯片平台上进行手机系统 研发,同时也使得移动应用商能够得到开发工具和支持。 本文根据 VRE 平台中定时器、资源管理器及动画制作的原理,通过设定 VRE 定时 器的定时时间、制作应用程序图标和游戏图片、设定随机数的产生方式、设计手机处理 动画,实现一款经典手机游戏-分歧终结机。它可以使争端双方在指定的时间内出剪刀、 石头、布,从而消除因为作弊给人们带来的分歧。 关键词:手机游戏;MTK;VRE;分歧终结机 山东建筑大学毕业论文 V Design of Mobile Games Development Program Based on MTK ABSTRACT The development of World Mobile Communication Market is fully rapid in recent decades. Now the Mobile phone makes us fully enjoy the convenience of the wireless communication. In the rapid growing mobile phone market,More and more mobile solution providers has appearedMTK is the largest provider in the domestic marketAt present, it has more than 40share of mobile phone. VRE (Virtual Runtime Environment) is a middleware solution which is developed for mobile terminal devices by Vogins, which is a branch company of MTK.VRE contains embed middleware platform and service operation system, which provides an efficient and comprehensive platform for mobile terminal devices. Terminal manufacturers can develop the mobile system in the cross-chip platform, and mobile application providers can also acquire development tools and support. According to the principles of the timer, explorer and animation production, we design a classic mobile game called “Terminator of confliction” by setting VRE timer, making icons of applications and pictures of games, setting the way which the random number is produced and design animation processed by the mobile. It makes the two sides in dispute show scissors, stone and cloth within the prescribed time so that a dispute caused by cheat will be eliminated. Key Words: mobile games; MTK; VRE; Terminator of confliction 山东建筑大学毕业论文 1 1 前 言 1.1 MTK 的背景及研究意义 1 MTK 的背景 MTK 是联发科技股份有限公司的英文简称,英文全称叫 MediaTek。 联发科技股份有限公司,创立于 1997 年,是世界顶尖的 IC 专业设计公司,位居全 球消费性 IC 片组的领航地位。产品领域覆盖数码消费、数字电视、光储存、无线通讯 等大多系列,是亚洲唯一连续六年蝉联全球前十大 IC 设计公司唯一的华人企业,被美 国福布斯杂志评为“亚洲企业 50 强”。MTK 通常指的是联发科公司研发的基于手机 平台的解决方案。 现在的手机集成了越来越多的功能,如摄像头、触摸屏、 蓝牙等,这些功能的实现,需要多种控制芯片,MTK 就是 通过提供包含多套不同功能的芯片形成个性化的、高度集成 的多媒体基带芯片方案。当拆开一部手机的电路板,如果发 现几块芯片上都有右图中的 M 标志,则说明该手机使用的 是 MTK 平台。 MTK(MediaTek)平台近几年来异军突起,接近 70的国产手机采用 MTK 的芯片和 平台,它提供高度集成的多媒体基带芯片方案。其整个软件体系可以划分为移动通信协 议栈、操作系统、数据业务、本地存储、MMI 和其它应用几大部分。其中移动通信协 议栈提供蜂窝移动网和与其相连接的其它公共移动网之间建立、维护和释放电路交换的 功能。MMI 是整个系统的最上层,解释用户的各种命令并发送消息到相应的处理模块 等待系统控制及处理并将系统收到的消息反馈给用户。MTK 中,设计了一个操作系统 适配层(KAL)使得上层软件独立于 Nucleus 操作系统,可以对各种复杂的任务根据一定 的准则进行调度。 和别的厂家的方案比,MTK 芯片有着完工率高,价格低廉等优势。MTK 芯片采用 Turnkey(一站式方案)模式、基带芯片、操作软件,甚至液晶、摄像头等部件都可以 “一站解决”,大大缩短了手机的生产环节并降低了研发成本。使用 MTK 平台解决方案 的手机只要稍稍的加工就可上架出货了,这也正是包括联想、波导、TCL、海信等国产 手机厂商及飞利浦等国际手机厂商都使用 MTK 的最主要原因。 山东建筑大学毕业论文 2 虽然使用 MTK 平台的手机设计和生产企业数量不断增加,但是真正得到联发科技 技术支持的企业并不多,特别是软件方面,资料以及开发工具很难得到,而且软件开发 更是靠工程师自己摸索。 2 MTK 的特点 1、性能稳定: MTK 的最底层和上层软件比较统一,射频一般都是在-107dBm 以 下。MTK 手机软件由于是大量采用全局变量编写代码,避免了内存泄漏,死机问题很 少发生。 2、速度快:由于 MTK 公司提供全套解决方案,开发难度比较低,开发速度快。 且采用 C 语言开发,程序直接运行编译后的二进制代码,执行效率高。 3、技术入门快:对于有一定 C 语言基础的人来说,学习和掌握 MTK 开发技术快。 3 MTK 的平台优势 1、庞大的用户群体,国产手机 90%使用的是 MTK 平台。 2、性能稳定,功耗低,符合中国用户使用需求的手机操作系统。 3、MTK 公司提供全套的解决方案,开发难度较低,开发周期短。 4、MTK 芯片采用 Turnkey(一站式方案)模式、基带芯片、操作软件,甚至液晶、 摄像头等部件都可以“一站解决”,大大缩短了手机的生产环节并降低了研发成本。 5、开发成本低廉。主要的手机厂商及 IC 供应商如表 1.1 所示: 中国主要手机厂商及其 IC 供应商 手机公司公司名称主要 IC 供应商 联想MTK 天宇MTK 步步高MTK 康佳MTK 手机厂商 TCLMTK Longcheer(龙旗)MTK SIM Tech(晨讯)MTK 华擎MTK 经纬MTK 手机设计公司 鼎为MTK 图 1.1 主要的手机厂商及其 IC 供应商 山东建筑大学毕业论文 3 1.2 VRE 简介 VRE(Virtual Runtime Environment)是 MTK 子公司沃勤自主研发的针对移动终端 设备的中间件解决方案。VRE 包括嵌入式中间件平台和服务运营系统,为移动终端设 备提供了一个完整高效的开发平台,使得终端制造商可以在跨芯片平台上进行手机系统 研发,同时也使得移动应用商能够得到开发工具和支持。 1、VRE 应用开发者 -VRE 构建了一个跨平台的编译环境使得基于 VRE 开发的应用软件能在多种类型 的手机平台上顺畅运行。 -VRE 的 OTA 功能使得没有 JAVA 或智能操作系统的低配置手机也能方便的下载 和运行应用软件。 -VRE SDK 及 VRE 平台的跨平台性能更能方便开发者针对多种平台开发应用软件 -VRE 及 VRE 的多种优势使开发者跟愿意选择使用 C 语言为手机开发应用。 2、VRE 的 OEM 及制造商 -VRE SDK 帮助手机设计公司及制造商能方便的在多种平台上进行软件研发。 -VRE 的手机设计工具让手机设计和制造商能简单更高效的研发新手机。 -即使是面对多种芯片组的手机方案也能轻松应对。 -VRE 开发者群体能为手机设计和制造上带来大量丰富的应用软件是手机更具竞争 力。 3、VRE 运营商 -VRE 为不同的消费群体提供了丰富的应用软件。 -VRE 为移动用户提供了完整的内容分发服务。 -VRE 应用管理平台也为内容运营提供了合理的计费服务。 -通过 VRE 平台预装将最有价值的应用和服务带到手机用户的手中。 4、VRE 芯片制造商 -VRE 提高了芯片方案对应用软件的支持能力,使得选用支持 VRE 的芯片方案的手 机获得更多的应用支持和价值体现。 -VRE 能帮助芯片厂商的客户更方便的设计手机方案。 -VRE 多样的应用软件使芯片方案更有价值和竞争力。 5、VRE 用户 山东建筑大学毕业论文 4 -VRE 为用户提供了丰富的手机游戏和应用产品,以娱乐和实用为主,手机功能更 强大,与智能手机相媲美。 6、VRE 平台特点 MTK 标准的应用软件运行环境 高效动态装载和 OTA 运营灵活的 APP STORE 完善的 SDK 和开发工具 7、VRE 平台优势 最稳定(MTK 34N 测试) 最安全(数字证书和沙箱) 最具终端影响力(09A 起标配,版本向前兼容) 最大应用规模 MTK 标准,API 全面丰富 完全中立的开放平台,值得 CP 长期信赖 最强技术支持(MTK/沃勤) 1.3 MTK 市场状况及发展趋势 MTK 目前在国内市场上占有很大的优势,其销量占到了全国手机销售的 50%左右, 年出货量 2 亿部。MTK 不仅在国内市场业绩良好,在新兴市场需求也十分旺盛,由于 金融危机,海外新兴市场对价格便宜的国产手机越来越认可。而金融风暴对手机市场的 影响主要在欧美地区,相反,印度、拉丁美洲、非洲和俄罗斯等新兴市场的手机市场还 在增长。 MTK 手机覆盖 GSM、GPRS、EDGE、TDSCDMA、WCDMA、CDMA2000 所 有通信制式。 联发科财务长兼新闻发言人喻铭铎也表示,联发科的芯片方案已经通过了全球超过 50 个国家和地区 150 个运营商以上的完整路测(Field Trial)。比如,为了适应印度的方 言之多,联发科的芯片方案中竟支持多达 8 种印度方言文字和输入法。 MTK 手机芯片的成熟度不仅提升了国产手机的质量,同时也提升了中国手机的全 球认可度。 08 年 MTK 手机国内出货量超过 1.6 亿部,占据 70%以上的国产手机份额。 MTK 手机覆盖 GSM、GPRS、EDGE、3G 所有通信制式。 山东建筑大学毕业论文 5 波导手机在 2006 年针对市场变化引进了 MTK 多媒体平台,大大缩短了产品研发 周期,同时这一技术让波导的海外业务发展获得新的动力。 TCL 通讯总裁表示:MTK 将成为 TCL 产品主要应用的技术平台之一。 国产老牌康佳手机总经理认为:MTK 多媒体平台使康佳节省了大量重复性的产品 开发,增大了研发效率。 今年以来,MTK 前 7 个月的合并营收已经达到 626.17 亿元新台币,与去年同期相 比增长了 25.26%。 1.4 国外手机 MTK 应用 2009 年甚至未来几年内,MTK 将会占据越来越大的份额。沃勤 VRE 平台未来两 年计划覆盖 50%-80%的新出货 MTK 手机,即到 2011 年末市场上有至少 1.6-2 亿部手 机会预装 VRE 平台。 目前已经有数百家手机软件开发企业参与到沃勤平台的项目上来。合作企业主要分 部在北京、上海、深圳,提供的产品类型有应用和游戏两大类。 1.5 VRE 平台终端拓展 2009 年 7 月,集成 VRE 开发环境的 MT09A 方案将推向市场。 截至 2009 年底,预计 VRE 全年覆盖量将新增 1000 万台。 截至 2010 年中,自 MT09A 方案推出后,年度覆盖量新增 2000 万台。 主要渠道:品牌厂商(天语、联想、金立、康佳、TCL) 。 1.6 MTK 核心技术点 VRE(Virtual Runtime Environment)是 MTK 子公司沃勤自主研发的针对移动终端 设备的中间件解决方案,主要针对 MTK 手机使用。VRE 具有的技术特点主要有如下几 点: 1、VRE 嵌入式中间件 通过搭建 VRE 中间件软件,VRE 为移动终端提供了一个应用软件运行环境,使得 基于 VRE SDK 开发的应用软件能在各种不同类型的手机平台上顺畅运行,实现了跨平 台性。一次开发,只要做简单的适配即可在多个手机平台上运行,无需为特定的手机平 台开发专有版本。同时在原生平台的基础上提供了丰富的 framework,使得无论制造商 还是应用商的开发得到更多更好的支持。 山东建筑大学毕业论文 6 2、自主研发的 OTA 下载及动态链接技术 VRE 通过独有的动态链接技术实现了基于 VRE 开发的应用软件的 OTA 及动态加 载功能,使得移动终端能灵活的存储和加载应用软件,而无须再采购 JVM 或者其他同 类虚拟机产品。 3、应用软件运营管理平台 VRE Server VRE Server 为基于 VRE SDK 开发的应用软件提供了完善的运营和管理平台, 使 得应用服务运营商能够灵活的运用 VRE Server 系统进行服务运营和应用提供。 4、完善的开发者支持网络 VRE 为开发者和设备制造商提供了高效的开发工具(SDK)及应用软件编译环境, 使得开发者在基于 VRE 平台环境开发应用软件更方便快捷。 5、完善的移动终端设计开发工具 VRE 为移动终端设备制造商提供了高效 Phone Design Tool 开发工具及软件编译和 测试环境,使得移动终端开发者在基于 VRE 终端平台环境开发应用软件能够跨平台, 且更方便快捷而具有继承性。 1.7 MTK 的人才需求情况 未来两年 MTK 手机在中国的市占率不低于 50%,每年的 MTK 手机销量不低于 2 亿部,市场潜力巨大。同时 MTK 的合作伙伴公司数量也在日益增加,目前已经有数百 家手机软件开发企业参与到沃勤平台的项目上来,各大国产手机公司的 MTK 人才需求 不断增长。 山东建筑大学毕业论文 7 2 VRE 平台的详细介绍 2.1 VRE 概述 2.1.1 VRE 的概念 VRE(Virtual Runtime Environment)是一种独立的系统软件,是功能手机上的一个 运行环境。它位于手机的操作系统之上,管理系统资源和网络通信。应用程序借助 VRE 访问底层系统资源。对于使用封闭系统的功能手机,中间件能够有效丰富手机功 能,并且降低手机应用开发的技术门槛。 VRE 作为一个应用程序开发中间件,提供一套应用程序接口(Application Program Interface,API) ,开发人员不必关心底层平台的数据结构和设备驱动程序,程序开发人 员可以使用这套 API 开发应用程序,也可以基于这套 API 对运行环境进行扩展。 2.1.2 VRE 的背景 1、手机分类 按照市场定位来分,手机可以分为智能手机和功能手机,智能手机是一个开放的移 动计算平台,通过开放的操作系统吸引众多的开发者,以丰富多样的应用程序满足不同 用户的需求。功能手机使用封闭的操作系统,目标是在一定的硬件配置下满足尽可能多 的通信需求。 智能手机和功能手机的差异如下: (1)价格。智能手机价格高于功能手机,目标用户群是高端用户及专业玩家,功能 手机用户群则是中低端用户。 (2)开放性。开发者能够在智能手机上开发各种应用程序,在手机硬件能支持的前 提下,功能可以无限扩展,而功能手机只向手机制造商提供开发工具,投放市场后功能 无法更新。 2、手机产业价值链 在手机制造环节里并没有应用开发商的角色,手机用户所看到的功能就是手机制造 商设计手机时所定义的功能。对于功能手机,这是一个封闭的价值链,手机只是一个硬 件产品,无法为价值链带来附加价值,也难以保持手机用户的忠诚度。图 2.1 是传统的 手机制造价值链。手机设计商在开发手机软件时需要手机应用开发商开发手机内置应用。 设计商把手机软件开发包只授权于合作的手机应用开发商。因此众多的手机应用开发商 山东建筑大学毕业论文 8 不能容易的进入功能手机应用软件的价值链中。 图 2.1 传统的手机制造价值链 国内手机市场是一个充分竞争的市场,这个市场的特点是价格战成本和利润 会越来越低。应用开发商的引入能够为手机产业带来两个好处:第一是应用所带来的增 值收入,第二是通过改进软件功能来保持用户忠诚度。引人中间件的同时众多的应用开 发商也可以借助中间件进入这个价值链。手机设计商在软件设计时移植入中间件,中间 件通过动态加载扩展手机应用,应用开发商基于中间件来开发,无需关心底层手机系统 差异。引入中间件后,可动态装载的应用软件解决了功能手机封闭性问题,应用软件除 了满足手机用户多样性的需求以外,还为价值链中其他环节带来了附加收入,图 2.2 是 引人中间件后的手机制造价值链。 图 2.2 引入中间件后的手机制造价值链 目前向国产手机提供解决方案的芯片厂商有:联发科、展讯、安凯、高通等。联发 科占有大部分市场份额,展讯其次。不同平台的软件接口完全不同,程序要实现跨平台 移植需要投入大量的人力和物力。 手机制造商,从公司归属地可以分为国产手机厂商 和国际手机厂商。国际手机厂商主要是诺基亚、摩托罗拉、三星、LG 和索尼爱立信。 国内手机厂商主要包括:金立、TCL、康佳、天语、联想、万利达、七喜和一些出货量 大的厂商。 2.2 VRE 技术构架 VRE 在手机软件系统中所处的层次如图 2.3 所示。VRE 对底层系统接口做封装后 提供给上层应用使用。 山东建筑大学毕业论文 9 图 2.3 VRE 所处层次 VRE 自身采用的是层次模型共分为两层,底层是软件抽象层,上层是核心层。通 过层逐步抽象不同平台的差异,再在抽象基础上扩展平台功能,对上层应用提供平台无 关的编程接口。应用程序基于 VRE 开发,可以使用两个层提供的接口。架构如图 2.4 所示。 图 2.4 VRE 架构图 VRE 软件抽象层(Software Abstract Layer,SAL)封装了宿主系统的编程接口,对 上层应用提供了平台无关的编程接口。现在功能手机采用的手机系统多种多样,应用程 序之间基于手机系统开发将消耗巨大的工作在程序的移植上。通过 VRE 中间件的软件 山东建筑大学毕业论文 10 抽象层,把不同系统的接口的差异化进行屏蔽。使得应用程序无需再关心底层系统。 VRE 软件抽象层各个模块如图 2.5 所示。各个模块的主要功能、说明在图中做了描述。 图 2.5 软件抽象层模块 内核扩展层实现了与宿主系统无关的核心功能,与 SAL 一起为应用程序提供二进 制兼容运行环境。扩展层把应用程序中频繁复用的模块进行整合,把这些模块的实现集 成到 VRE 中间件中,使得应用的开发更为方便。 VRE 核心扩展层各个模块如图 2.6 所示。各个模块的主要功能、说明在图中做了描述。 山东建筑大学毕业论文 11 图 2.6 核心扩展层模块 2.3 技术比较 在一款操作系统上开发的软件很难应用在其他操作系统上,比较理想的情况是有一 个统一的 API 操作系统,这样使在其他系统上开发的独立应用也可以通用,减少移植 或者增加兼容性,这样给用户提供可使用的软件就会越来越多,就可以更吸引用户使用 功能更新的手机。中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系 统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供 运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在不同操作系 统上有一个共同的软件层,既可以避免系统的分散化,又可以让应用丰富起来,更快速 地到达最终消费者。现在较为成熟的解决方案主要有 SUN 公司的 J2ME(Java 2 Micro Edition)虚拟机方案。基于 JAVA 开发的手机应用可以运行在 SUN 定制的统一的 J2ME 标准虚拟环境中,现在大部分中高端的手机都已经集成了 J2ME 运行环境。 J2ME 虚拟机解决方案虽然能够提供程序的开发和运行环境,但虚拟机解决方案存 在以下问题: 1、资源开销大。虚拟机实现了一块软 CPU,对目标平台的内存和处理器要求较高, 增加的 RAM 和 ROM 需求也提高了手机生产成本。 山东建筑大学毕业论文 12 2、有限开放。由于应用程序所能调用的系统功能需要通过虚拟机转发,因此应用 程序所能使用的功能取决于虚拟机实现。 3、可运营性。中国移动的百宝箱业务实现了 J2ME 的计费和支持,由于国产手机 配置较低而导致 J2ME 程序移植周期长,面对着一个月能够推出几十款的国产手机市 场,高昂的移植成本使百宝箱业务难以在国产机上推广。而其他一些私有的虚拟机解决 方案则不对外开放,只作为生产商的自有业务运行平台,难以构建无线应用价值链。 4、需支付版权费。JAVA 不是免费的,手机预装 J2ME 运行环境需要支付一定的 版权费用,这无疑对成本非常敏感的功能手机有较大的影响。 VRE 与 J2ME 部分指标比较如表 2.7 所示。 表 2.7 技术比较 从图 2.7 中可以看出,可以得出 VRE 的几点结论: 第一,VRE 在 ROM/RAM 的需求上相对于 J2ME 要小许多。VRE 功能的实现主 要采用的是直接封装底层系统的接口的方式,这样可以省略去庞大的实现逻辑,从而缩 减 VRE 对 ROM 的占有。 第二,VRE 程序运行时所需 RAM 较小。VRE 在启动时首先向系统内存分配一 块大的内存,这块内存的大小只要系统运行可以分大一些。但一般手机设计商往往对申 请空间大小做限制。因此,VRE 在申请内存时是跟特定的手机系统相关的,一般分配 山东建筑大学毕业论文 13 800K 的大小。 第三,在执行效率上 VRE 也是比较高的。VRE 程序编译生成的二进制的原生代 码,程序加载到内存后,直接可以运行。较 J2ME 的先编译成字节码,再在虚拟机中 解释执行的方式,在速度上有一定的优势。 第四,VRE 可以提供丰富的功能。VRE 可以通过在软件抽象层封装系统的功能, 把手机系统底层的功能提供给上层应用的开发。充分发挥底层系统的功能。Java 应用程 序需遵照 MIDP 和 CLDC 规范编写,如需申请新的功能需走复杂且漫长的 JSR 申请流 程。 3 应用开发环境搭建 3.1 环境搭建 3.1.1 SDK 安装 山东建筑大学毕业论文 14 1、前置要求 在安装 VRE SDK 前,请确认已经成功安装 ADS1.2(ARM Developer Suite)和 Visual C+ 6.0。 2、系统要求 建议安装在 Windows XP SP2 系统上。 3、安装目录 建议安装在默认路径。 4、使用 Pre-Installer 先运行 ideinstaller,按默认路径安装。若安装过程顺利则无需运行 Pre-Installer。 若安装过程中提示:The installer can not detect Visual C+ 6.0 and will stop the installation。请先运行 Pre-Installer。 VRE SDK 的安装需查询 VC6.0 和 ADS1.2 的相关安装信息。因现在流传的 Visual C+ 6.0 和 ADS1.2 版本有一定的差异。若干版本为绿色安装版本,没有往注册 表写入相关程序信息。 启动 VRE IDE Pre-Installer 后,VRE IDE Pre-Installer 会检测 Visual C+ 6.0 和 ADS 1.2 的相关设置。如果未检测到 VC6.0 的安装信息,编辑栏置空并且“Path”按钮 可用。反之编辑栏显示 VC 的安装路径。当 ADS1.2 被检测到,并且已设为当前使用 的 ARM 编译系统时, “Reset ARM-Related Environment Variables”检查按钮被忽略(不 显示) 。反之, “Reset ARM-Related Environment Variables”检查按钮显示。 点击“确认”后, 即可修正相关的设置,使 VRE IDE 得以正常安装和运行。 图 3.1 选择 Visual C+6.0 安装路径 山东建筑大学毕业论文 15 VC 的安装路径是指包含有“DEVENV.EXE”的路径,在点击“Path”按钮后,回弹出 文件选择框,请选取“DEVENV.EXE”。通常 VC 会安装在某一磁盘下,“Program FilesMicrosoft Visual StudioCommon”。DEVENV.EXE 这个文件无实际作用,只起定位 作用。若有 ProgramFilesMicrosoft Visual StudioCommonIDEIDE98 目录,可选目录下 任意一个文件。 5、工具条按钮 打开 VC6.0,点选菜单 tools-customize-add-ins and Macro Files 选 IDErm.DSAddin.1。出现图标。 3.1.2 SDK 目录结构 AppRes VRE 应用程序默认图标 Base 创建可执行文件辅助程序 Bin SDK 可执行工作 Doc 开发文档 Html API 文档 Include VRE 头文件 Lib 库文件 Src 模拟器资源 Uninstall 卸载程序 3.2 WIN32 插件 3.2.1 插件组成 VRE SDK 安装成功后,会向 VC6.0 添加插件。插件包括:VRE 模拟器,平台管理 器,资源管理器,VRE 应用程序生成器。 VRE 模拟器在 PC 上模拟了目标平台的大部分基本的特性:屏幕,键盘,笔触,音 频播放,电话和短信收发。VRE 模拟器同时在 PC 上模拟实现 VRE 系统的 API,使 应用程序的源代码同时可以在模拟器上执行。 平台管理器提供平台管理功能。通过图形界面创建新的平台设定。在统一的图形界 面中完成对不同平台的参数(内存和屏幕尺寸,编译参数,连接库)的设置。 资源管理器提供资源管理功能。通过一个图形界面对应用程序所需要使用的资源进 行管理,可以实现对资源的添加,删除和修改。 山东建筑大学毕业论文 16 VRE 应用程序生成器使用户可以在一组对话框的引导下输入相关的信息从而完成应 用程序代码与资源的整合以及对应用程序的签名。 3.2.2 模拟器 手机模拟器为 PC 侧 VRE 平台提供的一个调试工具,该工具通过对真实手机按 键、屏幕显示、等功能的模拟,使开发的终端应用程序运行在手机模拟器上进行调试时, 在 PC 机环境能够实现与真实手机一致的仿真效果。同时,基于 PC 侧 VRE SDK 开发 的终端应用程序通过手机模拟器的调试后,其代码无需更改,便可方便地加载到真实终 端环境。 在 VC 中编译成功后,运行当前应用(Ctrl+F5),手机模拟器程序会立刻启动。此 时,模拟器程序自动从工程根目录下的 vre_dev.ini 配置文件中读取手机信息,根据其 中的配置参数初始化手机屏幕的大小,同时显示相应的手机图片。截图如下: 图 3.2 模拟器程序截图 1、按键功能模拟 按在配置文件设定按键的映射关系后,当鼠标点击手机图片上按键的有效矩形区域 时,手机模拟器显示键盘按下效果,并且向终端应用程序发送与该区域映射的键盘按键 山东建筑大学毕业论文 17 消息, 实现与在真实终端上按键操作一致的效果。同时,对手机模拟器图片上的按键 可通过在 PC 机键盘上的按键操作达到相同的效果。PC 机键盘上的按键与手机键盘的 映射参见附录。 2、笔触功能模拟 启动手机模拟器且运行所调试的终端应用程序后,如鼠标点击手机模拟器上的显示 屏幕,手机模拟器向终端应用程序发送笔触事件,终端应用程序则根据不同的事件类型 完成相应的处理。 3、显示功能模拟 当通过手机模拟器在 PC 机环境调试开发的终端应用程序时,在手机模拟器上的显 示屏幕上显示的终端应用程序界面达到与真实手机显示屏幕上一致的效果。 4、内存状态显示 模拟器能够对 VRE 系统当前的内存使用状况进行统计。统计分成两个部分,一是 系统整体的内存使用情况,二是应用程序对内存的使用情况。系统内存状态主要包括系 统内存总量、系统当前可用内存空间、系统已占有空间、内存使用峰值、分配次数、释 放次数、分配失败次数、分配失败最大块。应用内存状态主要包括应用内存总量、应用 程序动态加载到手机内存中占用的空间、应用可用内存、应用占用内存、应用分配次数、 应用释放次数、分配失败次数、分配失败最大块。 其中应用程序动态加载到手机内存中占用的空间是指应用程序通过 ARM 编译(安 装 VRE SDK 后 VC6.0 中会添加 VRE TOOLBAR,做好相应配置后,点击 MAKE 按 钮编译)后生成 AXF 文件,该文件被加载到手机内存中时,占用的内存空间。 5、外部事件模拟 手机模拟器现能对来电、来短信事件进行模拟。应用开发人员可以在应用程序运行 时,打开来电和短信事件模拟界面,对应用程序发送外部事件。 6、SIM 卡状态模拟 手机模拟器现在支持 SIM 卡的三种状态,分别是未插入、中国移动、中国联通。开 发人员可以通过选择切换 SIM 卡状态。 7、日志即时输出 应用开发人员在应用程序中使用日志输出先要初始化日志。确定日志文件保存路径。 在应用程序中调用日志输出接口比如 vm_log_debug,在 VC6 中调试程序时,日志信 息会即时在 debug 窗口中输出,同时也会在日志文件中保存日志信息。 山东建筑大学毕业论文 18 8、字体 不同目标平台可能使用不同的字库,因而造成字体显示的差异。为了方便开发时对 不同字体的适应,VRE 模拟器支持运行时的字体设定。字体设定的范围以字体的点阵 高度计,从 12 到 28,能覆盖常规字体的高度范围。 4 分歧终结机的设计 4.1 设计概述 本次设计通过学习在 VRE 定时器、资源管理器及动画制作的原理,实现一款经典 小游戏-分歧终结机。通过本次设计熟悉 VRE 定时器的使用、图片的绘制、随机数的产 生方式、及资源管理器的使用,并掌握手机处理动画的原理、应用程序图标和标题的制 作。 4.2 VRE 开发步骤 VRE 开发的基本进程: 1、启动 Visual C+ 6.0 2、使用 VRE IDE AppWizard 创建工程 3、利用 Visual C+开发程序 4、使用 VRE 模拟器调式 5、使用应用程序生成器生成可执行文件 6、把可执行文件部署到手机 VRE 目录下 7、真机运行调试 4.3 程序流程图 整个程序流程描述如下: 山东建筑大学毕业论文 19 执行程序后,首先进入欢迎界面,按 OK 键准备出拳,按退出键退出程序。准备出 拳后屏幕上会随机显示剪刀、石头或布,再次按下 OK 键会决定出拳,按右侧的返回键 会返回欢迎界面。如图 4.1 所示: 开始 欢迎界面 退出准备出拳 决定出拳 按键 OK键 OK键 退出键 返回键 图 4.1 程序流程图 4.4 设计流程图 整个设计流程共分为五步。第一步是修改应用程序的图标和标题,包括 VRE 资源 信息简介、修改应用程序的图标、修改应用程序的标题;第二步是界面设计和菜单的绘 制,包括界面设计、绘制菜单、绘制按钮和处理用户按键;第三步是使用资源管理器进 行图片加载,包括资源外部加载原理、使用资源管理器加载图片和图片的导入;第四步 是图片的绘制,包括随机数的设置、获取系统时间和绘制图片。第五步是使用定时器制 作动画效果。如图 4.2 所示: 山东建筑大学毕业论文 20 修改应用程 序的图标和 标题 VRE资源信息 介绍 修改应用程 序的图标 修改应用程 序的标题 界面设计及菜 单的绘制 绘制菜单 界面设计 处理用户按键 绘制按钮 资源管理器 的使用-图片 加载 资源管理器加 载图片 图片资源导入 资源外部加载 原理 图片绘制 图片绘制 获取系统时 间 随机数 使用定时器 制作动画效 果 定时器的使用 图 4.2 设计流程图 4.5 创建新工程 VRE Application Wizard 能够创建一个包含 VRE 简单示例程序的工程。 山东建筑大学毕业论文 21 打开 Visual C+ 6.0,点击 FileNew 创建新工程,在 Projects 中选择 VRE Application Wizard,填写工程名,选择工程保存路径,点击 OK 键进入下一步,如图 4.3 VRE Application Wizard 所示。 图 4.3 VRE Application Wizard 工程向导的第一步是设置应用的自身属性。设置内容包括应用适应的屏幕分辨率、 内存适配大小、开发人员姓名、应用在手机上显示名称。屏幕分辨率包含 QCIF(176*220)/QVGA(240*320)/WQVGA(240*400)。内存适配大小是指底层 VRE 平台 所提供的内存空间,应用的代码、资源等所有消耗的空间都在该空间内申请。因 VRE 提供的内存空间大小会根据目标设备进行调整,应用要覆盖更多设备需尽力减小内存开 销。显示名称是指应用部署到手机上后,在手机上显示的名称。配置界面如图 4.4 应用 属性设置所示。 山东建筑大学毕业论文 22 图 4.4 VRE Application Wizard 应用属性设置完成后点击 Finish。确认无误点击 OK 键完成工程创建。如图 4.5 确 认创建所示: 图 4.5 确认创建 点击 OK 完成工程创建,在工程 workspace 处选择浏览新创建的代码。如图 4.6 浏 山东建筑大学毕业论文 23 览文件所示。 图 4.6 浏览文件 4.6 应用程序框架 VRE 程序的入口函数为 vm_main()。 在 vm_main()内部注册三类消息的处理函数: 1、系统消息; 2、键盘消息; 3、笔触消息。 此外还可以在该函数内部做些日志系统初始化、应用目录创建等操作。 4.6.1 系统消息 1、VM_MSG_CREATE:程序被创建。当 vm_main 内代码执行完毕后,VRE 平台通 过发送该消息,告诉应用已经被创建。应用可以在该消息到来时做应用自身的初始化动 作。 2、VM_MSG_PAINT:重绘消息。 3、VM_MSG_INACTIVE:有外部事件,去活应用。当有来电、短信、USB 插拔等外 部事件时,应用需要做挂起动作,停止屏幕绘制操作。 4、VM_MSG_ACTIVE:外部事件处理完毕,激活应用。此时应用重新运行并可以往 显示缓冲进行绘制。 5、VM_MSG_QUIT:退出消息。当 VRE 平台发送该消息时,应用需释放所有占用的 山东建筑大学毕业论文 24 资源,如定时器、动态申请的内存。会在手机按挂机键时会触发该消息。 4.6.2 键盘消息 1、键盘按下 VM_KEY_EVENT_UP 2、键盘释放 VM_KEY_EVENT_DOWN 两种消息。 通过注册的按键事件处理回调函数的参数 VMINT message 来判断是按下还是释放, 通过回调函数参数 VMINT param 来判断当前所按是哪个键,具体键值请查询 VRE API 文档。 4.6.3 笔触消息 1、按下 VM_PEN_EVENT_TAP 2、释放 VM_PEN_EVENT_RELEASE 3、移动 VM_PEN_EVENT_MOVE 通过注册的按键事件处理回调函数的参数 VMINT message 来判断消息类型,通过 回调函数参数 VMINT x, VMINT y 来判断当前笔触坐标。 4.7 基础操作 4.7.1 字符串操作 VRE 提供的了字符串操作。如: 绘制字符串:vm_graphic_textout; 获取字符宽高:vm_graphic_measure_character; 获取字符串长度:vm_graphic_get_string_width 等。更多接口在 vmgraph.h 中。 在 VRE 上字符串采用 UCS2 编码。在输出前应保证字符串编码格式的正确。与编 码相关的操作接口有: vm_gb2312_to_ucs2 vm_ucs2_to_gb2312 vm_ucs2_string vm_gb2312_string 山东建筑大学毕业论文 25 此外在 vmstdlib.h 中有字符串操作辅助函数。 VRE 可以通过接口 vm_graphic_set_font 来设置输出字符字体大小。但手机厂商常 常为了缩减 ROM 空间,删除部分字库,从而导致 vm_graphic_set_font 接口在设置字 体时无效。此外,由于不同的手机型号提供的字体大小是不同的,也就存在某个型号手 机上文字显示的位置和效果是可以的,而在其他型号的真机上就会出现文字太长偏出或 太小的情况。因此字符串的输出常常要根据系统的字库字体的大小自适应调整显示效果。 接口在设置字体时无效。此外,由于不同的手机型号提供的字体大小是不同的,也就存 在某个型号手机上文字显示的位置和效果是可以的,而在其他型号的真机上就会出现文 字太长偏出或太小的情况。因此字符串的输出常常要根据系统的字库字体的大小自适应 调整显示效果。 4.7.2 按键与笔触 按键和笔触事件处理是程序与用户交互的最基本手段。两类事件通过在 vm_main 中注册事件处理函数来响应用户的操作。 按键状态:按下、释放(暂未支持保持): VM_KEY_EVENT_UP/VM_KEY_EVENT_DOWN; 在集成键盘输入接口时,VRE 把平台的键盘码统一为标准键盘码,应用程序只需 要处理 VRE 预定义的键盘码。键盘码定义见附件。 笔触状态:按下、释放、移动: VM_PEN_EVENT_TAP/VM_PEN_EVENT_RELEASE; 输入接口是一系列的回调注册函数,列举如下: void vm_reg_keyboard_callback(void (*f)(int event, int keycode); void vm_reg_pen_callback(void (*f)(int event, int x, int y); 4.7.3 资源 在程序中要加载在 VRE 资源管理里添加的资源,需要通过资源加载接口,接口在 vmres.h 中。首先,程序中需要包含头文件 vmres.h。其次,在加载资源的处使用接口 vm_load_resource。传给 vm_load_resource 接口资源文件名,传回加载的资源数据的大 山东建筑大学毕业论文 26 小,以及资源内存数据块的首地址。内存数据块是资源文件的原始数据。最后,通过资 源在内存中的地址使用资源。要注意的是,传入的资源文件名需要与添加资源时的文件 名一致,且大小写相同。使用完资源后,需要释放资源占用的内存空间。 参考代码: VMUINT8 *res = NULL; VMUINT8 *img = NULL; VMINT res_size; res = vm_load_resource(“xxx.gif”, /xxx.gif

温馨提示

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

评论

0/150

提交评论