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

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

J2ME学习笔记(3)-汉土网络

摘要: J2ME学习笔记(3)-汉土网络
<tr> <td> <tr> <td colspan="3">IT技术资料馆|编程语言|java系列|J2ME资料|J2ME学习笔记(3)</td> </tr> <tr> <td height="38" colspan="3" align="center">

J2ME学习笔记(3)

</td> </tr> <tr> <td colspan="3" align="center"></td> </tr> <tr> <td colspan="3" class="text">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.EXIT, 1);

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

}

public void startApp()
{
props = new Form("影落寒潭的签名档");
props.append("小楼一夜听春雨 ");
props.append("深巷明朝卖杏花 ");
props.append("虹虹的签名档 ");
props.append("鸳鸯独宿何曾惯 ");
props.append("化作西楼一缕云 ");
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,保存路径为

srcfancyest。然后在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.EXIT, 1);

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

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

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

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

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

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

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

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

props.append("user.name:"+System.getProperty("user.name")+" ");
//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等等。

(未完待续) </td> </tr> <tr>
↑返回目录
前一篇: J2ME学习笔记(4)-汉土网络
后一篇: J2ME学习笔记(2)-汉土网络