TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
J2me手机程序开发起步 开发j2me手机程序的工具初学者选用Sun java Wireless Toolkit(WTK)是个不错的选择,下面用一个简单的J2ME手机程序,介绍WTK开发J2ME手机程序的过程。 1. 工具 J2SE 5.0
下载地址 Sun Java Wireless Toolkit 2.2 (WTK)
下载地址:http://java.sun.com/javame/downloads/index.jsp UltraEdit
用来编辑j2me源程序,如果不想用它,其它的文本编辑器都行,如windows 中的写字板。 .2. 开发环境配置
先安装J2SE,我的目录是:c:jdk1.5,然后安装Sun Java Wireless Toolkit 2.2,
我的目录:c:WTK2.2。配置java环境就不多说了。
3.WTK的目录结构
安装完成后我们会在安装目录下看到一些文件和文件夹,主要的 l apps: 自带的demo程序,也是存放我们的项目文件的地方,每一个项目都会自动建立一子目录来管理与项目相关的文件。现有的项目也可以直接复制到该目录下运行和调试。
l bin: J2ME开发工具执行文件
l docs: 存放一些帮助文档.
l lib: J2ME 程序库,Jar 包与控制文件
l wtklib: WTK主程序与模拟器外观
l index.HTML: 是一个关于j2me的参考手册.
4.启动界面 我们在开始――〉所有程序中可以找到刚刚安装的(WTK),如图
- [img]http://img.javaxxz.com/2014/10/11/030011234.jpg[/img]
- KToolbar是WTK最常使用的工具,它可以用来建立工程,修改工程,以及启动模拟器来调试执行我们所编写的程序。如图:
- [img]http://img.javaxxz.com/2014/10/11/030011406.jpg[/img]
- 图1
- 5.第一个J2ME程序
- 我们运行Wireless Toolkit开发工具.进入Wireless Toolket的界面,如上图所示。
- 首先,我们点”Fileà New Project”或者直接点”New Project”按钮,建立一个新的项目,如图所示:
- [img]http://img.javaxxz.com/2014/10/11/030011640.jpg[/img]
- 图2
复制代码 在里面填入项目名和MIDlet的主类名,点”Create Project”按钮,出现了下图所示的界面:注意了,这里项目名可以自己随意起,但是类名要和我们一会儿写代码时的类名保持一致。

图(3)
该界面用于配置MIDP应用程序的一些属性值,取默认值,点”OK”。这样进入下图:

图4 这里提示你应该将java源文件放入:c:WTK22appsHellosrc下面。你进入”WTK”安装目录中的apps文件夹,可以看到多了一个Hello文件夹,它就是你所建立的项目文件目录。
WTK 产生项目后,不同类型的资源有着相对固定的存放位置。Java 源文件被放在apps目录下Hellosrc 下,相关程序资源文件(图片,音频)放在Hello
es 下,应用程序库文件放在Hellolib 下,这在WTK 中是必须注意的,即便是相对路径,也必须是在该目录下建立。
项目创建成功后,我们来创建一个MIDlet 文件,MIDlet 是J2ME 项目文件的入口文件,也是必须的。在Hellosrc 目录下创建Hello.java,采用默认包,注意,此时创建的java程序必须是与我们在创建项目时键入的MIDlet 类名一致。 一个MIDlet在生命周期中有三个状态Active(激活),Paused(挂起)和Destroyed(销毁)。这些状态直接对应三个方法startApp(),pauseApp(),destroyApp()。一个典型的MIDlet,大多数处于Active或Paused状态,当MIDlet关闭时进入Destroyed状态,直到完全从内存中移出。我们自己的MIDlet程序要覆盖(override)相关的生命周期方法。例如,当一个游戏MIDlet启动时,你可能要创建对象或装载数据;当MIDlet暂停时,你可能应当关闭网络连接并暂停音乐;最后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类中定义的方法之一,启动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(boolean unconditional) {}//MIDlet类中定义的方法之一,销毁MIDlet。这里什么都不做。
-
- public void commandAction(Command c, Displayable s) {
- if (c.getCommandType() == Command.EXIT) {
- destroyApp(true);
- notifyDestroyed();
- }
- }
- }
- class SCanvas extends Canvas {
-
-
- public SCanvas() {
- super();
- }
- void start() {
- repaint();
- }
- public void paint(Graphics g) {
- // 清屏
- g.setColor(0, 0, 0); // black
- g.fillRect(0, 0, getWidth(), getHeight());
- g.setColor(255, 255, 255); // white
- int y = 0;
- String screenSize = "屏幕大小: " + Integer.toString(getWidth()) + " x " +Integer.toString(getHeight());
- g.drawString(screenSize, 0, y, Graphics.TOP | Graphics.LEFT);
-
- // 总内存和自由内存数
- Runtime runtime = Runtime.getRuntime();
- y += Font.getDefaultFont().getHeight();
- String totalMem = "总的内存: " + Long.toString(runtime.totalMemory() / 1024) + "KB";
- g.drawString(totalMem, 0, y, Graphics.TOP | Graphics.LEFT);
- y += Font.getDefaultFont().getHeight();
- String freeMem = "可用内存数: " + Long.toString(runtime.freeMemory() / 1024) + "KB";
- g.drawString(freeMem, 0, y, Graphics.TOP | Graphics.LEFT);
- }
- }
复制代码 将上面的程序以”Hello.java”命令保存在我们刚才建的项目中的src目录底下,这时我们点图(4)所示界面中的”Build”按钮,”Wireless Toolkit”将自动为我们编译源代码,编译成功后,生成的相应的文件都会放到项目文件夹Hello下相应的目录中,我们就可以点击图(4)所示的”Run”按钮启动程序,再点击手机上launch按钮运行程序了,如图(5)所示:

图(5)
非常象写Applet程序,试着写几个试试。
源码下载:http://203.93.208.26/kj/cwb/dir7/Hello645.zip |
|