J2ME學習筆記(基礎1)

什麼是J2ME?
J2ME就是Java 2 Platform,micro Edition的縮寫。J2ME是Java 2的一個組成部分,與J2SE、J2EE並稱。
根據Sun Microsystems,Inc.的定義:J2ME是一種高度優化的Java運行環境,針對市面上的大量消費類電子
設備,例如Papers、cellularphones(蜂窩電話), screen-phones(可視電話?)、digital set-top boxes(
數字機頂盒)、car navigation systems(汽車導航系統)等等。 J2ME技術在1999年的JavaOne Developer
Conference大會上推出。J2ME技術將Java語言的與平臺無關的特性移植到小型電子設備上,允許移動無線
設備之間共享應用程序。
標 題: J2ME學習札記(2)---我需要什麼?
爲了學習J2ME技術,我需要安裝什麼樣的軟件?
1)、J2ME Wireless Toolkit
J2ME Wireless Toolkit簡稱J2MEWTK,目前最新的版本就是1.0.3
Beta,J2MEWTK有什麼用?打一個比方,J2MEWTK之於J2ME程序的開發,就相當於JDK之於Java程序的開發。
J2MEWTK是由Sun
公司開發的,你可以到Sun的網站去下載,這個工具和JDK一樣,是完全免費的。
2)、J2SE SDK 1.3
J2SE SDK 1.3亦即JDK 1.3,JDK有什麼用?相信學過Java語言的人都知道,我就不多寫了,在安裝J2MEWTK之
前,你必須確保你的系統已經安裝了一個可用的JDK。建議不要使用JDK 1.2和JDK 1.4,前者版本低,後者
不穩定。
3)、Tomcat 3.2.3/4.0
Tomcat 3.2/4.0用作服務器軟件,爲J2ME手機提供服務。由於手機的資源有限,所以我們需要儘量將商業
計算集中於服務器端完成,減小客戶端的負擔,所以要開發J2ME程序,一個服務器軟件是少不了的。我採用
JSP作爲服務器端的解決技術,所以我選用的Web服務器是Tomcat。但是你也可以選用IIS+ASP、
Apache+PHP。這個選擇不是唯一的。

標 題: J2ME學習札記(3)----開發環境安裝
第一步,安裝JDK 1.3.0或者安裝一個包含JDK 1.3.0的軟件。我安裝了Jbuilder
5.0,它所帶的JDK是HotSpot 1.3.0_01 Client版。
第二步,安裝J2MEWTK 1.0.3 Beta,在安裝的過程中,需要選擇系統中JDK的安裝目錄,安裝程序一般可以自
動查出來JDK的安裝目錄,我們不用操心。
第三步,安裝Tomcat 3.2.3/4.0,Tomcat 3.2.3是最穩定的3.x系列,推薦使用。Tomcat 4.0剛剛發佈了正
式版,也不妨一試。Tomcat 3.2.3/4.0需要經過配置,才能夠運行。
第四步,測試Tomcat是否能夠正常運行JSP程序。這一步很重要。
標 題: J2ME學習札記(4)-----J2ME開發工具比較
1)、J2MEWTK,這個工具在前文已經提到過,它是最基本的J2ME程序開發工具,免費,體積小,速度較快,完全
遵守J2ME的各種規範。具有簡單的IDE界面,易於上手,開發十分方便快捷,可以和Forte 3.0捆綁。
J2MEWTK適用於初學者和已經達到很高水平的開發者。竊以爲J2MEWTK+JDK+Editplus/UltraEdit是絕配。
評語:重劍無鋒,大巧不工。
2)、VisualAge Micro Edition 1.4。這是IBM的產品,號稱是J2ME開發領域的TOP
1,但是我用了半天,也沒有看出好在那裏。馬上就刪除了。窗口太複雜,不明所以,開發起來很難適應,速
度和J2MEWTK一樣,比較龐大,裝了這個東西,你的C盤就要小心了,多了很多亂七八糟的文件,還註冊了許多
COM組件,典型的非綠色軟件。評語:!#$#%$#$%$#%@$@#。
3)、CodeWarrior for Java 6.0。這是Motolola的產品,功能十分強大,集成度很好,開發,調試,發佈
J2ME程序都很方便(還可以做一般的Java Program)。它的IDE和Visual Studio十分相似,很容易上手。
CodeWarrior比較適合中等水平的開發者的
使用。不過CodeWarrior不是免費軟件,你只能夠免費使用30天。評語:摩托羅拉CodeWarrior,隨時隨地
J2ME。
4)、Borland Jbuilder的Nokia Bobile版。沒用過。評語:缺。
上述分析,僅供參考,僅代表本人意見。

標 題: J2ME學習札記(5)------選擇缺省的開發設備
在開發J2ME應用程序之前,我們必須選擇這些程序運行的平臺,亦即開發出來的J2ME程序運行在那一種手
機或者是移動設備上面。在開發的過程中,我們需要對J2ME應用程序進行測試,當然了,自己擁有一款支持
J2ME的手機是最好的,例如Motolola的i85s,但是這個要求不是每一個開發者都能夠滿足(我連手錶都沒有
,更不用說手機了),因此,大多數的J2ME開發環境都提供了各種各樣的手機、移動設備模擬器,你可以首先
在手機模擬器上測試你的J2ME程序,開發完畢以後,再將程序交給專業的廠商(一般是移動設備提供商),
由它們將程序載入手機中進行真實的程序測試。模擬器和真實的設備之間有一定的差別,但是你的程序只
要在模擬器上通過了,那麼問題不會很大。
J2MEWTK提供六種模擬器,分別是:Default Color Phone、Default GrayPhone、Minimum Phone、
Motolola i85s、PalmOS Device、RIM Java Handle。這些模擬器雖然外觀不一樣,操作也不太一樣,但是
J2ME程序在其上運行的結果是不會有什麼區別的,在真實的設備上也是沒有什麼區別的,這體現了Java的
跨平臺特性。你還可以自定義自己的手機模擬器,這在J2MEWTK的User Guide中有詳細的描述。
在開發過程中,選擇何種模擬器是十分重要的,原則上來說,你爲那一種設備開發程序,就要使用那一
種設備的模擬器。但是J2ME程序在不同的模擬器上的運行效果基本上是一致,所以你也可以採用你自己喜
歡的模擬器。我們推薦你選用RIM Java Handle模擬器作爲開發的首選模擬器,因爲它的屏幕很大,看起來
很舒服(但是別忘了你的真實設備的屏幕大小)。
在J2MEWTK中,可以設定缺省的模擬器,怎麼設呢?從開始菜單選擇
J2MEWTK---->Default Device Selection,在下拉列表框中選擇模擬器的名字,然後單擊OK按鈕即
可,J2MEWTK就會把這種模擬器認爲是缺省的模擬器。你也可以在開發環境中每次手動選擇模擬器,不過這
樣做顯然比較麻煩。J2MEWTK在初始情況下,
默認的模擬器是Default Color Phone,說實在話,我從來沒有看見過這麼難看的手機。

標 題: J2ME學習札記(6)-----創建項目
現在開始嘗試開發J2ME程序。我的選擇是Windows XP 2600
Professional+J2SE
SDK 1.3.0+Tomcat 4.0+J2MEWTK 1.0.3Beta。從開始菜單中選擇
J2MEWTK---->Ktoolbar。Ktoolbar是J2MEWTK提供的一個簡陋的IDE工具。

進入Ktoolbar以後,觀察窗口,在菜單的下面有四個按鈕,分別是:New Project:
創建一個新的項目。
Open Project:打開一個項目。
Setting:對當前項目的環境進行設置。
Build:編譯項目中的所有Java文件。
Run:啓動缺省的模擬器,將當前項目載入,運行。
Clear Console:清除控制檯輸出。
在上述按鈕的下面,有一個下拉列表框,在這裏你可以設置當前項目所使用的模擬器,這個設置可以覆蓋
缺省的模擬器。在此下拉列表框下面,是一個文本框,這就是所謂的控制檯了。所有編譯、運行信息都會
在這個控制檯中輸出。你可以使用Clear Console按鈕將控制檯中的信息完全清除。
現在來看看菜單。Ktoolbar的菜單極其簡單,沒有什麼可說的。Project菜單的package菜單項的作用是將
當前項目打包輸出。這個菜單項特別有用,當你完成項目開發之後,使用這個菜單項可以產生一個jar文件
,這樣就完成的項目的初步發佈。
現在來創建一個新的項目,單擊New Project按鈕,或者是使用File菜單的同名菜單項。出現一個新窗口。
這個新窗口有兩個文本框,第一個文本框是Project

Name,
輸入fancy。第二個文本框是MIDlet Class Name,輸入fancy.test.HelloWorld。
然後單擊OK,又出現一個對話框,要你配置項目的環境,不理,單擊OK按鈕關閉該窗口,回到Ktoolbar的主窗
口。經過上述步驟,你已經創建了一個名爲fancy的J2ME項目。
標 題: J2ME學習札記(7)-----J2MEWTK的目錄結構
發信站: 北大未名站 (2001年10月18日15:49:55 星期四) , 站內信件
安裝J2MEWTK以後,你應該仔細瀏覽一下J2MEWTK的目錄結構,這是一個很好的習慣。J2MEWTK的目錄結構如
下:
appdb文件夾:裏面有duke的一些靚照。
apps文件夾:裏面有J2MEWTK的一些例子程序,我們建立的項目文件也存放在裏面。
bin文件夾:裏面全部是exe程序。
docs文件夾:不用多說了,是地球人都知道。
lib文件夾:存放MIDP API。
wtklib文件夾:存放J2MEWTK用到的類庫,以及一些資源文件,比如按鈕的圖標等等。
在這些文件夾中,apps文件夾特別需要留意,這個文件夾有下列子文件夾:
example:存放J2MEWTK的例子,側重於圖形方面,例子比較大,複雜,難看懂。
lib:空,不知道放什麼東西。

tmplib:空,不知道放什麼東西。
UIDemo:存放J2MEWTK的例子,側重於用戶界面設計方面。例子不大,難度中等。
fancy:這個文件夾原來是沒有的,當我們創建fancy項目的時候,J2MEWTK自動爲我們創建的文件夾。
進入fancy文件夾,它裏面又有很多子文件夾,如下所示:
bin:存放項目的打包輸出文件。
classes:存放編譯器產生的class文件。
lib:空,不知道有什麼用。
res:存放資源文件,例如項目中用到的圖片。
src:存放項目的源代碼。
tmpclasses:存放編譯器產生的class文件,是classes文件夾的鏡像。
tmplib:空,不知道有什麼用,是lib文件夾的鏡像。

標 題: J2ME學習札記(8)-------HelloWorld!
現在該是使用J2ME說Hello World的時候了。選擇你最喜歡的文本編輯器,例如
Editplus,
輸入下面的代碼:
package fancy.test;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet implements CommandListener
{
private Display display;
private Form props;
private Command exitCommand = new Command("Exit", Command.EXIT, 1);
public HelloWorld()
{
display = Display.getDisplay(this);
}
public void startApp()
{
props = new Form("Hello World");
props.append("Hello World!/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;

}
然後將該文件保存在J2MEWTK_HOME/apps/fancy/src/fancy/test目錄下面,文件名爲HelloWorld.java。
注意:你需要在fancy/src目錄下面創建fancy文件夾,然後再在fancy文件夾下面創建test文件夾。最後才
保存HelloWorld.java文件。
現在轉到J2MEWTK的主窗口,單擊Build按鈕,編譯整個項目,查看控制檯的輸出信息,一切無誤,再單擊Run
按鈕,運行此程序。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章