Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 234 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
234
Dung lượng
2,68 MB
Nội dung
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 JAVAMOBILE
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 JAVAMOBILE
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
[...]... 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... 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 (CLASSPATH là bi n môi tr ng ã c nh ngh a tr c thay cho c:\j2me\midp1.0.3.fcs\classes;.) Javac là ch ch ng trình biên... 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 nh m i khá nhi u Java hi n nay không ch nh m thu n; hai n m sau... 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 ng d ng có n ng l c u gi i mã k thu t s TV set-top boxes, i n tho i di 5 ng … Java Mobile 1.2 Lý do chúng ta c n J2ME Ngày nay ngành... 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 m m t phiên b n duy nh t, ngày nay n v i tên J2SE (Java 2 Standard Edition),... t m t l n, ng” (“Write once, run anywhere”) Java c hình thành trên ng xây d ng m t ngôn ng mà l p trình viên ch c n vi t m t l n duy nh t nh ng ng d ng có th ch y trên b t c môi tr Virtual Machine) mã ngu n t ng làm ng nào có h tr máy o Java (Java c vi c này, Java s d ng m t ph ng th c biên d ch i khác so v i các ngôn ng l p trình truy n th ng B biên d ch Java không biên d ch mã ngu n tr c ti p sang... máy PDA v i màn Java Mobile – Foundation Profile: cho phép m r ng các tính n ng c a CDC v i ph n l n các th vi n c a b Core Java2 1.3 – Ngoài ra còn có Personal Basis Profile, Personal Profile, RMI Profile, Game Profile Lu n v n ch y u ch c p n Profile 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... 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... b t, v i nh ng l p trình viên ã có kinh nghi m v i Java vi c l p trình v i J2ME tr nên r t 1 Java Mobile d dàng J2ME còn là m t ngôn ng m ng h m nh và phát tri n r t nhanh chóng, JCP (Java Community Process- http://www.jcp.org) là m t ch và c các t ch c mã ngu n m a ra các này th ng trình do Sun thành l p luôn ti p thu các ý ki n c t m i dành cho Java nói chung và J2ME nói riêng Các ng có ti p ct u... 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àm cho ch ng trình c a chúng ta “ch y” V i CDC, máy o Java có cùng các Sun c tính nh J2SE Tuy nhiên, v i CLDC, ã phát tri . 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 đu tiên, dành cho
PC thông thng.
JCP T chc Java Community Process
JDK Java Development Kits
JSR
Java Specification