一次编写、随处运行的口号曾驱动了 Java 编程语言的流行,但在 Java Micro Edition (Java ME) 的世界中却并不适用。屏幕大小、颜色深度和内存等设备功能显著不同。您必须选择配置文件、配置和 J2ME API,而且会碰到我们所谓的设备碎片问题。本教程介绍如何使用 IDE 的内置功能来解决 Java ME MIDP 设备碎片问题。
成都创新互联10多年企业网站制作服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,企业网站制作及推广,对建筑动画等多个方面拥有多年的网站推广经验的网站建设公司。
需求
开始之前,需要在您的计算机中安装以下软件:
Java Standard Development Kit (JDK) 版本 5.0 或 6.0
带有 Mobility 包的 NetBeans IDE 6.0
注意:可以使用 Mobility Pack 附带的 Sun Java 无线工具包(Wireless Toolkit)部署此项目。不必使用其他软件来执行本教程介绍的基本概念。但是,如果需要部署到其他平台,我们建议您下载您要调整的适当仿真程序。可以使用以下几个***的 CLDC/MIDP 设备平台:
Nokia Series 40 SDKs for Symbian OS
Nokia Series 60 SDKs for Symbian OS
Sony Ericsson SDK 2.2.4 for the Java ME platform
Motorola Java ME SDK v6.4 for Motorola OS Products
如果您不了解 NetBeans Mobility Pack 或 Java ME 开发,建议您在继续本教程之前,阅读 NetBeans Mobility Pack 6.0 for CLDC 快速入门指南。本指南包括有关添加和注册平台仿真程序的章节。
设置应用程序
本例使用一个叫做 Ball Shot 的简单游戏,阐述如何调整设备功能来解决设备碎片问题。
下载 BallShotGame.zip 项目
解压项目并将内容放在 IDE 的 project_home 目录中。
有关将 mobility 项目导入 IDE 中的更多说明,请参阅 Mobility 项目导入指南。
创建自定义配置
解决设备碎片问题的一个策略基于 项目配置 的 NetBeans 使用。这允许您创建一组源码并为要调整的每个移动设备进行定制。注意保持配置一致,以便仿真程序平台和目标设备与要创建的“项目”配置相对应。在下例中,Nokia Series 40 是目标配置。
#p#
创建项目配置
选择“文件”>“打开项目”(Ctrl-Shift-O)。导航至已解压和已安装 SingleCotopiaGameBallShot 项目文件夹所在的文件夹。
右键单击 SingleCotopiaGameBallShot 项目节点并选择“属性”。
单击页面顶部的“管理配置”按钮。这将打开“管理配置”对话框。
单击“添加”,然后为配置键入所需的名称,然后点“确定”。
为要部署的其他仿真程序重复上一步骤。
创建功能
功能是设备属性,比如屏幕大小、颜色深度、API 支持和音频支持。在项目中创建功能允许您将其与一个或多个支持特定属性或属性组的项目配置相关联。如果将来需要修改、移除或添加配置,只需将配置与实现更改的功能相关联即可。然后,配置将自动与任何与功能相关的代码块相关联。
右键单击 SingleCotopiaGameBallShot 项目节点并选择“属性”。
从“类别”菜单树中选择“功能”页面。
从“项目配置”下拉菜单中,选择与要定义的功能相关联的配置。
如果需要,取消选中标有 使用默认配置值 的框。
单击“添加”按钮。
在“新建功能”对话框中,输入功能的名称,比如 screen,如果 screen 功能已经存在,则单击”编辑“按钮。
输入此功能的值。在本例中,输入 240x320。其他功能可以配置并调整为其他变量,比如颜色深度和音频支持。单击“确定”按钮关闭“新建功能”对话框。此功能现在已经与所选项目配置关联到一起了。
可以将此功能与其他配置相关联,方法是从“项目配置”菜单中选择不同的配置并单击“添加”按钮。
#p#
使用预处理器块添加特定于配置的代码
预处理器块允许创建、管理和跟踪特定于一个或多个项目配置或功能的代码。此代码仅为您标识的配置或功能启用(或禁用)。针对移动设备最实用的属性是屏幕大小。屏幕大小、颜色深度、API 支持和其他功能的一个有用的参考站点是 Jbenchmark 站点。
在 BallShotImageCreator.java 编辑器窗口中,右键单击实例化 BallShotImageCreator 的源码行 (public BallShotImageCreator() {。
右键单击此行并选择“预处理程序块”>“创建 If/Else 块”。在“可用项目”框中滚动并选择先前定义的功能 screen。
在行 //#if screen 上,添加以下代码:== "240x320"
当活动配置与指令值匹配时,则部署由 //#if 预处理器指令标记的代码。当活动配置与预处理器的值不匹配时,则使用由 //#else 预处理器指令包围的代码。换句话说,如果活动平台具有 240x320 功能,则仿真程序显示 22 像素的球。//#endif 预处理器指令完成预处理器块。下面就是为此游戏的一定范围的流行屏幕大小编写的示例:
//#if screen == "128x128" //# ballWidth = 10; //#elif screen == "176x182" //# ballWidth = 16; //#elif screen == "176x208" //# ballWidth = 16; //#elif screen == "240x320" ballWidth = 22; //#endif |
在仿真程序上运行击球游戏
选择“运行”>“运行主项目”。
仿真程序启动之后,它应显示以下菜单:
单击仿真程序上的主按钮以启动游戏。仿真程序显示以下屏幕。为了比较,我们包括了不使用预处理器指令的游戏的截屏。注意,相对于仿真程序屏幕,图片太小了。
文章标题:如何解决JavaME设备碎片问题
标题网址:http://www.shufengxianlan.com/qtweb/news17/187767.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联