[知識] Java 2 Platform, Micro Edition 基礎與進階介紹 (J2ME)

Java 2 Platform, Micro Edition – Introduction


[知識] Java 2 Platform, Micro Edition 基礎與進階介紹 (J2ME)


===== 文章前言 =====


最近回答了一些關於 Java 的問題
發現有些人對於 Java 的印象 = 遊戲

除此之外也與我的另一篇文互相呼應
善用程式~讓一般的手機也能如同智慧型手機一樣強大!!



===== 內容簡述 =====


針對完全沒有 Java 基礎的人,介紹一些常見的名詞與使用方法。
J2ME的基礎介紹: 起源、影響。
J2ME的進階介紹: 版本、規範。
J2ME的補充介紹: 較常見的應用程式介面、J2ME手機的支援列表。



===== J2ME Introduction Contents =====


## J2ME Simple Intro For Newbie ##
# Why I can’t use the Java applications?
# What is the MIDlet?
# What are jar & jad? What’s the difference?
# ezJad jar>jad Tool


## J2ME Basic Introduction ##
# Java’s Variation
# J2ME’s Origin
# J2ME’s Effects


## J2ME Advanced Introduction ##
# J2ME Classification
. . Why Classified?
. . Classified by Capability
. . Foundation Profile (FP)
. . Mobile Information Device Profile (MIDP)
# Old Specification
. . PersonalJava
. . KJava


## J2ME CLDC Other APIs ##
# Mobile 3D Graphic
# Location API for J2ME
# J2ME Web Services APIs (WSA)
# Mobile Media API (MMAPI)
# Security and Trust Services API for J2ME (SATSA)


## J2ME Other Supplement ##
# Device List
. . Casio
. . Mitsubishi Electrics
. . Motorola
. . Nokia
. . Research In Motion
. . Siemens
. . Sony Ericsson



===== J2ME Simple Intro For Newbie =====


## 為什麼有些 Java 程式別人可以用,但是我卻不能用? ##
# 手機對 Java 支援的程度不同是極大的原因
~ 請至 J2ME Other Supplement > Device List 查看

# 常見的 Java 支援差別
~ MIDP 1.0 and MIDP 2.0
~ CLDC、Bluetooth API、3D Graphic API . . . etc


## MIDlet 是什麼? ##
# MIDlets 是讓支援 Java MIDP 的移動裝置使用之小型 Java 程式。


## *.jar & *.jad 是什麼?有什麼差別? ##
# 一般用於手機的 Java 軟體都是由 jad 和 jar 兩種檔案所組成,其中
~ jar 是主要的程式檔
~ jad 是將該程式安裝到手機裏的描述檔
~ 對一些手機而言,如果沒有相應的jad檔則無法安裝該java軟體。


## ezJad ##
# jar -> jad 自動生成免費工具
~ 附加壓縮檔: 200509/mobile01-ezJad.zip

# 軟體特點
~ 一次處理多個jar檔,省卻單一處理的繁瑣操作。
~ 可處理整個目錄、搜索整個目錄甚至硬碟所有的jar檔,批量生成jad。
~ 完全免費的綠色軟體,解開壓縮就能使用。

# 使用方法
~ 添加檔案: 打開檔瀏覽對話方塊,選擇jar檔。
~ 添加目錄: 打開目錄瀏覽對話方塊,選擇包含jar的目錄,開始搜索整個目錄裏的jar檔。
~ 刪除條目: 取消任務欄中選中的條目,不會影響硬碟裏的檔案。
~ 開始生成: 處理任務列表裏的條目,生成jad檔,和jar檔存放在一起。



===== J2ME Basic Introduction =====


## Java的種類 ##
在 Java 2 平臺下,Sun 重新定義了 Java 技術的架構,將其分為三個版本。
# 標準版 (J2SE) 為桌面開發和低階商務應用提供了可行的解決方案。
# 企業版 (J2EE) 是為面對以企業為環境而開發應用程式的專業開發人員而準備的。
# 小型版 (J2ME) 是致力於消費產品和嵌入式設備的開發人員的最佳選擇。



## J2ME的起源 ##
J2ME 於 1999 年 6 月由 Sun Microsystems 推向 Java 團體。
它是一項用來滿足 Java 開發人員不同需求的廣泛倡議之一部分。



## J2ME的影響 ##
J2ME對 Sun,對跨通訊產業、資訊產業和消費型電子產品業的公司,以及 Java 開發人員來說是個好消息。
Java 技術將一大批設備(從伺服器到桌上型電腦和行動裝置)集中到一種語言和一種技術之下。
雖然這些設備的應用不同,但 Java 技術為這些不同扮起了橋樑的作用。
原本致力於單一領域的開發人員能將其技能發揮到跨越不同設備和應用的領域。



===== J2ME Advanced Introduction =====


## J2ME的分類 ##

# Step.0 為何要分類?
J2ME的適用範圍很廣泛,包括PDA、Cell Phone、電視機上盒、遠端遙控裝置和許多其他嵌入式設備。
由於處理器、記憶體和使用者介面的差異非常大,要為所有這些設備定義一種(接近)最佳化的單一技術是不可能的。


# Step.1 根據設備能力劃分

~ 連結設備配置 – Connected Device Configuration – CDC
. The standard-based Java framework, compatible with standard J2SE APIs.
. Requirements: 2MB RAM & 2.5MB ROM
. Includes: 基礎簡檔 Foundation Profile (FP)
. For: 電視機上盒、娛樂系統、汽車導航系統和其他這類規模的應用程式

~ 連結限制設備配置 – Connected Limited Device Configuration - CLDC
. The smallest general-purpose Java environment.
. Requirements: 128~512KB RAM.
. Includes: 移動資訊設備簡檔 Mobile Information Device Profile (MIDP)
. For: 行動電話、呼叫器、PDA 和類似設備的配置

(Other profiles are under development or skipped here.)


# Step.2 CDC的基礎簡檔 (FP)

~ Introduction
. 提供完整 J2ME 應用程式環境。
. 大大地擴充了 CDC 的應用程式介面

~ Characteristics
. Based on proven J2SE APIs
. Tuned for low-footprint, limited source environments
. No GUI support


# Step.3 CLDC的移動資訊簡檔 (MIDP)

~ Introduction
. 提供標準 Java runtime 環境給移動資訊設備,如行動電話、呼叫器和 PDA。
. 為 CLDC 加入上述設備必需的功能性,包括支援計時器、簡單固定記憶體、HTTP 網路連線和使用者介面。

~ Specification
. MIDP 1.0
. . Basic User Interface
. . Network Security
. MIDP 2.0
. . Enhanced User Interface
. . Enhanced Multimedia & Game Functionality
. . More Extensive Connectivity
. . Over-the-Air Provisioning
. . End-to-End Security


## Old Specifications ##

# PersonalJava
~ Sun在 1997 年首次為資源限制設備建立 Java 平臺版本的嘗試
~ 正逐漸轉變成 CDC 的個人簡檔

# KJava
~ Sun 在 1999 年 JavaOne 中為 Palm 而開發的 Java 平臺版本
~ Palm Inc. 正為 CLDC 定義 PDA 簡檔來取代 KJava



===== J2ME CLDC Other APIs =====


## Mobile 3D Graphic ##
# Provide a scalable, small-footprint, interactive 3D API for use on mobile devices.


## Location API for J2ME ##
# Enable developers to write mobile location-based applications for resource-limited devices.


## J2ME Web Services APIs (WSA) ##
# Enable devices to be web services clients.
# Provide a programming model that is consistent with the standard web services platform.


## Mobile Media API (MMAPI) ##
# Provide audio, video, and other multimedia support to resource-constrained devices.
# Give Java developers access to native multimedia services available on a given device.


## Security and Trust Services API for J2ME (SATSA) ##
# Extend the security features for the J2ME platform
# Through the cryptographic APIs, digital signature service, and user credential management.



===== J2ME Other Supplement =====


## Device List ##

Model ~ Software ~ Screen

# Casio
C452CA - MIDP 1.0, CLDC 1.0 - 120x133/8 bits

# Mitsubishi Electric
M350 - MIDP 1.0, CLDC 1.0 - 128x160/12 bits
M750 - MIDP 1.0, CLDC 1.0 - 128x160/12 bits
M900 - JTWI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, WMA 1.1 - 240x320/18 bits

# Motorola
E380 - MIDP 1.0, CLDC 1.0 - 96x65/12 bits
T720 - MIDP 1.0, CLDC 1.0 - 120x160/12 bits
V60i - MIDP 1.0, CLDC 1.0 - 96x64
V66i - MIDP 1.0, CLDC 1.0 - 96x64

# Nokia
3100 - MIDP 1.0, WMA 1.0, CLDC 1.0 - 128x128/12 bits
3105 - MIDP 1.0, WMA 1.0, CLDC 1.0 - 128x128/12 bits
3120 - MIDP 1.0, CLDC 1.0 - 128x128/12 bits
3200 - MIDP 1.0, WMA 1.0, CLDC 1.0 - 128x128/12 bits
3600 - MMAPI 1.0, MIDP 1.0, WMA 1.0, CLDC 1.0 - 176x208/12 bits
3650 - MMAPI 1.0, MIDP 1.0, WMA 1.0, CLDC 1.0 - 176x208/12 bits
5140 - CLDC 1.1, MIDP 2.0 - 128x128/12 bits
6100 - MIDP 1.0, CLDC 1.0 - 128x128/12 bits
6230 - CLDC 1.1, MIDP 2.0 - 128x128/16 bits
6600 - MMAPI 1.0, MIDP 2.0, WMA 1.0, JABWT 1.0, CLDC 1.0 - 176x208/16 bits
6610 - MIDP 1.0, CLDC 1.0 - 128x128/12 bits
6610i - MIDP 1.0, CLDC 1.0 - 128x128/12 bits
6630 – CLDC 1.1, MIDP 2.0, CLDC 1.0, M3DAPI - 176x208/16 bits
6820 - MIDP 1.0, CLDC 1.0 - 128x128/12 bits
7200 - MIDP 1.0, CLDC 1.0 - 128x128/16 bits
7600 - MMAPI 1.0, MIDP 1.0, WMA 1.0, CLDC 1.0 - 128x160/16 bits
7610 - CLDC 1.1, MIDP 2.0, CLDC 1.0 - 176x208/16 bits
7650 - MIDP 1.0, CLDC 1.0 - 176x208/12 bits
8910i - MIDP 1.0, CLDC 1.0 - 96x65/12 bits
9210 - JavaPhone 1.0, MIDP 1.0, PersonalJava 1.1.1, CLDC 1.0 - 640x200/12 bits
9210i - JavaPhone 1.0, MIDP 1.0, PersonalJava 1.1.1, CLDC 1.0 - 640x200/12 bits
9290 - JavaPhone 1.0, MIDP 1.0, PersonalJava 1.1.1, CLDC 1.0 - 640x200/12 bits
9500 - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, WMA 1.1 - 640x200/16
N-Gage - MMAPI 1.0, MIDP 1.0, WMA 1.0, CLDC 1.0 - 176x208/12 bits

# Research In Motion
BlackBerry 5810 - MIDP 1.0, CLDC 1.0 - 160x160/1 bit
BlackBerry 5820 - MIDP 1.0, CLDC 1.0 - 160x160/1 bit

# Siemens
A65 - MIDP 1.0, CLDC 1.0 - 101x80/12 bits
C55 - MIDP 1.0, CLDC 1.0 - 101x64/1 bit
C60 - MIDP 1.0, CLDC 1.0 - 101x80/12 bits
C65 - JTWI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, WMA 1.1 - 130x130
C66 - JTWI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, WMA 1.1 - 130x130
CF62 - MIDP 1.0, CLDC 1.0 - 130x130/16 bits
CX65 - JTWI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, WMA 1.1 - 132x176
CX75 - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, JABWT 1.0, WMA 1.1
M50 - MIDP 1.0, CLDC 1.0 - 101x64/1 bit
M65 - JTWI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, WMA 1.1 - 132x176
S55 - MIDP 1.0, CLDC 1.0 - 101x80/8 bits
S65 - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, JABWT 1.0, WMA 1.1
SL55 - MIDP 1.0, CLDC 1.0 - 101x80/12 bits
SL65 - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, WMA 1.1 - 130x130/12
SX1 - MMAPI 1.0, MIDP 1.0, WMA 1.0, CLDC 1.0 - 176x220/16 bits
CF75 - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, LAPI 1.0, JABWT 1.0, M3GAPI 1.0, WMA 1.1
SK65 - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 1.0, MIDP 2.0, MMAPI 1.1, LAPI 1.0, JABWT 1.0, CLDC 1.0, WMA 1.1 - 132x176/16 bits

# Sony Ericsson
A3014S - MIDP 1.0, CLDC 1.0 - 120x120/16 bits
A5402S - MIDP 1.0, CLDC 1.0 - 240x320/18 bits
K500c/i - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 1.0, MIDP 2.0, MMAPI 1.1, WMA 1.1
K700c/i - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 1.0, MIDP 2.0, MMAPI 1.1, WMA 1.1
P80x - MIDP 1.0, PersonalJava 1.1.1, CLDC 1.0 - 208x320/12 bits
P90x - MIDP 2.0, PersonalJava 1.1.1, JABWT 1.0, CLDC 1.0, WMA 1.1 - 208x320/16
P910a/c/i - JTWI 1.0, MIDP 2.0, PersonalJava 1.1.1, JABWT 1.0, CLDC 1.0, WMA 1.1
S700a/c/i - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 1.0, MIDP 2.0, MMAPI 1.1, WMA 1.1
SO503iS - CLDC 1.0 - 128x128/16 bits
SO504i - CLDC 1.0 - 128x128/16 bits
SO505i - CLDC 1.0 - 256x320/18 bits
SO506i - JTWI 1.0, CLDC 1.1, MIDP 2.0, MMAPI 1.1, CLDC 1.0, WMA 1.1 - 240x240/16
SO506iC - CLDC 1.0 - 240x320/18 bits
T610 - MMAPI 1.0, MIDP 1.0, CLDC 1.0 - 128x160/16 bits
T630 - MMAPI 1.0, MIDP 1.0, CLDC 1.0 - 128x160/16 bits
Z1010 - JTWI 1.0, CLDC 1.1, MIDP 1.0, MIDP 2.0, MMAPI 1.1, WMA 1.1 - 176x220/16
Z500i - JTWI 1.0, M3DAPI 1.0, CLDC 1.1, MIDP 1.0, MIDP 2.0, MMAPI 1.1, WMA 1.1 - 128x160/16
Z600 - MMAPI 1.0, MIDP 1.0, CLDC 1.0 - 128x160/16 bits



===== Introduction End =====


[知識] Java 2 Platform, Micro Edition 基礎與進階介紹 (J2ME) . [知識] Java 2 Platform, Micro Edition 基礎與進階介紹 (J2ME) . [知識] Java 2 Platform, Micro Edition 基礎與進階介紹 (J2ME)

[知識] Java 2 Platform, Micro Edition 基礎與進階介紹 (J2ME)


That's all ^^

All the pictures in this article are...
~ copied from Sun Official Web Site.
~ only used here for academic teaching.
~ copyrighted.


欲轉載者煩請先知會並註明作者&出處,謝謝!

2005/09/11 written by rockson

2005-09-11 16:02 發佈

不好意思 ~ 還麻煩版主幫我移文
Sweet & Digital Mixed Chaos ~ https://chaorock.com
chaorockson兄這兩篇大作實在是用心又精采,真是意猶未盡!! 小弟佩服之餘,僅獻上滿分並妥為收藏起來,已備不時溫習之!

承蒙您的欣賞


愚者想在開學前為大家盡一份心力

順便也可以為自己溫故知新一下 ^^
Sweet & Digital Mixed Chaos ~ https://chaorock.com
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?