J2ME學習筆記(三)

來源:互聯網
上載者:User
筆記 從今天開始我想我會有很長一段時間不會涉及真正的實際開發,這一段時間主要集中在基礎的學習之

上。呵呵,不會走,我哪敢跑那?不過主要是因為暫時不用趕著給兄弟作東西,所以想好好學習一下。不

過代碼肯定還是會寫一些的。畢竟,多寫代碼才能更快的學習^_^

呵呵,一步一步開始手機開發之旅途了。不知道我能不能堅持把這一塊學完,因為公司工作壓力也很

大。平時基本上沒有休息,周末也還有一堆事情要做。所以也是很苦悶的一個方面。呵呵。儘力好了。一

直作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。。自己寫的時候都有些不耐煩)的步

驟來完成如此簡單的步驟,其實就是為了更好的理解手機程式的完成原理而已。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。