明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

CLDC API 說明

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

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

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

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

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

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

java.lang 核心運(yùn)行時類
java.lang 軟件包的核心運(yùn)行時類有:

Class -- 顯示正在運(yùn)行的 Java 應(yīng)用程序中的類和接口。

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

Runtime -- 為 Java 應(yīng)用程序提供一種與運(yùn)行時環(huán)境(Java 應(yīng)用程序在其中運(yùn)行)進(jìn)行交互的方法。

System -- 提供一些靜態(tài)的幫助方法,就像為 J2SE 提供方法一樣。

Thread -- 定義 Java 程序的一個執(zhí)行線程。

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

java.lang 核心數(shù)據(jù)類型類
java.lang 軟件包中的核心數(shù)據(jù)類型類有:

Boolean -- 包裝 boolean 原始數(shù)據(jù)類型。
Byte —- 包裝 byte 原始數(shù)據(jù)類型。
Character -- 包裝 char 原始數(shù)據(jù)類型。
Integer -- 包裝 int 原始數(shù)據(jù)類型。
Long -- 包裝 long 原始數(shù)據(jù)類型。
Short -- 包裝 short 原始數(shù)據(jù)類型。

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

Math -- 包含執(zhí)行基本數(shù)學(xué)運(yùn)算的方法。請注意,所有執(zhí)行浮點(diǎn)值運(yùn)算的方法都被省略了,僅保留了關(guān)于 integers 和 longs 的方法:abs()、min() 和 max()。

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

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

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

ByteArrayInputStream -- 包含一個內(nèi)部緩沖器,它代表可能從輸入流中讀取的字節(jié)。

DataInput -- 一個接口,從二進(jìn)制輸入流提供字節(jié)以供讀取并把它們轉(zhuǎn)換成原始 Java 數(shù)據(jù)類型。DataInputStream 提供該接口的實(shí)現(xiàn)。

DataInputStream -- 允許應(yīng)用程序以獨(dú)立于平臺的方式從基層輸入流中讀取原始 Java 數(shù)據(jù)類型。

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

InputStreamReader -- 讀取字節(jié)并把它們按照指定的字符編碼方法轉(zhuǎn)換成字符。

Reader -- 一種讀取字符流的抽象類。
注意:其中一些類可能不包含 J2SE 姊妹版支持的所有方法,就像在 java.lang 軟件包中一樣。尤其是省略了浮點(diǎn)和雙精度方法。


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

ByteArrayOutputStream -- 實(shí)現(xiàn)一個輸出流,在此輸出流中數(shù)據(jù)被寫入字節(jié)數(shù)組。

DataOutput -- 一種接口,提供原始 Java 數(shù)據(jù)類型以供寫入二進(jìn)制輸出流。DataOutputStream 提供該接口的實(shí)現(xiàn)。

DataOutputStream -- 一個輸出流,允許應(yīng)用程序以一種便捷的方式編寫原始 Java 數(shù)據(jù)類型。

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

OutputStreamReader -- 給出字符,并按指定的字符編碼方法將其轉(zhuǎn)換為字節(jié)。

PrintStream -- 添加一種便捷的方法來打印數(shù)據(jù)值的文本表現(xiàn)形式。

Writer -- 編寫字符流的一個抽象類。
其中一些類可能不包含 J2SE 支持的所有方法,比如浮點(diǎn)和雙精度方法。

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

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

Enumeration -- 一個接口,通過項(xiàng)目集允許對例程進(jìn)行重復(fù)調(diào)用。

Hashtable -- 實(shí)現(xiàn) hashtable,將鍵映射到值。

Stack -- 代表了一個后進(jìn)先出 (LIFO) 的對象集合或堆棧。

Vector -- 代表可以調(diào)整大小的對象“數(shù)組”或者矢量。

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

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

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

Random -- 一個實(shí)用程序類,用來生成 int 或 long 的隨機(jī)值流。

TimeZone -- 代表時區(qū)的偏移量,也用于校正時間。

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

在這個包里唯一被定義的類就是 Connector 類,也稱為工廠類,包含創(chuàng)建 Connection 對象或輸入、輸出流的方法。

當(dāng)動態(tài)識別一個類的名字時,Connection 對象就被創(chuàng)建了。類名稱的識別基于平臺名稱和被請求連接的協(xié)議。描述目標(biāo)對象的參數(shù)串應(yīng)該滿足 RFC 2396 規(guī)范所要求的格式。請使用下列格式:

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

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





標(biāo)簽:CLDC API 介紹