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.EXIT, 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.EXIT, 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等等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章