[r]
(1)T ng quan v J2ME ổ ề
I L i nói đ u:ờ ầ
S lố ượng thi t b di đ ng ngày tăng Vi t Nam, nhi u ngế ị ộ ở ệ ề ười coi nệ th di đ ng nh m t v t không th thi u cu c s ng h ng ngày Cùngọ ộ ư ộ ậ ể ế ộ ố ằ v i s gia tăng s lớ ự ố ượng người dùng tính dành cho n tho i cũngệ ạ tăng theo tương ng Hàng lo t tính cao c p đứ ạ ấ ược gi i thi u nh ch pớ ệ ư ụ hình s , nghe nh c đ c bi t nh t có th s d ng chố ạ ặ ệ ấ ể ụ ương trình khơng ph i nhà s n xu t n th cung c p Đây có th đả ả ấ ệ ọ ấ ể ược coi m t cu cộ ộ cách m ng lĩnh v c di đ ng, bi n chi c n th nh bé c a b nạ ự ộ ế ế ệ ọ ỏ ủ ạ thành m t chi c máy tính thu nh , v i nh ng ch ng lo i n tho i b n cóộ ế ỏ ớ ữ ủ ạ ệ ạ ạ th đ c báo, ti u thuy t, tra t n, b n đ nh t mang th gi i gi i trí đ nể ọ ể ế ừ ể ả ồ ấ ế ớ ả ế bên c nh, nh ng b n nh c hay, nh ng games hay s s n sàng m i khiạ ữ ả ạ ữ ẽ ẵ ỗ b n c n đ n Đ c bi t h n, v i s h tr c a n n t ng ph n m m s d ng choạ ầ ế ặ ệ ơ ớ ự ỗ ợ ủ ề ả ầ ề ử ụ thi t b di đ ng, nhà thi t k cịn có th bi n nh ng đ v t dùng gia đìnhế ị ộ ế ế ể ế ữ ồ ậ thành nh ng “c máy bi t suy nghĩ” nh lị vi sóng, h p u n ti-vi, hữ ỗ ế ư ộ ề ể ệ th ng xem DVD, VCD, máy PDA dùng cho cá nhân xe h i … Đ gópố ơ ể ph n cho s phát tri n ngồi y u t ph n c ng n n t ng ph n m m làầ ự ể ế ố ầ ứ ề ả ầ ề nhân t quy t đ nh bi t, có hàng ch c hãng s n xu t n tho iố ế ị ế ụ ả ấ ệ ạ khác s d ng công ngh khác Làm đ thi t b ph n c ngử ụ ệ ể ế ị ầ ứ khác có th s d ng chung m t n n t ng ph n m m? Đây n i dungể ụ ộ ề ả ầ ề ộ chúng ta s tìm hi u vi t hơm nay, n n t ng J2ME- Java 2ẽ ể ế ề ả Platform,Micro Edition.
Đ có th hi u rõ vi t, đ c gi c n ph i có ki n th c Java c b nể ể ể ế ộ ả ầ ả ế ứ ơ ả
a L ch s :ị ử J2ME phát tri n t ki n trúc Java Card, Embeded Java Personal Java c a phiên b nể ế ủ ả
Java 1.1 Đ n s đ i c a Java Sun quy t đ nh thay th Personal Java đế ự ủ ế ị ế ươc g i v i tên m i Javaọ ớ
2 Micro Edition, hay vi t t t J2ME Đúng v i tên g i, J2ME n n t ng cho thi t b có tính ch t nh ,ế ắ ọ ề ả ế ị ấ ỏ
g n (Micro có nghĩa nh ti ng Anh) M i b n xem hình dọ ỏ ế ưới ch n J2MEọ
(2)<! [if !vml] > <! [endif] > <! [if !supportLists] > b Lý ch n J2MEọ
· Java ban đ u đầ ược thi t k dành cho máy v i tài nguyên b nh h n chế ế ớ ộ ớ ạ ế
· Th trị ường c a J2ME đủ ược m r ng cho nhi u ch ng lo i thi t b nh :ở ộ ề ủ ạ ế ị ư
1 Các l th cá nhân nh Java Cardọ ẻ ư
2 Máy n tho i di đ ngệ ạ ộ
3 Máy PDA (Personal Digital Assistant - thi t b tr giúp cá nhân)ế ị ợ
4 Các h p u n dành cho tivi, thi t b gi i trí gia d ng …ộ ề ể ế ị ả ụ
II Ki n trúc J2MEế : ph n s trình bày ki n trúc t ng quát tồn b n n t ng Java, đ qua đ c gi có th th y rõ h n chi nầ ẽ ế ổ ộ ề ả ể ộ ả ể ấ ế
lược v Java c a Sunề ủ <! [endif] > <! [if !vml] >
(3)a Gi i thi u thành ph n n n t ng J2ME:ớ ệ ầ ề ả
1 Đ nh nghĩa v Configuration (C u hình): đ c t đ nh nghĩa m t môi trị ề ấ ặ ả ị ộ ường ph n m m cho m t dòng cácầ ề ộ
thi t b đế ị ược phân lo i b i t p h p đ c tính, ví d nh :ạ ậ ợ ặ ụ
·Ki u s lể ố ượng b nhộ
·Ki u t c đ b vi x lýể ố ộ ộ
·Ki u m ng k t n iể ế ố
Do đ c t nên nhà s n xu t thi t b nh Samsung, Nokia …b t bu c ph i th c thi đ y đ đ cặ ả ả ấ ế ị ắ ộ ả ự ầ ủ ặ
t Sun qui đ nh đ l p trình viên có th d a vào mơi trả ị ể ậ ể ự ường l p trình nh t quán thông qua s nh tậ ấ ự ấ
quán này, ng d ng đứ ụ ượ ạc t o có th mang tính đ c l p thi t b cao nh t có th Ví d nh m t l pể ộ ậ ế ị ấ ể ụ ộ ậ
trình viên vi t chế ương trình game cho n tho i Samsung có th s a đ i chệ ể ổ ương trình c a m t cáchủ ộ
t i thi u nh t đ có th ch y n th Nokia Qua ta th y kh u hi u “Write Once, Run Everywhere”ố ể ấ ể ể ệ ọ ấ ẩ ệ
c a Java khơng cịn n a, nh ng ta ph i đánh giá cao s n l c c a Sun vi c t o m tủ ữ ả ự ổ ự ủ ệ ộ
môi trường ph n m m chung cho vô s ch ng lo i thi t b di đ ng có th trầ ề ố ủ ế ị ộ ị ường Hi n Sun đ a raệ
2 d ng Configuration.ạ
2 CLDC (Connected Limited Device Configuration-C u hình thi t b k t n i gi i h n): đấ ế ị ế ố ược thi t k đ nh mế ế ể ắ
vào th trị ường thi t b c p th p (low-end), thi t b thông ị ấ ấ ế ị ường máy n th di đ ng PDAệ ọ ộ
v i kho ng 512 KB b nh Vì tài nguyên b nh h n ch nên CLDC đớ ả ộ ộ ế ược g n v i Java không dây (Javaắ
Wireless ), d ng nh cho phép ngạ ườ ụi s d ng mua t i v ng d ng Java, ví d nh Midlet.ả ề ứ ụ ụ
3 CDC- Connected Device Configuration (C u hình thi t b k t n i): CDC đấ ế ị ế ố ược đ a nh m đ n thi t bư ắ ế ế ị
có tính m nh h n dòng thi t b thu c CLDC nh ng v n y u h n h th ng máy đ bàn s d ngạ ế ị ộ ẫ ế ệ ố ể ụ
J2SE Nh ng thi t b có nhi u b nh h n (thơng thữ ế ị ề ộ ường 2Mb) có b x lý m nh h n Các s nộ ả
ph m có th k đ n nh máy PDA c p cao, n tho i web, thi t b gia d ng gia đình …ẩ ể ể ế ấ ệ ế ị ụ
C d ng C u hình k đ u ch a máy o Java (Java Virtual Machine) t p h p l p (class) Java ấ ể ề ứ ả ậ ợ
b n đ cung c p m t môi trả ể ấ ộ ường cho ng d ng J2ME Tuy nhiên, b n ý r ng đ i v i thi t b c pứ ụ ằ ố ế ị ấ
th p, h n ch v tài nguyên nh b nh b x lý nên không th yêu c u máy o h tr t t c tínhấ ế ề ộ ộ ể ầ ả ổ ợ ấ ả
năng nh v i máy o c a J2SE, ví d , thi t b thu c CLDC khơng có ph n c ng u c u phép tínhư ả ủ ụ ế ị ộ ầ ứ ầ
toán d u ph y đ ng, nên máy o thu c CLDC không đấ ẩ ộ ả ộ ược yêu c u h tr ki u float double.ầ ỗ ợ ể
(4)<! [if !vml] >
B ng dả ưới s so sánh thông s k thu t c a CDC CLDCự ố ỹ ậ ủ
CLDC CDC
Ram >=32K, <=512K >=256K
Rom >=128k, <=512k >=512k
Ngu n Năngồ
Lượng Có Gi I H n (ngu n pin)ớ ạ ồ Không gi I h nớ ạ
Network Ch mậ Nhanh
b.Đ nh nghĩa v Profile:ị ề Profile m r ng Configuration b ng cách thêm vào class đở ộ ằ ể b tr tính cho t ng thi t b chuyên bi t C Configuration đ u có nh ngổ ợ ừ ế ị ệ ả ề ữ profile liên quan t nh ng profile có th dùng class l n Đ n ta cóừ ữ ể ẫ ế th nh n th y m i profile đ nh nghĩa m t t p h p class khác nhau, nên thể ậ ấ ỗ ị ộ ậ ợ ường ta không th chuy n m t ng d ng Java vi t cho m t profile ch y m t máyể ể ộ ứ ụ ế ộ ạ ộ h tr m t profile khác Cũng v i lý đó, b n khơng th l y m t ng d ng vi t trênỗ ợ ộ ớ ạ ể ấ ộ ứ ụ ế J2SE hay J2EE ch y máy h tr J2ME Chúng ta s m qua profile tiêuạ ỗ ợ ẽ ể bi u:ể
(5)người dùng đ n gi n tính m ng đ n gi n d a HTTP Có th nói MIDPơ ả ạ ơ ả ự ể là profile n i ti ng nh t b i ki n th c c b n cho l p trình Java máy diổ ế ấ ở ế ứ ả ậ đ ng (Wireless Java)ộ
2 PDA Profile: tương t MIDP, nh ng v i th trự ư ớ ị ường máy PDA v i hình vàớ b nh l n h nộ ớ ớ ơ
3 Foundation Profile: cho phép m r ng tính c a CDC v i ph n l n thở ộ ủ ớ ầ ớ ư vi n c a b Core Java2 1.3ệ ủ ộ
Ngoài cịn có Personal Basis Profile, Personal Profile, RMI Profile, Game Profile. B n đ c có th hi u rõ h n v v trí c a profile ki n trúc J2ME theo hìnhạ ọ ể ể ơ ề ị ủ ế bên dưới
<! [if !vml] > <! [endif] >
Trong ph m vi vi t này, ngạ ế ười vi t ch đ t tr ng tâm vào MIDP m c tiêu t o chế ỉ ặ ọ ụ ương trình ch y n th di đ ngạ ệ ọ ộ
c S lơ ược v MIDPề :
Đ nh nghĩa: Đây Profile đị ược đ nh nghĩa dành riêng cho thi t b di đ ng thành ph n trongị ế ị ộ ầ
J2ME MIDP cung c p ch c c b n cho h u h t dòng thiêt b di đ ng ph bi n nh t nh cácấ ứ ả ầ ế ị ộ ổ ế ấ
máy n tho I di đ ng máy PDA Tuy nhiên MIDP không ph i đũa th n cho m i l p trình viên vìệ ộ ả ầ ọ ậ
nh bi t, MIDP đư ế ược thi t k cho máy di đ ng có c u hình r t th p Trong ph n sau sế ế ộ ấ ấ ấ ầ ẽ
(6)B ng 2: Các l p b sung MIDP 1.0ả ớ ổ
Tên gói Miêu tả S lố ượng class interface
javax.microedition.rms Qu n lý vi c l u tr dả ệ ư ữ ữ
li uệ 10
javax.microedition.midlet Giao di n trung gian gi aệ ữ Midlet môi trường Midlet ch yạ
2
javax.microedition.io H tr HTTP ỗ ợ 1
javax.microedition.lcdui H tr giao di n ngỗ ợ ệ ười dùng
24 B ng 3: T ng s class interface CDCả ổ ố
Tên gói Miêu tả S lố ượng class interface
java.io Qu n lý vi c xu t nh pả ệ ấ ậ
c a h th ngủ ệ ố 62
java.lang Các l p Java c b n ớ ơ ả 77
java.lang.ref Các l p h tr b thu gomớ ỗ ợ ộ
“rác” c a JVMủ 5
java.lang.reflect H tr tính reflectionỗ ợ
trong Java 12
java.math H tr phép tính trongỗ ợ
toán h cọ 1
java.net H tr m ngỗ ợ ạ 23
java.security Cung c p tính b oấ ả
m tậ 36
java.security.cert H tr ch ng th c trongỗ ợ ứ ự
b o m tả ậ 4
java.text Cung c p l p h trấ ớ ỗ ợ thao tác text
13 java.util Các l p h tr vi c tínhớ ỗ ợ ệ
th i gian, qu n lý t p h pờ ả ậ ợ v.v
47
java.util.jar H tr thao tác file Jar ỗ ợ 7 java.util.zip H tr thao tác file Zip ỗ ợ 9 javax.microedition Qu n lý k t n iả ế ố 10
Tham kh o:ả
http://www.cs.armstrong.edu/burge/pdf/huc/01_J2ME_Overview.pdf http://www.onjava.com/pub/a/onjava/2001/03/08/J2ME.html
(7) http://www.cs.armstrong.edu/burge/pdf/huc/01_J2ME_Overview.pdf http://www.onjava.com/pub/a/onjava/2001/03/08/J2ME.html http://developers.sun.com/techtopics/mobility/midp/articles/wtoolkit/