使用Source Editor创建MIDP应用程序
如果使用Source Code Editor,您需要手动创建MIDlet的代码。在Source Code Editor中创建代码可以使您在编辑代码时获得更大的灵活性,同时您还能插入预处理程序代码块。现在我们用New Project和New File向导创建同一个应用程序,并用Source Editor完成代码。
创建一个新的Java Me MIDP项目
1.选择File > New Project (Ctrl+Shift+N)。在Categories下选择Mobility。在Projects中选择MIDP应用程序并单击Next。
2.在Project Name字段中输入MyHelloMIDlet(注意MID用大写字母)。可以把Project Location更改到系统中的任何目录。在本教程中,我们把这个目录称为$PROJECTHOME
。
3
.
选中
Set as Main Project复选框并取消选中Create Hello MIDlet
复选框。单击
Next
。
4.把J2Me Wireless Toolkit选择为目标平台。
5.展开Configuration templates provided by installed CLDC platforms和J2ME Wireless Toolkit 2.2文件夹。选中每个配置旁边的方框,IDE会自动为每个列出的模板创建一个新的项目配置。
6. 单击Finish。IDE创建了$PROJECTHOME/MyHelloMIDlet
项目文件夹。这个项目文件夹包含了所有的资源和项目元数据,例如项目
Ant
脚本。
7
.
在
Explorer
窗口中右键单击
MyHelloMIDlet
节点,选择
New
〉
MIDlet
。
8.输入HelloMIDlet作为MIDlet名称(注意,MID用大写字母)。单击Finish。HelloMIDlet.java文件就创建好了。
9.双击HelloMIDlet.java文件以显示编辑器中的源代码。
10.在Source Editor中单击并将
public class HelloMIDlet extends MIDlet
更改为
public class HelloMIDlet
extends MIDlet implements javax.microedition.lcdui.CommandListener
{
11. 在startApp()方法前添加以下文本:
public HelloMIDlet() {
}private void initialize() { javax.microedition.lcdui.Display.getDisplay(this).setCurrent(get_helloTextBox());}
public void commandAction(javax.microedition.lcdui.Command command, javax.microedition.lcdui.Displayable
displayable) { if (displayable == helloTextBox) { if (command == exitCommand) { javax.microedition.lcdui.Display.getDisplay(this).setCurrent(null); destroyApp(true); notifyDestroyed(); } }
}
private javax.microedition.lcdui.TextBox get_helloTextBox() { if (helloTextBox == null) { helloTextBox = new javax.microedition.lcdui.TextBox(null, "Test String",120, 0x0); helloTextBox.addCommand(get_exitCommand()); helloTextBox.setCommandListener(this); } return helloTextBox;}
private javax.microedition.lcdui.Command get_exitCommand() { if (exitCommand == null) { exitCommand = new javax.microedition.lcdui.Command("Exit", javax.microedition.lcdui.Command.EXIT,
1); } return exitCommand;}
javax.microedition.lcdui.TextBox helloTextBox;javax.microedition.lcdui.Command exitCommand;
12.在starApp()方法中添加一行initialize(),如下所示:
public void startApp() {
initialize();
}
编辑Java源代码
现在为MIDlet添加一些显示的文本。
1.在get_helloTextBox()方法中,用所选择的文本来替换“test string”代码,比如“Make my day”。
编译并运行项目
1.从Run菜单中选择Run > Run Main Project (F6)。在Output窗口中完成项目编译过程。注意在执行之前构建HelloMIDlet.java文件。设备仿真器会打开以显示执行的MIDlet的结果。默认的设备仿真器是DefaultColorPhone。
2. 在设备仿真器窗口中,单击Launch命令下方的按钮。设备仿真器会启动MIDlet并显示您在源代码中输入的文本。
3.单击Exit下的按钮关闭MIDlet。然后单击设备右上角的按钮来关闭仿真器窗口。
更改仿真器平台
因为仿真器平台是移动电话生产商提供的,所以开发人员可以在编码、调试和测试应用程序时可以模拟特定移动设备的行为。NetBeans Mobility Pack中包括J2ME Wireless Toolkit,并支持很多其他软件开发工具包(SDK),可以从Nokia、Sony Ericsson或Motorola等提供商网站上下载它们。
更改默认仿真器设备
1. 在MyHello Project节点上右键单击,选择Properties。在Properties对话框中选择Platform节点。可以在这里更改默认配置的设备。
2. 单击Device下拉列表,选择QwertyDevice。单击OK。
3. 重新运行应用程序,应用程序会在QwertyDevice仿真器中运行。
更改项目配置
已经在New Project向导中使用模板创建了几个项目配置。现在您可以用主工具栏中的Configuration下拉菜单快速更改项目配置。
添加新的仿真器平台
1. 从主工具栏中选择Tools 〉Java Platforms。
2. 在Java Platform Manager对话框中单击Add Platform按钮。
3. 在Select Platform Type页面中,选择Java ME MIDP Edition Platform Emulator。单击Next。在Platforms页面中,IDE会搜索所有可用的Jave ME 平台并在窗口中列出。将验证那些与统一仿真器接口(UEI)标准相兼容的平台,并在平台名称旁的复选框中出现选中标志。那些与UEI标准不兼容的平台,或是由于其他原因不能安装的平台,用红色列出。向导还标识了已经安装了哪些平台。注意:您可以单击Back按钮选择Custom Java Mirco Edition Platform Emulator来安装与UEI不兼容的平台。
4. 在Platforms页中,选中要安装的任何平台仿真器旁的复选框。检测到平台后会自动安装。单击Finish。然后单击Close。
5. 选择File > "MyHello" Properties。
6. 选择Platform,然后从Emulator Platform下拉菜单中选择新仿真器的名字(如J2ME Wireless Toolkit 2.2)。
使用配置
可以使用配置为项目创建多组分发JAR和Java Application Descriptor(JAD)文件夹。这使您能够创建一组源代码,并为要编程的每个移动设备定制这些源代码。
添加配置
1.右键单击MyHello Project节点,然后选择Properties。在Properties对话框中从Project Configuration下拉列表中选择Add Configuration。这将打开Add Configuration对话框。
2. 在Configuration Name字段中为配置输入名称。该名称应该标识目标平台,在该平台上将部署为此配置创建的 JAR/JAD。例如,输入 BlackWhiteDisplay,然后单击OK。至此,就创建了一个新的配置。
3. 也可以通过单击Properties对话框中的Manage Configurations按钮添加配置。这将打开 Project Configuration Manager对话框,该对话框中包括添加、移除或复制配置的选项。
定制配置
可以按照需要向项目中添加任意数量的配置。然后,可以在已添加的每个配置的Project Properties对话框中修改设置。
1.右键单击MyHello Project节点,然后选择Properties。在Properties对话框中,选择Platform节点。
2.从Properties对话框顶部的配置组合框中选择BlackWhiteDisplay配置。
3.Platform对话框中的所有组件都被禁用。这是因为此配置当前采用的值是此面板的默认配置使用的值。取消选中面板顶部的“DefaultConfiguration”中的Use Values选项。现在可以编辑此面板上的所有组件。
4.将Device选项更改为DefaultGrayPhone。
5.切换Properties对话框顶部的Project Configuration对话框,并观察Device 选项随当前选中的配置的变化而变化的情况。此定制配置的方法用于对话框中的每个面板(除了常规面板)。单击OK保存配置更改,然后退出Properties 对话框。
创建性能
性能是项目配置的一个特定属性。它可以是一种物理属性,比如屏幕尺寸或配置所支持的API或JSR。您可以创建一种新性能并将其与一个或多个项目配置关联。然后可以使用预处理程序代码块将特定代码与性能相关联。如果以后需要添加或移除配置,则不必浏览所有的代码以及将配置与每个代码块相关联。相反,只需将配置与性能相关联。然后配置自动关联到与性能关联的任何代码块。
1.右键单击MyHello项目节点,然后选择Properties。
2.从Category菜单树中选择Abilities页。
3.从Project Configuration下拉菜单中选择一个配置。这就是将要与性能相关联的配置。
4.如有必要,取消选中“DefaultConfiguration”复选框中的Use
Values。
5.单击Add按钮。这将打开Add Ability对话框。
6.在New Ability对话框中,为性能输入一个名称,或从下拉菜单中选择一个性能。可以选择为该性能输入一个值。单击Ok,关闭New Ability对话框。现在性能已经与选中的项目配置相关联了。
可以通过从Project Configuration菜单中选择一个不同的配置并单击Add按钮将性能与其他的配置相关联。
添加特定于配置的预处理程序代码
预处理程序块使您能够创建、管理和跟踪特定于一个或多个项目配置或性能的代码。代码只针对您指定的配置或性能启用(或禁用)。
1.在HelloMIDlet.java Editor窗口中,右键单击实例化TextBox的源代码行 ( helloTextBox = new javax.microedition.lcdui.TextBox(null, "Make my day",120, 0x0);
)。
2.右键单击该行,然后选择Preprocessor Blocks > Create If/Else Block。在第一个粉红色的部分,将单词“Color”添加到“Hello World”字符串后。在第二个灰色的部分,将“Gray”添加到“Make my day”字符串。
3.每当活动配置与指令值(此例中为DefaultConfiguration)匹配时,由//#if预处理程序指令标记的代码将生效。每当活动配置与预处理程序值不匹配时,将使用由//#else预处理程序指令标记的代码。换句话说,每当活动平台是“DefaultConfiguration”时,仿真器显示“Make my day Color”,如果活动平台是任何其他仿真器平台,则显示“Hello World Gray”。用//#endif预处理程序指令结束预处理程序块。
您可以用不同的仿真器装置运行MIDlet来检验预运行程序的代码,如“修改仿真器平台”中所描述的。
运行配置
配置可以单独或同时建立或运行。
1.右键单击MyHelloMIDlet Project节点,然后选择Run。
2.使用工具栏中的配置组合框把配置修改成BlackWhiteDisplay,再次选择Run。
3. 会出现彩色和灰色两个仿真器,灰色仿真器“Make my day Gray”,彩色仿真器显示“Make my day Color”。
* 右键单击项目并选择Batch Build来同时构建多个配置。在打开的对话框中,选中要构建的每个配置旁边的方框。.
* 要动态测设设备,右键单击项目并选择Run With。在打开的对话框中,选择要运行的仿真器平台和装备。
将移动应用程序连接到Web服务
IDE允许创建客户端MIDlet,可以通过直接的“两层”体系架构连接到Web服务,或通过“三层”体系结构通过中间件Web应用程序连接到Web服务。
IDE提供了用于创建连接类的两个向导:
l 如果要使用JSR-172 Web Services规范创建到Web服务的“两层”连接,则使用Java ME Web Service Client向导。此向导创建存根(客户端代理),还可以选择创建调用 Web 服务的示例客户端MIDlet。必须具有支持JSR-172规范的设备或仿真器平台,才能使用此向导。
l 如果设备不支持JSR-172 Web Services规范,则使用Mobile Client to Web Application Generator创建到Web服务的“三层”连接。此向导生成连接到包括Web服务客户端的Web应用程序的servlet。在使用Mobile Client to Web Application Generator之前,必须具有包括Web服务客户端的Web项目。
创建Java ME Web Services(JSR-172)客户端
1. 在New File 向导中,在Categories下选择MIDP。在文件类型列表中选择Java ME Web Service Client。单击Next。
2. 标识要添加到项目中的 Web 服务的 WSDL 文件位置。
如果WSDL服务在Web上:
* 选择Running Web Service,并为 WSDL 文件输入 URL,为检索到的 WSDL 输入本地文件名。
*如果您位于防火墙后面,则单击Proxy Settings指定适当的 HTTP 主机和端口。
*单击Retrieve WSDL获得WDSL文件的本地副本。IDE下载WSDL文件。
如果您的环境中具有WSDL文件:
*从系统中选择WSDL文件并输入文件名。
* IDE检索WSDL文件,页面上的其他字段植入从WSDL文件名中获得的默认名称。
3.按Finish。IDE创建打开的设置文件并生成客户端存根。在主窗口中,可以看到可以选择的Exported Services、Client Information和Client Options的列表。
* 极少数情况下,可能需要将CLDC 1.1类型转换为CLDC 1.0类型,这意味着Float和Double类型转换为String变量。要进行转换,选中设置文件上的复选框Convert floating point to String并单击Generate Stubs按钮。
* 如果位于防火墙后面,则没有可用于NetBeans中HTTPS代理的公共设置。通过从主菜单中选择Tools>Options,可以更改NetBeans代理设置。但是,这些设置不传播到仿真器。通过选择Tools > Java Platforms,可以设置Wireless Toolkit的代理。在Platforms下,选择Wireelss Toolkit,然后选择Tools & Extensions选项卡。单击Open Preferences按钮,然后选择Network Configuration选项卡。更改其他仿真器的代理是相似的,但可能随供应商不同而有所不同。
* 生成的文件不应编辑。对文件的任何更改会在重新生成这些文件时丢失。
使用Game Designer创建游戏
Visual Mobile Designer现在支持MIDP2.0 Gaming API。 在VMD中,可以将瓷砖图层排列到场景中,并用动画精灵填充游戏。
开始之前,将要用于场景和精灵的所有图片保存到项目的 src 目录中。然后按以下步骤继续:
1.取消选中Create Hello MIDlet选项,创建新MIDP项目。右键单击项目并选择New 〉File。 在Categories中选择MIDP。 在File Types中选择Visual Game Design。单击Next。
2.为新类型输入一个名称。单击Finish。
3.将打开Game Builder Design Component屏幕。
4.单击Create Scene。场景是游戏的级别。在Game Designer窗口中,一个空的场景将打开。
5.要创建瓷砖图层(场景环境),单击窗口右上角的Create Tiled Layer按钮。注意,可以使用IDE附带的示例图片。要获得示例图片,单击Import sample images按钮。
6.在弹出的对话框中,输入图层的名称,调整瓷砖的大小以匹配要编程的设备。然后单击OK。创建新瓷砖图层之后,拖放网格上的瓷砖以创建游戏的级别。
7.可以通过从下拉菜单中选择Sprites来创建游戏的精灵,然后从IDE底部的图片窗口中拖动图片。可以使用游戏生成器动画化精灵和瓷砖图层。游戏生成器将精灵当作动画序列,您可以同时编辑和动画化多个精灵。
请您给与反馈意见