CLDC API簡要介紹

* 介紹

迄今爲止,我們知道 CLDC 比較適合 J2ME,並且也已經建立了我們的開發環境。在這一章中,我們將更深入地探索 CLDC API。CLDC API 實際上只是 J2SE 的一個子集,它包括 java.lang、java.io 和 java.util,另加一個新軟件包 -- javax.microedition。我們將逐個來研究這些軟件包,並突出顯示每一個包中的重要的類。

儘管每一個類都在 J2SE 中,但是沒有必要讓每一個類的 CLDC 實現都能實現 J2SE 支持的所有方法。您可以檢查 CLDC API 文檔以確認哪些方法是受支持的。文檔的副本位於安裝 J2ME CLDC 時創建的 j2me_cldc/docs 目錄下。它提供 PDF 和 javadoc 兩種格式。

 

* java.lang

CLDC java.lang 軟件包是 J2SE java.lang 軟件包的一個子集。與 J2SE 相比,它最引人注目的可能便是冗長的浮點操作了,特別是浮點 (Float) 和雙精度 (Double) 類。如果使用浮點的話,這些冗餘將涉及到所有其它的類。

相對於 J2SE v1.3 API,CLDC API 中刪去了幾個其它的類。其中包括 ClassLoader、Compiler、InheritableThreadLocal、Number、Package、Process、 RuntimePermission、SecurityManager、StrictMath、ThreadGroup、ThreadLocal 和 Void。

我們描述了可從下面幾頁表中的 CLDC java.lang 軟件包中獲取的主要的類。Java 開發人員對所有這些類的使用都應該是非常熟悉了。

除這些核心類之外,您還將看到 CLDC 支持的 Runnable 接口,正象 Exception 、Error 和其它有關的類一樣。

 

* java.lang 核心運行時類

java.lang 軟件包的核心運行時類有:

· Class -- 顯示正在運行的 Java 應用程序中的類和接口。

· Object -- 與在 J2SE 中相同,Object 是所有 Java 對象的基本類。

· Runtime -- 爲 Java 應用程序提供一種與運行時環境(Java 應用程序在其中運行)進行交互的方法。

· System -- 提供一些靜態的幫助方法,就像爲 J2SE 提供方法一樣。

· Thread -- 定義 Java 程序的一個執行線程。

· Throwable -- Java 語言中所有錯誤和異常的超級類。

 

* java.lang 核心數據類型類

java.lang 軟件包中的核心數據類型類有:

· Boolean -- 包裝 boolean 原始數據類型。

· Byte —- 包裝 byte 原始數據類型。

· Character -- 包裝 char 原始數據類型。

· Integer -- 包裝 int 原始數據類型。

· Long -- 包裝 long 原始數據類型。

· Short -- 包裝 short 原始數據類型。

 

* java.lang 幫助類

java.lang 軟件包的幫助類有:

· Math -- 包含執行基本數學運算的方法。請注意,所有執行浮點值運算的方法都被省略了,僅保留了關於 integers 和 longs 的方法:abs()、min() 和 max()。

· String -- 在 Java 中代表對象 String,就像在 J2SE 中一樣。

· StringBuffer -- 代表一個可以修改的串,就像在 J2SE 中一樣。

 

* java.io 輸入類

CLDC API 包含許多 J2SE 中共同使用的輸入類。特別地,CLDC java.io 軟件包中包括下面一些類:

· ByteArrayInputStream -- 包含一個內部緩衝器,它代表可能從輸入流中讀取的字節。

· DataInput -- 一個接口,從二進制輸入流提供字節以供讀取並把它們轉換成原始 Java 數據類型。DataInputStream 提供該接口的實現。

· DataInputStream -- 允許應用程序以獨立於平臺的方式從基層輸入流中讀取原始 Java 數據類型。

· InputStream -- 一個抽象類,它是所有代表字節輸入流的類的超級類。

· InputStreamReader -- 讀取字節並把它們按照指定的字符編碼方法轉換成字符。

· Reader -- 一種讀取字符流的抽象類。

注意:其中一些類可能不包含 J2SE 姊妹版支持的所有方法,就像在 java.lang 軟件包中一樣。尤其是省略了浮點和雙精度方法。

 

* java.io 輸出類

CLDC API 包含了許多 J2SE 中的共同使用的輸出類。特別是,CLDC java.io 軟件包中包括下面一些輸出類:

· ByteArrayOutputStream -- 實現一個輸出流,在此輸出流中數據被寫入字節數組。

· DataOutput -- 一種接口,提供原始 Java 數據類型以供寫入二進制輸出流。DataOutputStream 提供該接口的實現。

· DataOutputStream -- 一個輸出流,允許應用程序以一種便捷的方式編寫原始 Java 數據類型。

· OutputStream -- 一個抽象類,它是所有代表字節輸出流的類的超級類。

· OutputStreamReader -- 給出字符,並按指定的字符編碼方法將其轉換爲字節。

· PrintStream -- 添加一種便捷的方法來打印數據值的文本表現形式。

· Writer -- 編寫字符流的一個抽象類。

其中一些類可能不包含 J2SE 支持的所有方法,比如浮點和雙精度方法。

 

* java.util 收集類

CLDC java.util 軟件包中包含 J2SE java.util 軟件包中最常用的類。這些類中包括四個收集類(實際是三個收集類和一個接口),以及日期/時間和實用程序類。

CLDC 支持的 java.util 收集類有:

· Enumeration -- 一個接口,通過項目集允許對例程進行重複調用。

· Hashtable -- 實現 hashtable,將鍵映射到值。

· Stack -- 代表了一個後進先出 (LIFO) 的對象集合或堆棧。

· Vector -- 代表可以調整大小的對象“數組”或者矢量。

 

* java.util -- 其它的類

CLDC 支持的 java.util 類中其餘部分包括日期和時間類,以及 Random 實用程序類。下表中簡要列出了這些類。

· Calendar -- 一個抽象類,使用一套整型字段如 YEAR、MONTH、 DAY 等來獲取和設置日期。

· Date -- 代表特定的時間和日期,精確到毫秒級。

· Random -- 一個實用程序類,用來生成 int 或 long 的隨機值流。

· TimeZone -- 代表時區的偏移量,也用於校正時間。

 

* javax.microedition.io

迄今爲止,我們在 CLDC API 中看到的所有的類都是 J2SE API 的子類。CLDC 還包含一個附加的軟件包 -- javax.microedition.io。

在這個包裏唯一被定義的類就是 Connector 類,也稱爲工廠類,包含創建 Connection 對象或輸入、輸出流的方法。

當動態識別一個類的名字時,Connection 對象就被創建了。類名稱的識別基於平臺名稱和被請求連接的協議。描述目標對象的參數串應該滿足 RFC 2396 規範所要求的格式。請使用下列格式:

{scheme}:[{target}][{params}]

{scheme} 是一個協議的名稱,如 http 或 ftp。{target} 通常是一個網絡地址,但是面向非網絡的協議則可能把它當作一個相當靈活的字段來處理。還有一些參數,如 {params} 被指定爲一系列形如 ";x=y" 的分配形式(例如,;myParam=value)。

 

* javax.microedition.io 幫助接口

除類屬連接工廠類之外,javax.microedition.io 軟件包中還包含下列面向連接的接口:

· Connection -- 定義了最基本的連接類型。這個接口也是此軟件包中所有其它連接接口的基本類。

· ContentConnection -- 定義了一個可以通過內容的流連接。

· Datagram -- 定義了一個類屬數據報接口。

· DatagramConnection -- 定義了類屬數據報連接和它必須支持的性能。

· InputConnection -- 定義了一個類屬輸入流連接和它必須支持的性能。

· OutputConnection -- 定義了一個類屬輸出流連接和它必須支持的性能。

· StreamConnection -- 定義了一個類屬流連接和它必須支持的性能。

· StreamConnectionNotifier -- 定義了一個流連接的通告程序必須具有的性能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章