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

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

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.