Luận văn máy tính java mobile và xây dựng ứng dụng minh họa
TRNG I HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN B MÔN MNG MÁY TÍNH – VIN THÔNG NG NGUYN KIM ANH – ÀO ANH TUN NGHIÊN CU JAVA MOBILE VÀ XÂY DNG NG DNG MINH HA KHÓA LUN C NHÂN TIN HC TP.HCM, 2005 TRNG I HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN B MÔN MNG MÁY TÍNH – VIN THÔNG NG NGUYN KIM ANH – 0112424 ÀO ANH TUN – 0112451 NGHIÊN CU JAVA MOBILE VÀ XÂY DNG NG DNG MINH HA KHÓA LUN C NHÂN TIN HC GIÁO VIÊN HNG DN Thy NGUYN MINH TUN NIÊN KHÓA 2001-2005 Li Cm n! Sau hn nm tháng tìm hiu và thc hin, lun vn “Nghiên cu công ngh Java Mobile và xây dng ng dng minh ho” đã c bn hoàn thành. đt đc kt qu này, chúng tôi đã n lc ht sc đng thi cng nhn đc rt nhiu s quan tâm, giúp đ, ng h ca các thy cô, bn bè và gia đình. Trc ht, chúng em xin gi li cm n chân thành đn B môn Mng máy tính và Vin thông, Khoa Công ngh Thông tin, trng i hc Khoa hc T nhiên và các thy cô đc bit là Thy Nguyn Minh Tun đã tn tình giúp đ, hng dn chúng em hoàn thành lun vn này. Chúng tôi rt cm n các bn bè trong khoa, các anh ch, các bn trong cng đng Java Vit Nam đã bên cnh ng h, đóng góp ý kin cho chúng tôi trong quá trình thc hin lun vn. Và chúng con cng xin chân thành cm n gia đình đã luôn đng viên, to điu kin tt nht cho chúng con hc tp và hoàn tt lun vn. Lun vn đã hoàn thành vi mt s kt qu nht đnh, tuy nhiên vn không tránh khi sai sót. Kính mong s cm thông và đóng góp ý kin t các thy cô và các bn. Thành ph H Chí Minh, tháng 7 nm 2005 ng Nguyn Kim Anh - ào Anh Tun MC LC Li Nói u 1 Phn 1: Kin thc nn tng J2ME 5 Chng 1: Tng quan v J2ME 5 1.1 Gii thiu J2ME (Java 2 Micro Edition) 5 1.2 Lý do chúng ta cn J2ME 6 1.3 Các thành phn ca J2ME: 7 1.3.1 Configuration: 7 1.3.2 Profile: 9 1.3.3 Máy o Java 10 Chng 2: Gii thiu CLDC và MIDP 13 2.1. CLDC 13 2.1.1. Yêu cu phn cng: 13 2.1.2. Yêu cu phn mm: 13 2.1.3. Máy o Java: 13 2.2. MIDP: 16 2.2.1. Yêu cu phn cng: 16 2.2.2. Yêu cu phn mm: 16 2.2.3. Cu trúc MID Profile: 16 2.2.4. MIDlet Suite: 18 2.2.5. Môi trng phát trin ng dng J2ME 22 Chng 3: Các vn đ c bn ca chng trình MIDlet 25 3.1. Cu trúc c bn: 25 3.2. Xây dng mt ng dng MIDlet: 25 3.3. Lp MIDlet: 26 3.4. Lp MIDletStateChangeException: 28 3.5. Display 28 3.6. Lp Displayable: 30 3.7. Qun lý các s kin (event) 32 3.7.1. Command & CommandListener 33 3.7.2. Item và ItemStateListener 38 Chng 4: Giao din đ ha cp cao 40 4.1. Screen: 42 4.2. Form: 43 4.3. Item: 45 4.3.1. DateField: 46 4.3.2. Gauge: 48 4.3.3. String Item: 51 4.3.4. TextField: 53 4.3.5. ChoiceGroup: 57 4.3.6. Image và ImageItem: 61 4.4. List: 64 4.5. TextBox: 69 4.6. Alert và AlertType: 72 4.6.1. Alert: 72 4.6.2. AlertType: 74 4.7. Ticker: 77 Chng 5: Giao din đ ha cp thp 78 5.1. Canvas: 78 5.1.1. H to đ: 79 5.1.2. V trên đi tng Canvas: 79 5.1.3. Bt s kin trong các đi tng Canvas: 82 5.1.4. Game action: 85 5.1.5. S kin con tr: 87 5.2. Graphics: 89 5.2.1. Màu sc: 90 5.2.2. Nét v: 93 5.2.3. Font ch: 98 5.2.4. V các đi tng hình nh (image): 101 5.2.5. Các phng thc tnh tin đi tng: 103 5.2.6. Vùng xén (Clipping regions): 105 Chng 6: Lu tr thông tin vi RMS 106 6.1. Gii thiu RMS 106 6.2. Duyt danh sách Record vi RecordEnumeration 115 6.3. Sp xp bng RecordComparator 117 6.4. Lc record vi RecordFilter 119 6.5. Nhn thông đip khi Record Store thay đi 121 6.6. X lý li khi thao tác vi Record Store 122 Chng 7: Kt ni mng vi Generic Connection Framework (GCF) 124 7.1. Gii thiu GFC 124 7.2. Lc đ lp 124 7.3. Kt ni HTTP: 127 7.3.1. Khi to kt ni: 127 7.3.2. Các đc đim ca kt ni HTTP bng J2ME: 130 7.3.3. Thông s kt ni: 137 7.4. Kt ni socket Datagram (UDP) 138 7.5. Kt ni TCP socket 141 7.6. Gi và nhn SMS 144 Phn 2 : Web Service và ng dng "ng Ký Hc Phn" 149 Chng 8: Gii thiu Web Service 149 8.1. ng dng phân tán (Distributed Application) 149 8.1.1. Gii thiu 149 8.1.2. Các vn đ ny sinh trong h thng ng dng phân tán 150 8.1.3. Hn ch ca nhng mô hình ng dng phân tán trc đây 151 8.2. Web Service 152 8.2.1. nh ngha 152 8.2.2. Thành phn c bn ca Web service: 152 8.2.3. Hot đng ca Web service 152 8.2.4. u đim ca web service 155 8.3. Các thành phn chính ca Web Service 157 8.3.1. SOAP (Simple Object Access Protocol) 157 8.3.2. WSDL (Web Service Definition Language) 162 Chng 9: ng dng đng ký hc phn 172 9.1 c t chng trình: 172 9.1.1 Tng quan: 172 9.1.2 Các chc nng chính: 172 9.2 Kin trúc chng trình: 174 9.2.1 Mô hình kt ni: 174 9.2.2 Mô hình bo mt (mã hoá password): 176 9.3 Phân tích - thit k: 177 9.3.1 Mô hình use case: 177 9.3.2 c t mt s use case chính: 178 9.4 Thit k mô hình d liu: 183 9.4.1 Mô hình thc th kt hp: 183 9.4.2 Các bng d liu: 183 9.4.3 Chi tit các bng d liu: 184 9.4.4 Ràng buc d liu: 188 9.4.5 Mô hình d liu: 190 9.4.6 Các chc nng store procedures: 190 9.4.7 Thit k lp: 191 9.5 Cài đt - th nghim: 192 9.5.1 Yêu cu phn cng: 192 9.5.2 Yêu cu phn mm: 193 9.5.3 Giao din chng trình: 193 Chng 10: Tng kt 205 10.1 Kt lun: 205 10.2 Hng phát trin: 207 Tài liu tham kho 210 Ph Lc A: Hng dn s dng công c Sun Wireless ToolKit 2.3 211 Ph Lc B: Xây dng và S dng Web Service 217 Ph Lc C: Gii thiu các th vin JSR 222 Danh Sách Các Hình Hình 1.1 Các thit b J2ME h tr 6 Hình 1.2 Các thành phn ca J2ME 7 Hình 1.3 Configurations và các thit b 9 Hình 1.4 Cu trúc chng trình J2ME 11 Hình 1.5 Cu trúc chng trình MIDP 11 Hình 2.1 Cu trúc thit b MID 17 Hình 3.1 Command Exit 34 Hình 3.2 Command Label 36 Hình 3.3 Ánh x soft-button 36 Hình 4.1 S đ các lp giao din đ ho 40 Hình 4.2 Giao din đi tng DateField 46 Hình 4.3 Giao din đi tng Gauge ch đ tng tác 48 Hình 4.4 Giao din đi tng Gauge ch đ không tng tác 49 Hình 4.5 Giao din đi tng StringItem 52 Hình 4.6 Giao din đi tng TextField 56 Hình 4.7 Giao din đi tng ChoiceGroup ch đ mt la chn 59 Hình 4.8 Giao din đi tng ChoiceGroup ch đ nhiu la chn 60 Hình 4.9 Giao din đi tng List dng menu 67 Hình 4.10 Giao din đi tng List cho phép chn nhiu la chn 68 Hình 4.11 Giao din đi tng TextBox 71 Hình 4.12 Giao din đi tng Alert 76 Hình 4.13 Giao din Ticker 77 Hình 5.1 Các phng thc v đng cong 94 Hình 5.2 Các phng thc v hình ch nht 95 Hình 5.3 Các phng thc h tr v Text 97 Hình 5.4 Các đnh dng trong Text Graphic 97 Hình 5.5 Các phng thc to font 100 Hình 5.6 V bng đi tng Immutable Image 101 Hình 5.7 V bng đi tng Mutable Image 102 Hình 5.8 Các đnh dng v trí trong Graphics 103 Hình 7.1 Lc đ các lp trong th vin GCF 125 Hình 7.2 Kt ni UDP 138 Hình 7.3 Kt Ni TCP 141 Hình 7.4 Lc đ lp th vin WMA 145 Hình 8.1 Hot đng ca Web Service 152 Hình 8.2 Mt client truy xut đn nhiu web services cùng lúc 154 Hình 8.3 Mt web service có th triu tp đn các web services khác 155 Hình 8.4 Web Service Endpoint 162 Hình 9.1 Kin trúc chng trình ng dng 174 Hình 9.2 Mô hình mã hoá password 176 Hình 9.3 Lc đ use case 177 Hình 9.4 Mô hình thc th kt hp ER 183 Hình 9.5 Ràng buc chu trình 189 Hình 9.6 Mô hình c s d liu 190 Hình 9.7 Mô hình Lp 192 Hình 9.8 S đ các màn hình 194 Hình 9.9 Màn hình welcome 195 Hình 9.10 Màn hình đng nhp 196 Hình 9.11 Confirm 197 Hình 9.12 Menu chc nng 198 Hình 9.13 Màn hình đng ký hc phn lý thuyt 199 Hình 9.14 Màn hình đng ký hc phn thc hành 200 Hình 9.15 Màn hình xem thi khoá biu 201 Hình 9.16 Màn hình xem kt qu hc tp 202 Hình 9.17 Màn hình xem phiu đng ký 203 Hình 9.18 Màn hình xem thi khoá biu 204 Hình 10.1 Hng phát trin thc t 207 Hình A.1 Công c Sun WirelessToolkit 2.3 211 Hình A.2 Màn hình chính ca công c 212 Hình A.3 To project mi 212 Hình A.4 Các options cho project 213 Hình A.5 Chnh sa ni dung file Jad và Jar 214 Hình A.6 Biên dich project 215 Hình A.7 óng gói ng dng 216 Hình B.1 To project Web Service 217 Hình B.2 Khai báo lp và hàm 218 Hình B.3 Export nhiu hàm cùng lúc 219 Hình B.4 Màn hình thc thi Web Service ca IE 219 Hình B.5 File WSDL 220 Hình B.6 Công c Stub Generator 221 Hình B.7 Các options ca công c Stub Generator 221 Danh Sách Các Bng Bng 2.1 Cu trúc file manifest 19 Bng 2.2 Cu trúc file JAD 20 Bng 3.1 Lp MIDlet 27 Bng 3.2 Lp Display 29 Bng 3.3 Lp Displayable 32 Bng 3.4 Các Command Type 37 Bng 3.5 Command và CommandListener 38 Bng 3.6 Item và ItemStateListener 39 Bng 4.1 Lp Screen 42 Bng 4.2 Lp Form 44 Bng 4.3 Lp Item 45 Bng 4.4 Lp DateField 46 Bng 4.5 Lp Gauge 49 Bng 4.6 Lp StringItem 51 Bng 4.7 Các Ràng Buc ca TextField 53 Bng 4.8 Lp TextField 55 Bng 4.9 Lp ChoiceGroup 58 Bng 4.10 Lp Image 62 Bng 4.11 nh dng ImageItem 62 Bng 4.12 Lp ImageItem 63 Bng 4.13 So sánh List và ChoiceGroup 65 Bng 4.14 Lp List 66 Bng 4.15 So sánh TextField và TextBox 69 Bng 4.16 Lp TextBox 70 Bng 4.17 Lp Alert 73 Bng 4.18 AlertType 75 Bng 4.19 Lp Ticker 77 Bng 5.1 Truy vn kích thc Canvas 79 Bng 5.2 Lp Canvas 81 Bng 5.3 Giao tip vi Application Manager 81 Bng 5.4 Mã Phím 83 Bng 5.5 S kin keyPressed 84 Bng 5.6 S kin Game Action 85 Bng 5.7 Bt s kin trong Game Action 86 Bng 5.8 S kin con tr 87 Bng 5.9 Lp Graphics 90 Bng 5.10 Các phng thc v 93 Bng 5.11 X lý Text 96 Bng 5.12 Giá tr Anchor 96 Bng 5.13 X lý Font ch 98 Bng 5.14 Các giá tr Font 99 Bng 5.15 V hình nh 101 Bng 5.16 Giá tr Image Anchor 103 Bng 5.17 Các phng thc tnh tin 103 Bng 5.18 Vùng xén 105 Bng 6.1 Mô hình Record Store 107 Bng 6.2 Lp RecordStore 109 Bng 6.3 Lp RecordEnumeration 117 Bng 6.4 Các giá tr hng đ sp xp record 118 Bng 6.5 Lp RecordListener 121 Bng 7.1 Lp Connector 128 Bng 7.2 Mode Kt Ni 128 Bng 7.3 Các Request Method chính 130 Bng 7.4 Các phng thc set/get Request Method 131 Bng 7.5 Các phng thc truy vn HTTP Header 134 Bng 7.6 Ly thông s kt ni 137 Bng 7.7 Lp DatagramConnection 139 Bng 7.8 Lp Datagram 140 Bng 7.9 Thuc tính ca SocketConnection 142 Bng 7.10 Lp SocketConnection 143 Bng 7.11 Các interfaces chính ca WMA 144 Bng 9.1 Danh sách các Use Case 178 Bng 9.2 Table ChuyenNganh 184 Bng 9.3 Table SV 184 Bng 9.4 Table MonHoc 185 Bng 9.5 Table GV 185 Bng 9.6 Table Lop 185 Bng 9.7 Table Lop_MonLT 186 Bng 9.8 Table Lop_MonTH 187 Bng 9.9 Table PhanCongTH 187 Bng 9.10 Table DangKyLT 187 Bng 9.11 Table DangKyTH 187 Bng 9.12 Table ThongBao 188 [...]... d ch Java không biên d ch mã ngu n tr c ti p sang mã máy mà biên d ch sang m t d ng mã trung gian mà máy o Java hi u ng d ng, máy o Java s c (mã bytecode) Khi có nhu c u s d ng c mã trung gian này và d ch ra mã máy và th c thi; nh vào quá trình trung gian ó m t ng d ng Java có th ch y trên b t k môi tr nào có cài t máy o Java t c gi i thi u l n ã thay ng thích u vào n m 1995, ngày nay m c tiêu Java. .. MIDP và các th vi n liên quan ph c v cho vi c vi t ng d ng trên i n tho i di ng 1.3.3 Máy o Java Nh chúng ta ã bi t, m t ch ng trình Java s c biên d ch thành mã trung gian sau ó chính máy o Java s biên d ch ph n mã này sang mã máy th c thi Máy o Java s ch u trách nhi m vi c cung c p tính n ng b o m t, c p phát và thu h i b nh và qu n lý vi c i u ph i các ti n trình Chúng ta có th nói chính máy o Java. .. lý các ng d ng Java, bao g m: Cho phép ch n và kích ho t ng d ng Cho phép g b 2.1.3 ng d ng kh i thi t b Máy o Java: Do các thi t b di ng dùng CLDC th ng có tài nguyên h n ch nên Sun ã ra máy o Java KVM ph c v riêng cho các thi t b này Máy o KVM th c ch t là m t b ph n con c a các máy o trên môi tr h n ch và khác bi t so v i hai phiên b n trên 13 ng J2SE và J2EE nên c ng có nhi u Java Mobile M t s h... Ta s xây d ng m t ng d ng J2ME n gi n mô ph ng quá trình biên d ch và th c thi, ng d ng có tên Welcome và file source code có tên Welcome .java C:\Midlets\Welcome\Welcome .java Quá trình biên d ch và Pre-verify: biên d ch ta chuy n n th m c ch a ng d ng (C:\Midlets\Welcome\) và g i l nh: javac -bootclasspath c:\j2me\midp1.0.3fcs\classes Welcome .java ho c javac –bootclasspath %CLASSPATH% Welcome .java. .. server chu n trên Windows J2EE Java 2 Enterpise Edition, phiên b n Java cho nh ng d án l n J2ME Java 2 Micro Edition, phiên b n Java cho nh ng thi t b nh J2SE Java 2 Standard Edition, phiên b n Java ra PC thông th i u tiên, dành cho ng JCP T ch c Java Community Process JDK Java Development Kits JSR Java Specification Requests, nh ng yêu c u c n b sung cho các phiên b n Java JSR-172 Th vi n truy xu t... ki n óng góp và s thông c m c a quý th y cô và các b n! Xin chân thành c m n! Kim Anh – Anh Tu n 4 Java Mobile Ph n 1: Ki n th c n n t ng J2ME Ch 1.1 ng 1: T ng quan v J2ME Gi i thi u J2ME (Java 2 Micro Edition) J2ME là m t nhánh c a ngôn ng l p trình JAVA c phát tri n nh m h ng t i vi c l p trình cho các thi t b “nh ” (micro) có b nh , kh n ng hi n th và x lý h n ch Ban bi t u Java c xây d ng ch g... J2ME nh sau: 10 ng Java Mobile Hình 1.4 C u trúc ch N u ch ng trình c biên d ch v i CDC, ch o “truy n th ng” và mang các N u ch ng trình c tính nh ch ng trình s ch y v i máy o c tính riêng do CLDC òi h i ng trình xây d ng b i MIDP, chúng ta có c u trúc chuyên bi t sau: Hình 1.5 C u trúc ch T ng d ng trình s ch y trên các máy ng trình J2SE c biên d ch v i CLDC, ch chuyên bi t KVM và nh ng V i ch ng... th , n ng l c x lý và kh n ng k t n i m ng c a các thi t b Nh chúng ta ã bi t, các thi t b di ng r t khác nhau v ngu n tài nguyên, v kh n ng ph n c ng V i nh ng thi t b có n ng l c h n ch , n u ta 7 a Java Mobile quá nhi u th vi n h tr vào máy o trên thi t b ó s gây ch m h th ng và d th a không c n thi t V i nh ng thi t b có kh n ng cao h n, chúng ta s a thêm nhi u th vi n h tr vào máy o giúp ích cho... ng trình MIDP i u hành có h tr máy o Java (KVM), bên trên là CLDC và trên cùng là MID Profile Lúc này khái ni m “Vi t m t l n, ch y b t c 11 Java Mobile môi tr ng nào” c a Sun không còn úng hoàn toàn vì ã xu t hi n máy o chuyên bi t KVM M t s ch J2SE và ng ng trình vi t b ng MIDP s không ch y trên môi tr c l i Tuy nhiên chúng ta ph i c m kích các n l c c a Sun ã giúp cho Java tr thành m t trong nh ng... 1995, ngày nay m c tiêu Java nh m i khá nhi u Java hi n nay không ch nh m thu n; hai n m sau ngày Enterprise Edition) ã u ng n h máy tính n c ng bàn n c ra m t, m t phiên b n Java m i là J2EE (Java 2 c gi i thi u nh m t i vi c phát tri n các ng d ng có qui mô l n h n Phiên b n m i nh t Edition) J2ME nh m h n ch nh c thêm vào dòng ngôn ng Java là J2ME (Java 2 Micro n vi c phát tri n ng d ng cho các . Windows J2EE Java 2 Enterpise Edition, phiên bn Java cho nhng d án ln. J2ME Java 2 Micro Edition, phiên bn Java cho nhng thit b nh. J2SE Java 2 Standard Edition, phiên bn Java ra đi. mà máy o Java hiu đc (mã bytecode). Khi có nhu cu s dng ng dng, máy o Java s đc mã trung gian này và dch ra mã máy và thc thi; nh vào quá trình trung gian đó mt ng dng Java. nào có cài đt máy o Java tng thích. c gii thiu ln đu vào nm 1995, ngày nay mc tiêu Java nhm đn cng đã thay đi khá nhiu. Java hin nay không ch nhm đn h máy tính đ bàn đn