分享
 
 
 

Sun ONE Studio 4 Mobile Edition开发MIDlet入门

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Sun ONE Studio 4 Mobile Edition开发MIDlet入门

Sun ONE Studio 4 Mobile Edition——结合Java 2 Platform, Micro Edition (J2ME)——提供了完整的Mobile Information Device Profile (MIDP)开发环境,包括完整的Java Platform Debugger Architecture (JPDA),用来在移动设备模拟器上调试执行Universal Emulator Interface (UEI).这篇文章介绍了Mobile版本的特点,并提供了创建和调试一个简单MIDlet suite的指导。

by Vaughn Spurlin

aawolf的话:这是我第一次翻译关于J2ME的文章,因为项目的关系拖拖拉拉一直翻译了半个多月,终于在入夏来最热的一天完成了。其实觊觎J2ME已经很久了,但是苦于没有下手的时间和切入点,下载了Sun One Studio后,虽说其慢无比,但还是有其独到之处的。好了废话说这么多,最近微软又推出了Pocket PC 2003,我会尽快翻译一些相关资料,希望大家能多去我的专栏看看:http://www.csdn.net/develop/author/netauthor/aawolf/

Introduction

Installing Mobile Edition

Quick Tour of Mobile Edition's Features

Creating and Testing a MIDlet

Importing an Existing MIDlet

Debugging a MIDlet

Introduction

介绍

Sun ONE Studio 4, Mobile Edition封装了创建无线应用程序的基本模块,附加模块用于特定的J2ME开发——为更多的目标设备创建更小的应用。IDE的高级模块化体系可以更容易的添加删除功能,并插入第三方工具。扩展模块可以容易地添加到Mobile版本中——不需要付费——可以从Sun ONE Studio Update Center(或者NetBeans Update Center)下载他们。Mobile版本提供普通JAVA开发的基本工具,加两个支持J2ME的模块。

J2ME Wireless module – supports MIDP development with templates, a wizard, emulation integration, and Connected Limited Device Configuration (CLDC) compilation

J2ME Wireless module – 支持MIDP开发,包括模板、向导、综合模拟器和Connected Limited Device Configuration (CLDC)编辑

J2ME Wireless Toolkit – the WTK wrapped as a NetBeans technology module for integration with Sun ONE Studio

J2ME Wireless Toolkit – WTK作为一个NetBeans技术模块被封装到Sun ONE Studio中

Installing Mobile Edition

安装Mobile版本

Mobile版本的JDK和系统需求描述如下,接下来是下载和安装介绍。

JDK Requirements

安装Java 2 SDK是安装Mobile版本的先决条件,因为IDE本身运行在Java 2的JVM上。Java 2 Platform, Standard Edition (J2SE), version 1.4.0被强烈推荐,但是1.3.1也工作得很好。更早的J2SE版本不能用来运行IDE,但是如果需要支持老版本的Java代码,可以被作为附加的编译器配置。

J2SE可以在下面的地址下载:

» http://java.sun.com/j2se/.

System Requirements

系统需求

Mobile Edition Release Notes提供了系统需求的详细资料。Mobile版本需要至少350 MHz Pentium II 或者 333 MHz Sparc Ultra 10,128M RAM和100M有效硬盘空间。

虽然只有正式支持的平台(Solaris 8, Windows NT/2K, and RedHat Linux 6.2 and 7.1)经过了广泛的质量保证测试,IDE仍然可以很好的运行在大多数类UNIX操作系统上——包括Mac OS/X. Mobile版本和Community版本,在Windows 98/ME上也可以很好运行。

Download

下载

Sun ONE Studio 4, Mobile Edition可以在下面的地址下载:

» http://forte.sun.com/ffj/downloads.html.

或者,你也可以下载并安装Sun ONE Studio 4, Community Edition,然后从Sun ONE Studio Update Center上安装Mobile版本模块。

Installation Instructions

安装说明

安装Sun ONE Studio Mobile Edition请依照Getting Started Guide的方法进行。Mobile版本在安装完成后就配置好了。事实上,如果你更愿意在Community 或者 Enterprise版本上安装Mobile版本模块的话,依照下面的方法去做。(这些介绍也适用于将Community版本功能添加到Mobile版本中)。

1.打开IDE,在IDE的主菜单中选择Tools > Update Center打开Update Center向导。

2.选中radio button "Check the Web for Available Updates and New Modules"并选择位置"Forte for Java Update Center",然后点击Next(Java Update Center将在不久后被更名为Sun ONE Studio Update Center)。

3.在适当的位置输入你的开发资源用户名和密码,然后点击Next。

4.在"Available Updates and New Modules"中选择所有Mobile版本模块,和另外一些你想安装的模块。点击最上面的按钮,将这些模块选入"Include in Install"中,然后点击Next(见图一)。

5.一旦你同意许可协议,模块安装将会自动完成。

Figure 1: Selecting modules to install using the Update Center Wizard.

Installing the J2ME Wireless Toolkit – Standalone Version

安装J2ME Wireless Toolkit – Standalone Version

包括在Sun ONE Studio 4 Mobile Edition中的J2ME Wireless Toolkit模块是J2ME Wireless Toolkit (J2MEWTK) 1.0.3。所有的Sun ONE Studio 4 editions也可以被配置使用一个单独版本的J2ME Wireless Toolkit作为替换或者新增的模块。

最新版本的J2MEWTK可以在下面的网址下载:

» http://java.sun.com/products/j2mewtoolkit.

注意:安装过程会询问你安装Integrated或者Standalone的版本。选择Standalone选项——Integrated选项会尝试将J2MEWTK安装到一个存在的Sun ONE Studio中去。

注意:这些模块将包括兼容Sun ONE Studio 3.0的J2MEWTK 1.0.3下载,但是不支持Sun ONE Studio 4。也会包括一些未来的J2MEWTK版本地址。

Emulator Installation

模拟器安装

Figure 2: Selecting an emulator installation directory.

在Sun ONE Studio的安装完成之后,你应该检验J2MEWTK的模拟器是否被正确安装了。你也会使用这个过程来安装另外的模拟器,或者如果你将J2MEWTK作为一个单独的产品来安装。

1.启动IDE,并在Explorer窗口的底部,点击Runtime tab。

2.打开下面的节点Device Emulator Registry > Installed Emulators > J2ME Wireless Toolkit 1.0.3.

J2MEWTK模拟器应该被列出在J2ME Wireless Toolkit节点下。如果你希望所有的模拟器都被列出来,你必须保证他们被正确安装并可以跳过下面的步骤。

事实上,在一些配置中,版本兼容性问题会影响自动安装的J2MEWTK模拟器,需要手动安装他们。如果符合下列任何一个条件,你需要完成下面的步骤。

一些或全部J2MEWTK模拟器丢失

J2ME Wireless Toolkit 1.0.3丢失

你将J2MEWTK作为一个standalone产品安装

你需要安装另外的模拟器

3.右击Installed Emulators节点,并从上下文菜单中选择Add Emulator。

4.在Select emulator installation directory对话框中,选定你希望安装的模拟器的所在路径。

TIP

在Windows平台上,例如,J2MEWTK的默认安装路径为C:\j2mewtk.。

如果你使用Mobile Edition模块(包含J2MEWTK),路径则为<IDE_installation_directory>/emulator.

Forte模块中的J2MEWTK组件的默认路径为C:\forte4j\emulator\j2mewtk-1_0_3-win.

Quick Tour of Mobile Edition's Features

现在我们将大略看一下Sun ONE Studio Mobile Edition IDE的全部功能。这是为了提供足够多的基础知识,使您能明白创建MIDlet的示范。

Startup

启动Mobile Edition IDE,编辑workspace被激活,下列三个窗口被打开:

主窗口——由用于编辑、运行、调试的菜单、工具栏和workspace tabs组成

浏览窗口——包含选择文件系统、工程、Javadoc和Runtime等视图(默认打开文件视图)

属性窗口——在浏览窗口中显示当前被选中的对象的属性。

Object-Based Views

Figure 3: Explorer window, Filesystems view, showing objects and properties belonging to the UIDemo example.

每个浏览视图显示一个对象节点的树,每个都包含一些能被打开的子对象节点。例如,在文件系统视图中在顶级节点下显示源代码数——代表本地文件系统中的目录,或者包含目录结构的JAR文件。打开一个上级节点,会显示出包含的节点,比如子目录、 Java对象、或者其他文件。例如,打开一个Java对象节点,则显示出所包含的field节点、constructor节点、method节点和bean pattern节点等。图3为UIDemo例子中的对象和属性。

Options and Properties

整个IDE通过一个巨大的相互连接的对象树,包含了惊人数量的用户配置属性。IDE对象可以被容易的动态添加、删除和操作。

例如,为了示范IDE结构,下列步骤说明了如何在Explorer窗口中设置显示扩展名。

1.从主菜单中,选择Tools > Options打开Options窗口。

2.通过节点访问,IDE Configuration > System

3.点击System Settings节点,并注意Options右边打开的属性页。

4.设置Show File Extensions为True

立刻,文件对象的扩展名出现在Explorer窗口中。

Code Samples

Sun ONE Studio 4, Mobile Edition带有一套分类的MIDlets和MIDlet Suites例子,用户可以用来做一些开发的准备工作。这些例子在sampledir文件夹中,可以直接在Explorer窗口的Filesystem页中被访问到。Sampledir文件夹被显示在图2中,直接在Filesystems节点下面。

Sampledir节点自己包含不同的子节点。Example和midp节点包含被MIDlet suites讨论过的MIDlet源代码。Icons节点包含imagined和图标。底部的四个节点——UIDemo, demos, games, 和photoalbum——是MIDlet suites,可以直接被运行。运行这些MIDlet suites,需要右击它们,然后在上下文菜单中选择Execute。IDE将编译类,并build成JAR文件,配置在默认的模拟器中,并切换到Running workspace中,并运行模拟器。我们可以看到在IDE中测试MIDlet suite是个非常简单的过程,编译、build为JAR都是自动完成的。

Creating and Testing a MIDlet

这里的任务是关于创建和测试一个MIDlet。

»Creating a Practice Package

创建一个练习用的包

第一个任务是创建一个用来保存MIDlet suite demo的Java包:

1.在你的本地环境中,创建(或者选择)一个练习用的工作空间——就是说,在IDE之外。例如,你可以在Windows环境中创建C:\practice_j2me.

2.在IDE浏览窗口,Filesystems视图中,右击顶层Filesystems节点,从上下文菜单中选择Mount > Local Directory.

3.通过New Wizard选择你的练习工作空间(step #1),然后点击完成。

你选择的工作空间会立即在filesystem中出现。

4.右击刚配置好的联系工作空间,从上下文菜单中选择New > Java Package.

5.New Wizard此时会提示新Java包的名称,命名这个demo,然后选Finish

»Creating MIDlet Suite with an Initial MIDlet

Figure 4: Using the New Wizard to create a MIDletSuite.

下面的任务是从Sun ONE Studio的模板中创建一个新的MIDlet suite,有一个选项用来创建一个单独的MIDlet,以后也许会有另外的MIDlets被添加进来。

1.在浏览窗口中,右击在上面创建的demo包,从上下文菜单中选择New > MIDP > MIDletSuite.

2.在New Wizard中,将新的MIDlet Suite命名为demoSuite,然后点击Next

3. New Wizard接下来的界面中(见图4),选择"Create New MIDlet"选项。选择HelloMIDlet模板,命名新的MIDlet为demoHello,然后点击完成。

或者,你也可以选择Next来添加一个图标,或者正好去探索一下New Wizard后面的步骤。

4.在Source Editor(代码编辑器)中打开demoHello MIDlet,并定位到startApp()方法(大概在代码中间的位置)。将"Test string"改成你喜欢的问候语——例如"G'day, Mate!"如果你喜欢澳大利亚。见图6

5.右击代码的任何位置,并在上下文菜单中选择Compile。

6.在Explorer窗口中右击demoSuite并从上下文菜单中选择Update JAR.这个命令必须在你没有修改JAR内容后执行。

7.再次右击demoSuite,这次从上下文菜单中选择Execute。

默认模拟器将被启动,demoHello MIDlet将被运行。

8.下载demoHello MIDlet,检查你的问候是不是出现。然后关闭模拟器,并返回编辑空间。模拟器的图象类似于图5,除了System Props MIDlet没有被添加。

»Adding an Existing MIDlet to a MIDlet Suite

添加一个存在的MIDlet到一个MIDlet Suite

多个MIDlets也许可以被添加到一个可以适合目标设备的MIDlet suite中。

1. 在Explorer窗口中,右击demoSuite节点,并在上下文菜单中选择Edit Suite。

Edit Suite专门编辑器将被打开,并包括MIDlets 和Jar Contents标签。在MIDlets标签中,你可以添加,删除,重新排列一个suite 中的MIDlets。在Jar Contents标签中,你可以添加或者删除MIDlet suite's JAR中的其他资源。

2.选择MIDlets标签,并点击Add按钮。

一行新的默认值将被加到MIDlets的列表中。

Figure 5: Running the default emulator.

3.根据下面的解释,定义新行的属性,然后点击OK。

MIDlet Name –用户在MIDlet suite菜单中看到的名字,改为"System Props".

MIDlet Class –被添加到suite中的存在的MIDlet,通过sampledir > example节点浏览,并选择PropExample.

注意:这仅仅是在菜单中添加了一个引用——compiled 和 preverified类文件必须被添加到MIDlet中。

Icon –在菜单中显示在MIDlet名称后的图标。这里可以忽略。

4.现在选择Jar Contents标签,再次浏览sampledir > example节点,选择PropExample并点击Add。

MIDlet将被添加到Selected Content pane中.

5.点击OK关闭Edit Suite窗口。

6.再次右击demoSuite节点,并从上下文菜单中选择Update JAR(记住在每次修改JAR的内容后需要更新)

7.再次右击demoSuite节点,并在上下文菜单中选择Execute。

默认模拟器将被再次启动。检查菜单,看demoHello 和 PropExample是否被正确运行(见图5)。

Importing an Existing MIDlet

引入一个存在的MIDlet

Sun ONE Studio对在其他地方完成的Java代码的执行是非常好的。为了使用存在的Java代码,可以简单的拷贝代码到一个存在的filesystem中,或者设置包含代码的目录。事实上,引入MIDlets时有一个缺陷。默认编译器指定引入Java代码为External Compilation,虽然MIDlets必须指定为Preverify Compiler。而且,如果你使用了错误的编译器,MIDlet将不会编译出错,但是在模拟器中报错,因为preverify步骤被省略了。

使用下面步骤确保引入的MIDlet被正确的编译,执行和调试,或者被正确设置,如果必要的话。这个例子使用在sampledir下的一个MIDlet,替代一个新引入的MIDlet。所有在sampledir中的对象都已经被正确设置,因此这个示例将演示如何检验正确设置,替代示范和修改错误。

1. 在Explorer中,选择sampledir > example节点,右击PropExample,从上下文菜单中选择Properties,并点击Execution标签。

2.点击Compiler属性值,使可用编译器列表可见。

注意,调试器(Debugger)也需要设置成Emulator Debugger, 并且Executor被设置成Emulator Executor.他们对引入代码的默认设置也是错误的,需要改正过来。

Debugging a MIDlet

Sun ONE Studio的调试器开始全部使用JPDA。有几个不同的调试器类型建筑在基本调试器的基础上,以支持不同的技术,例如Emulator Debugger, Applet Debugger和J2EE Server Debugger。MIDlets需要Emulator Debugger.

Setting Breakpoints

设置断点

简单起见,我们只在demoHello MIDlet里设置一个断点:

1.在Explorer窗口中双击demoHello,打开代码编辑器(Source Editor)。

2.将光标放置到startApp()方法中第一行可执行声明处:

TextBox t = new TextBox("Hello MIDlet", "G'day, Mate!", 256, 0);

3.在IDE主窗体中打开Debug菜单。在这一行建立一个断点的快速方法是选择Toggle Breakpoint菜单项。但是这次我们选择Add Breakpoint来打开Add Breakpoint对话框。

4.在Add Breakpoint对话框中打开Breakpoint Type列表。我们可以看到,

 Line –断点类型,当执行到指定的行数则阻断。

 Method –执行到某一指定事件时中断。

 Exception –当指定异常抛出时中断。

 Variable –当指定值被访问时中断。

 Thread –在线程开始或结束时中断。

 Class –当指定类被loaded或者unloaded时中断。

Figure 6: Setting a breakpoint.

5.选择Line为中断类型,然后点击OK。

注意你可以在中断发生前指定条件以达到满意效果。事实上,这超过了我们现在的讨论范围。一旦断点被设置,则这行以粉红色高亮显示,见图6。

Running the Debugger

运行Debugger

所有的准备工作都已经就绪,下面来说如何运行debugger:

1.在Explorer窗口中选择demoSuite。

2.从IDE的主菜单中选择Debug > Start.

IDE将转换到Debugging workspace并且启动模拟器。Debugger窗口将出现在view panels中,你可以用窗口顶部的按钮打开或者关闭。

Sessions –监控多个同时发生的debugging sessions.

Breakpoints –断点操作。

Threads –监控多个同时执行的线程。

Call Stack –动态堆的追踪信息。

Watches –在执行期间查看变量的改变情况。

Variables –检查或者设置变量值。

Classes –检查在执行过程中类是否可用。

3.在断点查看窗口(Breakpoints view panel)中右击被设置的断点,然后从上下文菜单中选择Go to Source。Source Editor窗口将打开正在调试的类中的断点行。

4.在模拟器中执行demoHello。如果执行终止在KVM中的某处(Sun's K virtual machine),从IDE主菜单中选择Debug > Continue。当执行到设置的断点时,执行将被中止。你可以检查在这一点的Call Stack,修改变量值,或者激活一些其他的调试。Debugger窗口见图7。

Figure 7: The Debugger Window.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有