明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

J2ME無(wú)線設(shè)備編程基礎(chǔ)(二)--原創(chuàng)

[摘要]下面就開(kāi)始建立我們的第一個(gè)J2ME工程:點(diǎn)擊“New Project”菜單,在“New Project”窗體中輸入“Project name”(這兒輸入mypro),在"MIDlet cl...
下面就開(kāi)始建立我們的第一個(gè)J2ME工程:
點(diǎn)擊“New Project”菜單,在“New Project”窗體中輸入“Project name”(這兒輸入mypro),在"MIDlet class name"中輸入類(lèi)名(一般是MIDlet類(lèi)的名字,就是下面要建主類(lèi)的名字,我們這兒設(shè)為 mymidlet).如圖(2)所示:按“Create Object”結(jié)束。這進(jìn)在你的J2ME Wireless Toolkit 1.0.3的安裝路徑下\J2mewtk\apps多了一個(gè)文件夾mypro.
  工程已經(jīng)建立完成,下面開(kāi)始程序的編寫(xiě):
1./**package example;*/
2.import javax.microedition.midlet.*;
3.import javax.microedition.lcdui.*;
4.public class mymidlet extends MIDlet implements CommandListener{
5.private Command exitcommand;
6. private TextBox tb;
7. public mymidlet(){
8. exitcommand=new Command("exit",Command.EXIT,1);
9. tb=new TextBox("hello","hello,你好!",15,0);
10. tb.addCommand(exitcommand);
11. tb.setCommandListener(this);
12. }
13. protected void startApp(){
14. Display.getDisplay(this).setCurrent(tb);
15. }
16. protected void pauseApp(){}
17. protected void destroyApp(boolean u){}
18. public void commandAction(Command c,Displayable d){
19.if(c==exitcommand){
20.destroyApp(false);
21. notifyDestroyed();
22.}
23. }
24.}
將這段程序保存為mymidlet.java,并存入\J2mewtk\apps\mypro\src\
在J2ME Wireless Toolkit 1.0.3上點(diǎn)擊“Build”出現(xiàn)程序成功信息,然后點(diǎn)擊“Run”,你就可以在手機(jī)的虛擬機(jī)上看到這段程序的效果了(其中生成的CLASS文件在入\J2mewtk\apps\mypro\class\
)。其中有一個(gè)“Device”里面共有6種模型機(jī),你可以選擇不同的機(jī)子作為模擬機(jī)。
下面對(duì)程序的解釋?zhuān)?br>1.這里這句話作為解釋?zhuān)绻鳛槌绦虻囊徊糠,在J2ME Wireless Toolkit 1.0.3上的“Setting”里“MIDlets”中點(diǎn)擊“EDIT”在出現(xiàn)窗體中的“CLASS”中輸入“example.mymidlet”,然后將你所寫(xiě)的JAVA程序存入\J2mewtk\apps\mypro\src\example\其它同上,只是生成的CLASS文件在入\J2mewtk\apps\mypro\class\example\。
2.插入相應(yīng)該的類(lèi),具體類(lèi)可以在\J2mewtk\docs\api下查看。CLDC的核心庫(kù)還有java.lang.*;java.io.*;java.util.*;
6.是J2ME中包含一個(gè)textbox類(lèi)的SCREEN類(lèi),其它還有如:list,ticket...具體可以參考相關(guān)材料。
13.startApp一般用來(lái)啟動(dòng)或者重新啟動(dòng)一個(gè)MIDlet。這個(gè)方法可以被系統(tǒng)在任何情況下調(diào)用 ,其目的是請(qǐng)求或者重新請(qǐng)求MIDlet需要的資源并且準(zhǔn)備MIDlet來(lái)處理事件。不過(guò)startApp可以被多次啟動(dòng)。具體如下:
startApp()<-->pauseApp()-->destroyApp()
startApp()-->destroyApp()


14.設(shè)置當(dāng)前SCREEN所畫(huà)為tb;
16.pauseApp方法被 系統(tǒng)調(diào)用來(lái)要求一個(gè)MIDlet"pause",如接電話等。pauseApp 和startApp結(jié)合使用一般可以釋放盡可能多的資源。
17.destroyApp方法都要編寫(xiě)用來(lái)執(zhí)行所有必要的清理工作從而釋放應(yīng)用在運(yùn)行過(guò)程中分配的所有資源(如:關(guān)閉圖形,用戶界面組件、網(wǎng)絡(luò)連接、數(shù)據(jù)庫(kù)記錄等)。
總結(jié)
這樣可以說(shuō)完成了一個(gè)J2ME的完整的工程,雖然量不大,但卻體現(xiàn)的J2ME無(wú)線設(shè)備編程的一個(gè)完整的過(guò)程。由于這兒主要介紹一點(diǎn)初級(jí)的無(wú)線設(shè)備編程的基礎(chǔ),所以不可能講太詳細(xì),如果對(duì)此有興趣或者想知道更多,可以查找相關(guān)資料,也可以去SUN的主頁(yè)查看。