1、J2ME学习之环境搭建J2ME学习之环境搭建来源:CSDN作者:新书城收集整理虽然公司使用JBuilder,但是我还是觉得Eclispe是大势所趋,所以我选择了Eclipse作为开发环境。使用软件:Eclipse3.2 ,EclipseMe1.5.5,WTK 2.2,下载地址我就不再抄了。我们应该相信Google和Baidu,呵呵。关于Eclipse开发J2ME环境的配置,网上已经有很多文章了,但大都是关于旧版本的,EclipseMe1.5.5中稍有变化,所以我在这里主要说一下其中的变化以及浪费我一中午的配置问题。依次安装好上述三个软件,没有必须的顺序。EclipseMe的安装可以采用link
2、方式,干净,但是事实证明,这样安装后再删除,也不是一点尾巴都不留下的,这个我在最后再说。在这里我们使用link方式安装插件。EclipseMe1.5.5的配置:插件安装完后,启动eclipse,点击window菜单下的Preference,如果有J2ME,就说明安装成功。然后就是配制WTK的安装目录,然后,在Device Manage里面,依次按照Import-Browse-WTK安装目录,选择WTK安装目录后,点refresh,这样就基本上搞定配制了。最后别忘记点Apply。如果你想使用Antenna(打包发布工具,可以执行ant脚本),和混淆器,可以在这里配制方法很直观,就不赘述了。配制好
3、后,新建一个J2ME项目File-new-other-J2ME-J2me Modlet Suite。起个名称,然后一切默认就好。我的项目名叫做MyJavaMETest新项目上右击,new-other-J2ME-J2me Modlet。起个类名,然后一切默认。我的类名叫做MyJavaMETest(如果你想copy我下面的例子程序,就按照这个名称就好)ps,因为是入门,所以一切默认,呵呵。然后编写程序,代码如下:import javax.microedition.lcdui.Display;import javax.microedition.lcdui.TextBox;import javax.m
4、icroedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException;public class MyJavaMETest extends MIDlet private Display display;private TextBox textbox;public MyJavaMETest() display = Display.getDisplay(this);/ TODO Auto-generated constructor stubtextbox = new TextBox(, , 500,
5、 0);display.setCurrent(textbox);textbox.setTitle(J2ME程序);textbox.setString(你好);protected void destroyApp(boolean arg0) throws MIDletStateChangeException / TODO Auto-generated method stubprotected void pauseApp() / TODO Auto-generated method stubprotected void startApp() throws MIDletStateChangeExcep
6、tion / TODO Auto-generated method stub然后run-WireLess Toolkit Emulator-new-配置,这里,主要选择自己的项目,然后,选择Moelet,Search后选择MyJavaMETest。然后点run运行就可以了。这个程序能够运行,说明环境已经搭建好了,以后就可以“肆意妄为”了,哈哈。最后说一下Eclipse和插件的问题,其实这个问题以前我也遇到过。我首先是安装了EclipseMe1.5.5,可是因为网上的文章说的都是 老版本的配置,所以配置失败了(没想到在Device Manage里面,依次按照Import-Browse-WTK安装
7、目录,选择WTK安装目录后,点refresh),然后就按照文章的要求,下载了旧的版本,可是在安装后,每次到配置运行参数的时候,Eclipse就会告诉我出错,原因是在安装了新版本的EclipseMe后,它已经在插件安装目录外的地方外保存了设置,导致旧版本的EclipseMe无法正常运行。这时就必须使用新版本了。以前使用CVS插件的时候,也遇到过这种问题。后来发现,eclipse是在每个项目的metadata文件夹下的plugin目录中按照插件名称保存的插件参数,呵呵很聪明的做法,可以让不同的项目有不同的配制。J2me手机程序开发起步J2me手机程序开发起步开发j2me手机程序的工具初学者选用Su
8、n Java Wireless Toolkit(WTK)是个不错的选择,下面用一个简单的J2ME手机程序,介绍WTK开发J2ME手机程序的过程。1. 工具J2SE 5.0 下载地址Sun Java Wireless Toolkit 2.2 (WTK) 下载地址: UltraEdit 用来编辑j2me源程序,如果不想用它,其它的文本编辑器都行,如windows 中的写字板。.2.开发环境配置 先安装J2SE,我的目录是:c:jdk1.5,然后安装Sun Java Wireless Toolkit 2.2, 我的目录:c:WTK2.2。配置java环境就不多说了。3.WTK的目录结构安装完成后我们
9、会在安装目录下看到一些文件和文件夹,主要的apps: 自带的demo程序,也是存放我们的项目文件的地方,每一个项目都会自动建立一子目录来管理与项目相关的文件。现有的项目也可以直接复制到该目录下运行和调试。 bin: J2ME开发工具执行文件 docs: 存放一些帮助文档. lib: J2ME 程序库,Jar 包与控制文件 wtklib: WTK主程序与模拟器外观 index.html: 是一个关于j2me的参考手册.4.启动界面 我们在开始所有程序中可以找到刚刚安装的(WTK),如图 KToolbar是WTK最常使用的工具,它可以用来建立工程,修改工程,以及启动模拟器来调试执行我们所编写的程序
10、。如图: 图15.第一个J2ME程序我们运行Wireless Toolkit开发工具.进入Wireless Toolket的界面,如上图所示。首先,我们点”File New Project”或者直接点”New Project”按钮,建立一个新的项目,如图所示: 图2在里面填入项目名和MIDlet的主类名,点”Create Project”按钮,出现了下图所示的界面:注意了,这里项目名可以自己随意起,但是类名要和我们一会儿写代码时的类名保持一致。 图(3)该界面用于配置MIDP应用程序的一些属性值,取默认值,点”OK”。这样进入下图:图4这里提示你应该将java源文件放入:c:WTK22apps
11、Hellosrc下面。你进入”WTK”安装目录中的apps文件夹,可以看到多了一个Hello文件夹,它就是你所建立的项目文件目录。 WTK 产生项目后,不同类型的资源有着相对固定的存放位置。Java 源文件被放在apps目录下Hellosrc 下,相关程序资源文件(图片,音频)放在Hellores 下,应用程序库文件放在Hellolib 下,这在WTK 中是必须注意的,即便是相对路径,也必须是在该目录下建立。项目创建成功后,我们来创建一个MIDlet 文件,MIDlet 是J2ME 项目文件的入口文件,也是必须的。在Hellosrc 目录下创建Hello.java,采用默认包,注意,此时创建的
12、java程序必须是与我们在创建项目时键入的MIDlet 类名一致。一个MIDlet在生命周期中有三个状态Active(激活),Paused(挂起)和Destroyed(销毁)。这些状态直接对应三个方法startApp(),pauseApp(),destroyApp()。一个典型的MIDlet,大多数处于Active或Paused状态,当MIDlet关闭时进入Destroyed状态,直到完全从内存中移出。我们自己的MIDlet程序要覆盖(override)相关的生命周期方法。例如,当一个游戏MIDlet启动时,你可能要创建对象或装载数据;当MIDlet暂停时,你可能应当关闭网络连接并暂停音乐;最
13、后MIDlet销毁时要释放分配的资源,同时保存相关的游戏数据。下面是我们简单的MIDlet:import javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class Hello extends MIDlet implements CommandListener /要继承MIDlet类 private SCanvas canvas;/绘图的画布,绘图都在这个上进行。 private Display display;/屏幕管理器 public void startApp() /MIDlet类中定义的方法之一,
14、启动MIDlet if (canvas = null) display=Display.getDisplay(this);/得到这个MIDlet的屏幕管理器 canvas = new SCanvas(); Command exitCommand = new Command(Exit, Command.EXIT, 0); canvas.addCommand(exitCommand); canvas.setCommandListener(this); display.setCurrent(canvas);/将当前MIDlet的屏幕设为canvas / Start up the canvas canvas.start(); public void pauseApp() /MIDlet类中定义的方法之一,暂停MIDlet,这里什么都不做。 public void destroyApp(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1