J2ME程式設計/SymbianOS和J2ME
這不是SymbianOS的完整歷史,而實際上是對SymbianOS的總結,以便我們作為J2ME開發人員能夠確定在SymbianOS生態基礎設施中,我們可以透過作業系統版本和裝置系列版本訪問哪些可選API。
在SymbianOS之上部署了兩個主要的裝置平臺。諾基亞建立了Series60並將其授權給三星等其他公司。UIQ(Symbian的基於筆的UI)是索尼愛立信、摩托羅拉和Symbian有限公司的共同努力。
在我們開始J2ME平臺之前,先做一個簡短的腳註。在J2ME平臺之前,SymbianOS附帶了其他兩個Java平臺,SymbianOS 5上的嵌入式Java以及SymbianOS 6上的Personal Java和Javaphone組合。因此,為了準確反映哪些作業系統版本具有這種組合,這裡將提及PersonalJava和JavaPhone(在Personal Profile之前)。注意:雖然底層作業系統在Symbian的後續版本中不限制堆大小、持久儲存等,但JSR確實以JSR 185(JTWI)的形式限制了jar、jad和持久儲存的大小。
2002年,MIDP 1.0被移植回SymbianOS 6版本。MIDP 1.0移植回的SymbianOS版本是SymbianOS 6.0和SymbianOS 6.1("標準Java". Symbian上的Java.)
因此,在2002年及以後的裝置上,我們僅在SymbianOS 6.0和SymbianOS 6.1上擁有基本的MIDP 1.0。
- MIDP
- 除了pausedApp從未被呼叫之外,MIDP 1.0與MIDP 1.0規範一致。
- CLDC 1.0
- Sun的KVM
- Personal Java(Personal Profile之前)
- 修改後的Personal Java 3.0.x(PesonalJava應用程式環境1.1.1a)
- JDVMI用於透過TCP/IP連線進行除錯支援
- JavaPhone 1.0
- JavaPhone 1.0 API
- 用於序列通訊和安全套接字通訊的Personal Java可選介面(支援HTTPS,但未實現javax.net.ssl)。
- Java電話API(JTAPI)
- Java行動電話
具有基本MIDP 1.0實現("SymbOS7.x". Symbian OS版本7.0功能描述.)
- MIDP
- 除了pausedApp從未被呼叫之外,MIDP 1.0與MIDP 1.0規範一致。
- CLDC 1.0
- 堆大小、程式碼大小和持久儲存大小不受限制
- 實現了空中下載配置
- 實現了包括套接字在內的GCF
- KVM虛擬機器
- Personal Java(Personal Profile之前)
- 修改後的Personal Java 3.0.x(PesonalJava應用程式環境1.1.1a)
- JDVMI用於透過TCP/IP連線進行除錯支援
- JavaPhone 1.0
- JavaPhone 1.0 API
- 用於序列通訊和安全套接字通訊的Personal Java可選介面(支援HTTPS,但未實現javax.net.ssl)。
- Java電話API(JTAPI)
- Java行動電話
在這個版本的SymbianOS 7中,引入了MIDP 2.0("Symbos-v7s". Symbian OS版本7.0s功能描述. {{cite web}}: 在|work=第24位處有換行符(幫助)) 此MIDP 2.0實現包括
- MIDP
- 空中下載配置MIDP 2.0實現
- 堆大小、程式碼大小和持久儲存大小不受限制
- GCF實現包括套接字、伺服器套接字、資料報套接字、安全套接字、HTTPS和HTTP
- 實現了WMA
- 實現了藍牙,但不包括Push和OBEX配置檔案
- 支援CLDC1.0實現
- Sun的CLDC HI VM 1.0
此SymbianOS 7.0s版本有兩個配置,智慧手機和通訊器。通訊器版本同時包含上面描述的MIDP 2.0和此Personal Java配置
- Personal Java(Personal Profile之前)
- 修改後的Personal Java 3.0.x(PesonalJava應用程式環境1.1.1a)
- JDVMI用於透過TCP/IP連線進行除錯支援
- JavaPhone 1.0
- JavaPhone 1.0 API
- 用於序列通訊和安全套接字通訊的Personal Java可選介面(支援HTTPS,但未實現javax.net.ssl)。
- Java電話API(JTAPI)
- Java行動電話
這是SymbianOS上第一個完全符合JTWI的MIDP 2.0實現("Symbos-v8x". Symbian OS版本8.0功能描述.)
- OTA MIDP 2.0實現
- 新的安全模型的完整JTWI實現,允許簽名MIDlet
- 堆大小、程式碼大小和持久儲存不受限制
- 完整的GCF支援
- 實現了WMA
- 實現了藍牙,但不包括OBEX配置檔案
- CLDC1.1實現
- 多媒體JSR 135
- 3D圖形JSR 184
- 檔案/PIM GCF JSR 75
- Sun的CLDC HI 1.1 Vm,包含JNI子集
實現了符合JTWI的MIDP 2.0("Symbos-v8.1". Symbian OS版本8.1功能描述.)
- OTA MIDP 2.0實現
- MIDP 2.0
- CLDC 1.1
- 堆大小、程式碼大小和持久儲存不受限制
- GCF實現,包括所有套接字實現
- PIM/檔案GCF JSR 75
- MMedia JSR 135
- 3D圖形JSR 184
- 實現了藍牙,但不包括OBEX配置檔案
- WMA
- Sun的CLDC HI VM 1.0,包含JNI子集
實現了 MIDP 2.0 和 JTWI("Symbos-v91". Symbian OS 版本 9.1 功能描述.)
- MIDP 2.0
- CLDC 1.1
- WMA
- MMedia JSR 135
- 3D 圖形 JSR1 84
- 實現了藍牙,但不包括OBEX配置檔案
- JTWI 安全模型
- 堆大小、程式碼大小和持久儲存大小不受限制
- Sun的CLDC HI VM 1.0,包含JNI子集
- Series80
- 裝置平臺 2.0
- 來自底層 SymbianOS 7.0s 的 MIDP 2.0/CLDC 1.0,特別是通訊器 SymbianOS 7.0s 配置
- 使用 IBM 的 J9 VM 實現 CDC 和個人資料
- 裝置平臺 2.0
- Series90
- 裝置平臺 2.0
- 來自底層 SymbianOS 8.0 的 MIDP2.0 CLDC1.1
- 包 com.nokia.mid.ui 和 com.nokia.mid.sound 中的舊版閉源諾基亞 UI API
- 裝置平臺 2.0
- 裝置平臺 1.0
- 基於 SymbianOS 6.1,具有 MIDP 1.0 和 CLDC 1.0 以及包 com.nokia.mid.ui 和 com.nokia.mid.sound 中的舊版諾基亞 UI API。
- 在諾基亞 UI API 中不支援背光
- 裝置平臺 2.0
- 功能包 1.0cs
- 基於 SymbianOS 7.0s,提供 MIDP 2.0 和 CLDC 1.0
- 支援 MMAPI JSR 135
- 支援 SymbianOS 7.0s 中的其他 JSR
- 功能包 2.0
- 基於 SymbianOS 8.0,實際核心版本為 SymbianOS 8.0b,具有 MIDP 2.0 和 CLDC 1.1
- 支援所有 SymbianOS 8.0 的 JSR
- 功能包 3.0
- 基於 SymbianOS 8.1,提供 MIDP 2.0 和 CLDC 1.1
- 支援所有 SymbianOS 8.1 的 JSR
- 功能包 1.0cs
- UIQ 2.0
- 基於 SymbianOS 7.0,提供 MIDP 1.0 和 CLDC 1.0
- 支援 SymbianOS 7.0 的 JSR
- UIQ 2.1
- 基於 SymbianOS 7.0s,提供 MIDP 2.0 和 CLDC 1.0
- 支援 SymbianOS 7.0s 的 JSR
透過使用這些資訊,您不僅可以確定裝置上 MIDP 和 CLDC 的版本,還可以確定在您可能針對應用程式開發的 SymbianOS 裝置上可以訪問哪些由 JSR 表示的可選 API。
- "標準 Java". Symbian 上的 Java.
- "SymbOS7.x". Symbian OS 版本 7.0 功能描述.
- "Symbos-v7s". Symbian OS 版本 7.0s 功能描述.
- "Symbos-v8x". Symbian OS 版本 8.0 功能描述.
- "Symbos-v8.1". Symbian OS 版本 8.1 功能描述.
- "Symbos-v91". Symbian OS 版本 9.1 功能描述.
J2ME、Java 和所有基於 Java 的商標是 Sun Microsystems, Inc. 在美國和其他國家/地區的商標或註冊商標。所有其他商標均為其各自所有者的財產。