從今天開始我想我會有很長一段時間不會涉及真正的實際開發,這一段時間主要集中在基礎的學習之
上。呵呵,不會走,我哪敢跑那?不過主要是因為暫時不用趕著給兄弟作東西,所以想好好學習一下。不
過代碼肯定還是會寫一些的。畢竟,多寫代碼才能更快的學習^_^
呵呵,一步一步開始手機開發之旅途了。不知道我能不能堅持把這一塊學完,因為公司工作壓力也很
大。平時基本上沒有休息,周末也還有一堆事情要做。所以也是很苦悶的一個方面。呵呵。儘力好了。一
直作web也不是辦法,呵呵,多學一點說不定以後用得著。畢竟手持功能是未來的一個發展趨勢。
我學習的時候就是用的sun官方的MIDP執行個體。各位可以自己去下。我選擇的是MIDP_2.0 的參考源碼。
寫一個MIDlet能在實際的裝置或者模擬器上執行需要如下幾個步驟:
1、編寫程式碼
2、編譯
3、預先審核(Preverify)這一步很重要,因為很多類PC上安裝的J2SE支援,但是實際的J2ME並不支
持。
4、編寫描敘文檔
5、合成JAR檔案
6、測試排錯
7、在模擬器或者實體機器上運行。
ok
我來開始編寫一個簡單的例子,從代碼編寫開始一直完成最終的這7個步驟。(這個例子是依託與MIDP_2.
0中某些已經定義好的介面來進行的,所以我將此程式放在我所解壓的MIDP根目錄:f:/midp下。)
第一步,編寫代碼:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet implements CommandListener{
private Command exitCommand;
private Display display;
public HelloMIDlet(){
display = Display.getDisplay(this);
exitCommand = new Command("Exit", Command.SCREEN, 2);
}
public void startApp(){
TextBox t = new TextBox("Hello MIDlet", "Test string", 256, 0);
t.addCommand(exitCommand);
t.setCommandListener(this);
display.setCurrent(t);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
public void commandAction(Command c, Displayable s){
if (c == exitCommand){
destroyApp(false);
notifyDestroyed();
}
}
}
第二步:編譯
我在f:/midp下建立了一個midjavac.bat檔案專門用來編譯
javac -g:none -classpath F:/midp/classes;. -bootclasspath F:/midp/classes %1
-bootclasspath這個參數我也是第一次用,應該是控制編譯第時候控制只使用所制定目錄下第基類吧。如
果不使用此參數那麼有可能你寫的程式可以PC上運行,但是不能在支援MIDP的手持功能上運行。
然後在dos下轉到f:/midp下運行 midjavac HelloMIDlet
第三步:預先審核
同樣,我在f:/midp下建立了midver.bat檔案用來進行預審核。
F:/midp/bin/preverify -classpath F:/midp/classes;. -d %1 %2
在dos下轉到midp檔案夾,運行 midver test HelloMIDlet
如果預審核通過那麼就會在f:/midp下建立一個檔案夾test,將預審核通過第類放入其中。
這個時候其實我們寫的程式就可以在模擬器上運行了。
第四步:編寫描敘文檔
檔案名稱:HelloMIDlet.jar
MIDlet-Name: HelloWorld
MIDlet-Version: 1.0.0
MIDlet-Vendor: Sun Microsystems, Inc.
MIDlet-Description: Sample Hello World MIDlet
MIDlet-Info-URL: http://java.sun.com/j2me/
MIDlet-Jar-URL: http://127.0.0.1/HelloMIDlet.jar
MIDlet-Jar-Size: 1020
MicroEdition-Profile: MIDP-1.0
MicroEdition-Configuration: CLDC-1.0
MIDlet-1: HelloWorld,, HelloMIDlet
第五步:合成jar檔案
編製一個midjar.bat 檔案
jar -cfm %1 %2 -C ./%3 .
運行:midjar HelloMIDlet.jar HelloMIDlet.jad HelloMidlet
第六步:測試排錯
寫一個midjartest.bat檔案
F:/midp/bin/midp -classpath F:/midp/classes;%1 -descriptor %2
在dos下運行:midjartest HelloMIDlet.jar HelloMidlet.jad
呵呵,應該看到運行情況了吧?!
如果你發現ALERT: Error verifying class HelloMIDlet
這麼一個錯誤那就是你的程式沒有經過預審核哦^_^
第七步:呵呵,如果有手持功能就自己傳上去試試看看咯。如果沒有那就只有在模擬器上運行了。。對了
,如果在模擬器上運行第話應該不用合成jar檔案。
呵呵,其實這些東西都很基礎,我完全可以裝一個nokia或者moto的模擬器,然後只用在jb上裝上mobiles
et,然後畫一個外掛程式就可以搞定。我之所以要用這麼複雜(汗ing。。自己寫的時候都有些不耐煩)的步
驟來完成如此簡單的步驟,其實就是為了更好的理解手機程式的完成原理而已。