站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题J2ME学习笔记(3)

J2ME学习笔记(3)

摘要: J2ME学习笔记(3)
J2ME学习笔记(3)

J2ME开发中有中文问题吗?可能有,但是我目前没有遇到。因为我没有手机,只能在模拟器上运行J2ME程序,真实的情况是什么样子我也不知道。在水木上有人说已经出现了中文问题,在模拟器上好好的,到了真正的手机上却是一团乱码。我现在也没有办法,只有在遇到的时候再补上这一节。我写的测试程序如下所示,这个程序是在HelloWorld.java的基础上改进而来的

package fancy.test;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;

public class Poem extends MIDlet implements CommandListener
{
private Display display;
private Form props;

private Command exitCommand = new Command("Exit", Command.EX99v, 1);

public Poem()
{
display = Display.getDisplay(this);

}

public void startApp()
{
props = new Form("影落寒潭的签名档");
props.append("小楼一夜听春雨\n");
props.append("深巷明朝卖杏花\n\r");
props.append("虹虹的签名档\n");
props.append("鸳鸯独宿何曾惯\n");
props.append("化作西楼一缕云\n");
props.addCommand(exitCommand);
props.setCommandListener(this);
display.setCurrent(props);
}

public void commandAction(Command c, Displayable s)
{
if (c == exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
}

public void destroyApp(boolean unconditional)
{
}

public void pauseApp()
{
display.setCurrent(null);
props = null;
}
}
使用普通的编辑器编辑好上述文件以后,保存为Poem.java,保存路径为

src\fancy\test。然后在Ktoolbar中编译,一切无误之后,单击Setting按钮,出现一个配置窗口,选择MIDlets面板,单击Add按钮,依次输入Poem、fancy.png、fancy.test.Poem三项。单击OK按钮,再单击OK按
钮,关闭配置窗口,回到Ktoolbar的主界面,再次编译。一切无误之后,单击Run按钮运行程序。
注意:每新编写一个程序,都要按照这个步骤进行配置,再编译运行,我以后就不再重复描述这个步骤了。

请看下面的代码(Prop.java):
package fancy.test;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;

public class Prop extends MIDlet implements CommandListener
{
private Display display;
private Form props;

private Command exitCommand = new Command("Exit", Command.EX99v, 1);

public Prop()
{
display = Display.getDisplay(this);
}

public void startApp()
{
props = new Form("System Properties");
props.append("Hello World!\n");
long time=System.currentTimeMillis();
props.append("current time:"+time+"\n");
props.append("microedition.configuration:"+
System.getProperty("microedition.configuration")+"\n");
props.append("microedition.profiles:"+
System.getProperty("microedition.profiles")+"\n");
props.append("microedition.platform:"+
System.getProperty("microedition.platform")+"\n");
props.append("microedition.locale:"+

System.getProperty("microedition.locale")+"\n");
props.append("microedition.encoding:"+
System.getProperty("microedition.encoding")+"\n");

props.append("java.version:"+System.getProperty("java.version")+"\n");
/
/null

props.append("java.vendor:"+System.getProperty("java.vendor")+"\n");
//n
ull

props.append("java.vm.name:"+System.getProperty("java.vm.name")+"\n");
/
/null

props.append("java.vm.version:"+System.getProperty("java.vm.
version")+"
\n");//
null
props.append("os.name:"+System.getProperty("os.name")+"\n");//nu
props.append("os.arch:"+System.getProperty("os.arch")+"\n");//nu

props.append("os.version:"+System.getProperty("os.version")+"\n");
//nul
l

props.append("user.name:"+System.getProperty("user.name")+"\n");

//null
props.addCommand(exitCommand);
props.setCommandListener(this);
display.setCurrent(props);
}

public void commandAction(Command c, Displayable s)
{
if (c == exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
}

public void destroyApp(boolean unconditional)

{
}

public void pauseApp()
{
display.setCurrent(null);
props = null;
}
}
这个程序的作用是输出系统中各个环境属性的值。诀窍是使用System类的
getProperty()方法。请注意,J2ME核心包的System类已经不支持getProperties()方法了,而且很多环境属性都不再支持了,比如java.version、java.vendor等等。





↑返回目录
前一篇: J2ME学习笔记(4)
后一篇: J2ME学习笔记(2)