Sau đây la câu truc lâp trinh cua môt MIDlet.[r]
(1)M c l cụ ụ
A Các m c đ h a J2ME ứ ồ ọ ………
I T ng quan v J2ME ổ ề ……….3
1 Gi i thi u v J2MEớ ệ ề ………
2 Ki n trúc c a J2MEế ủ ………
3 Căn b n v l p trình J2MEả ề ậ ……… ….6
II.Các thành ph n đ h a m c cao c a ng d ng MIDP ầ ồ ọ ứ ủ ứ ụ ………
III Các thành ph n đ h a m c th p c a ng d ng MIDPầ ồ ọ ứ ấ ủ ứ ụ ……….21
1 L p Canvas ………21ớ Graphics ……….24
B ng d ng Game J2ME Ứ ụ ……… 34
I S lơ ược v l p trình Game J2MEề ậ ……….34
1 Game Canvas ……… 34
2 Layer ……… 36
3 Sprite ……… 38
4 LayerManager ……….39
5 TiledLayer ……… 41
II Xây d ng Game v i Game Builder IDE NetBeans ự ớ ……….42
L I M Đ UỜ Ở Ầ
Ngày k thu t đ h a ngày phát tri n ng d ng nhi u lĩnhỹ ậ ọ ể ứ ụ ề
v c c a đ i s ng M i ngự ủ ố ọ ười có th d dàng nh n u b phim,ể ễ ậ ề ộ
các b c nh k thu t s , trò ch i gi i trí c lĩnh v c khoa h c , xãứ ả ỹ ậ ố ả ả ự ọ
h i nh y h c, thiên văn h c, khí tộ ọ ọ ượng h c, ki n trúc, quy ho ch đô th ọ ế ị
V i mong mu n sâu vào nghiên c u, tìm hi u k thu t đ h a ng d ngớ ố ứ ể ỹ ậ ọ ứ ụ
trong th c t ,chúng em ch n đ tài “ Đ h a J2ME vi t ng d ngự ế ọ ề ọ ế ứ ụ
minh h a “ đ làm đ tài Bài t p l n c a nhóm Bên c nh khơng ch b i tínhọ ể ề ậ ủ ỉ
h p d n c a J2ME v n m t n n t ng k thu t m i m , mà cịn b i vìấ ẫ ủ ố ộ ề ả ỹ ậ ẻ
ng d ng J2ME ph n l n đ c vi t cho thi t b n tho i di đ ng – m t
ứ ụ ầ ượ ế ế ị ệ ộ ộ
thi t b quen thu c cu c s ng c a m i ngế ị ộ ộ ố ủ ỗ ười , đ c bi t t ng l pặ ệ ầ
(2)Chúng em xin c m n th y giáo Lê T n Hùng ả ầ ấ - Gi ng viên b môn Côngả ộ
ngh ph n m m, vi n Công ngh thông tin, trệ ầ ề ệ ệ ường Đ i h c Bách Khoa Hà N iạ ọ ộ
đã t n tình hậ ướng d n chúng em trình h c t p nghiên c u ẫ ọ ậ ứ
Chúng t xin c m n thành viên l p Công ngh ph n m m có nh ngớ ả ệ ầ ề ữ
góp ý xây d ng giúp đ chúng t hoàn thành đ tài Bài t p l n ự ỡ ề ậ
A Các m c đ h a J2MEứ ồ ọ
I T ng quan v J2MEổ ề
1 Gi i thi u J2ME :ớ ệ
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 Micro Edition, hay vi t t t làọ ớ ế ắ
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 Hi n t i ph n l n hang n tho i di đ ng th gi i đ u tích h pọ ệ ầ ệ ộ ế ề ợ
máy o Java s n ph m c a mình, v y cho t i ngày any J2ME v nả ả ẩ ủ ậ ẫ
là ngôn ng ph bi n nh t đ l p trình ng d ng di đ ng nói chung vàữ ổ ế ấ ể ậ ứ ụ ộ
(3)Gi i thi u thành ph n n n t ng J2ME: ớ ệ ầ ề ả
* Đ nh nghĩa v Configuration (C u hình):ị ề ấ Là đ c t đ nh nghĩa m t môi trặ ả ị ộ ường ph n m m cho m t dòng 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 qn 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 aiủ ộ ố ể ấ ể ể ệ ọ
Nokia
Hi n Sun đ a d ng Configuration: ệ
• 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ệ ọ ộ
(4)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 ụ
• 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 nàyư ẫ ế ệ ố ể ụ ữ ế ị
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,…ả ẩ ể ể ế ấ ệ
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 c 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ư ộ ộ ể ầ ả ổ ợ ấ ả
các tính nh v i máy o c a J2SE.ư ả ủ
* Đ nh nghĩa v Profile :ị ề
Profile m r ng Configuration b ng cách thêm vào class đ b tr tínhở ộ ằ ể ổ ợ
năng 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 vàể ể ộ ứ ụ ế ộ
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 J2SE hay J2EE ch y máy h tr J2ME.ấ ộ ứ ụ ế ỗ ợ
Sau profile tiêu bi u: ể
• Mobile Information Device Profile (MIDP): profile s b sung tínhẽ ổ
năng nh h tr k t n i, thành ph n h tr giao di n ngư ỗ ợ ế ố ầ ỗ ợ ệ ười dùng … vào CLDC Profile thi t k ch y u đ nh m vào n th di đ ng v iế ế ủ ế ể ắ ệ ọ ộ
đ c tính hình hi n th h n ch , dung lặ ể ị ế ượng ch a có h n Do MIDP sứ ẽ
cung c p m t giao di n ngấ ộ ệ ười dùng đ n gi n tính m ng đ n gi nơ ả ả
d a HTTP Có th nói MIDP 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)ơ ả ậ ộ
• PDA Profile: tương t MIDP, nh ng v i th trự ị ường máy PDA v i mànớ
hình b nh l n h n ộ ớ
• Foundation Profile: cho phép m r ng tính c a CDC v i ph n l n cácở ộ ủ ầ
th vi n c a b Core Java2 1.3 ệ ủ ộ
Ngồi cịn có Personal Basis Profile, Personal Profile, RMI Profile, Game Profile
3 Căn b n v l p trình J2ME :ả ề ậ
3.1 MIDlet :
MIDlet la môt ng dung Java đ̀ ̣ ứ ̣ ược thiêt kêt đê chay cac thiêt bi di đông.́ ́ ̉ ̣ ́ ́ ̣ ̣
Môt MIDlet ch a cac l p Java dung b i CLDC va MIDP Môt bô MIDlet gôṃ ứ ́ ớ ̀ ở ̀ ̣ ̣ ̀
(5)săn sang cho viêc cai đăt vao điên thoai Vân đê cua lâp trinh viên la tao cac̃ ̀ ̣ ̀ ̣ ̀ ̣ ̣ ́ ̀ ̉ ̣ ̀ ̀ ̣ ́
MIDlet Sau la câu truc lâp trinh cua môt MIDlet.̀ ́ ́ ̣ ̀ ̉ ̣
import javax.microedition.midlet.*; import javax.microedition.lcdui.*
public class MidletExample extends MIDlet { public void MIDletExample() { }
public void startApp() { } public void pauseApp() {}
public void destroyApp(boolean unconditional) { } }
M t Midlet luôn k th a l p MIDlet co săn MIDP L p MIDlet nămộ ế ớ ́ ̃ ớ ̀
trong goi: javax.microedition.midlet, ph́ ương th c c b n mà m t Midletứ ả ộ
ln ph i có :ả
startApp( ) :Phương th c đứ ̀ ược goi b i bô quan ly ng dung kh i taọ ở ̣ ̉ ́ ứ ̣ ở ̣
MIDlet va môi MIDlet tr vê t trang thai paused.̀ ̃ ở ̀ ừ ̣ ́
pauseApp( ): Phương th c goi bô quan ly ng dung môi ng dung cânứ ̀ ̣ ̣ ̉ ́ ứ ̣ ̃ ứ ̣ ̀
tam d ng ng dung th c thi Khi s dung pauseApp ta giai phong môt phâṇ ừ ứ ̣ ự ử ̣ ̉ ́ ̣ ̀
tai nguyên cua MIDlet đê danh bô nh cho cac ng dung khac.̀ ̉ ̉ ̀ ̣ ớ ́ ứ ̣ ́
destroyApp( ): Phương th c đứ ̀ ược dung thoat khoi MIDlet Tr̀ ́ ̉ ước đó
phai giai phong hoan toan bô nh đ̉ ̉ ́ ̀ ̀ ̣ ớ ược lây b i MIDlet.́ ở
(6)(7)T ng k t đánh giáổ ế
Qua m t trình nghiên c u hoàn thành Bài t p l n này, chúng em có độ ứ ậ ược ki n th c t ng quát v l p đ h a J2ME có th vi t đế ứ ổ ề ọ ể ế ược m t sộ ố
ng d ng minh h a ,tuy l ng ki n th c thu th p đ c cịn i ,nh ng t
ứ ụ ọ ượ ế ứ ậ ượ ỏ
chúng em s có c s đ đào sâu phát tri n nh ng ng d ng thành công h nẽ ể ể ữ ứ ụ
trên J2ME
Do th i gian trình đ có h n , đ tài khơng kh i có nh ng thi u sót , r tờ ộ ề ỏ ữ ế ấ