Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
1
TRNG I HOC M THÀNH PH H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN
o O o
H QUC BO - 10300005
XÂY DNG NG DNG BN
CHO IN THOI DI NG
LUN VN C NHÂN TIN HC
GIÁO VIÊN HNG DN:
Thc s NGUYN MINH NAM
2.1.1. Các thành phn ca GIS 23
2.1.2. Hot đng ca GIS: 25
2.2. Mc đích: 27
2.2.1. Nhp d liu 28
2.2.2. Thao tác d liu 28
2.2.3. Qun lý d liu 29
2.2.4. Hi đáp và phân tích 29
Hình 2.4: Phân tích chng xp 31
2.2.5. Hin th 31
2.3. D liu GIS: 32
2.4. Các công ngh liên quan: 34
2.4.1. Desktop Mapping (thành lp bn đ) 34
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
3
2.4.2. CAD (tr giúp thit k nh mày tính) 34
2.4.3. Vin thám và GPS (h thng đnh v toàn cu) 35
2.4.4. DBMS (H qun tr c s d liu) 35
Chng 3: Phân tích – thit k ng dng 36
3.1. Lc đ s dng: 36
3.1.1. View map : 37
3.1.2. Zoom map : 38
3.1.3. Move map : 39
3.1.4. Move cursor : 40
3.1.5. Search street base on name : 41
3.1.6. Search shortest path : 42
3.1.7. Help : 43
3.2. Các biu đ hot đng: 45
3.2.1. Hin th bn đ 45
3.2.2. Tìm đng theo tên: 46
Chng 5: Hng dn s dng 79
5.1. Di chuyn bn đ: 79
5.2. Phóng to, thu nh bn đ: 80
5.3. Di chuyn con tr 80
5.4. Tìm đng 81
5.5. Tìm đng đi: 82
5.6. Xem tr giúp và gii thiu: 84Chng 6: Tng kt – đánh giá 86Ph lc 90
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
5
Li gii thiu
Có th nói rng, bn đ cho cá thit b cm tay, đt bit là đin thoi di
đng là mt đ tài không mi. Có rt nhu ng dng phc v cho vic xem
tra cu bn đ khác nhau. Tuy nhiên phn ln các sn phm này đc phát
trin cho nhng thit b có h tr h điu hành nh các loi Pocket PC.
Nhng thit b h tr h điu hành chim mt phn rt nh trong th trng
các loi đin thoi di đng, Phn ln các loi đin thoi còn li đu yu hn
hn so vi các máy có s dng h điu hành, yu v dung lng b nh ln
tc đ x lý. Nhng đa s các loi đin thoi này đ có h tr Java (J2ME)
tài “ng dng bn đ trên đin thoi di đng” này không có tham vng
s to đc mt sn phm hoàn chnh đ phc v cho các loi đin thoi
dùng J2ME còn li, mà ch mong mun thông qua đ tài này, có th nghiên
•Các hp điu khin dành cho tivi, thit b gii trí gia dng …
1.1.3. Kin trúc ca J2ME
Hình 1.2: Kin trúc J2ME
Các thành phn trong nn tng J2ME:
1.1.3.1. nh ngha v Configuration (Cu hình):
Là đc t đnh ngha mt môi trng phn mm cho mt dòng
các thit b đc phân loi bi tp hp các đc tính, ví d nh:
•Kiu và s lng b nh
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
8
•Kiu và tc đ b vi x lý
•Kiu mng kt ni
Do đây là đc t nên các nhà sn xut thit b nh Samsung,
Nokia …bt buc phi thc thi đy đ các đc t do Sun qui
đnh đ các lp trình viên có th da vào môi trng lp trình
nht quán và thông qua s nht quán này, các ng dng đc
to ra có th mang tính đc lp thit b cao nht có th. Ví d
nh mt lp trình viên vit chng trình game cho đin thoi
Samsung thì có th sa đi chng trình ca mình mt cách ti
thiu nht đ có th chy trên đin thai Nokia Hin nay Sun
đã đa ra 2 dng Configuration:
•CLDC (Connected Limited Device Configuration-Cu hình
thit b kt ni gii hn): đc thit k đ nhm vào th trng
các thit b cp thp (low-end), các thit b này thông thng là
máy đin thai di đng và PDA vi khong 512 KB b nh. Vì
tài nguyên b nh hn ch nên CLDC đc gn vi Java không
dây (Java Wireless ), dng nh cho phép ngi s dng mua và
ti v các ng dng Java, ví d nh là Midlet.
•CDC- Connected Device Configuration (Cu hình thit b kt
trên J2SE hay J2EE và chy trên các máy h tr J2ME. Sau đây
là các profile tiêu biu:
•Mobile Information Device Profile (MIDP):
profile này s b
sung các tính nng nh h tr kt ni, các thành phn h tr
giao din ngi dùng … vào CLDC. Profile này đc thit k
ch yu đ nhm vào đin thai di đng vi đc tính là màn
hình hin th hn ch, dung lng cha có hn. Do đó MIDP s
cung cp mt giao din ngi dùng đn gin và các tính nng
mng đn gin da trên HTTP. Có th nói MIDP là profile ni
ting nht bi vì nó là kin thc c bn cho lp trình Java trên
các máy di đng (Wireless Java)
•PDA Profile:
tng t MIDP, nhng vi th trng là các máy
PDA vi màn hình và b nh ln hn
•Foundation Profile:
cho phép m rng các tính nng ca CDC
vi phn ln các th vin ca b Core Java2 1.3Ngoài ra còn có
Personal Basis Profile, Personal Profile, RMI Profile, Game
Profile.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
11
1.2. CLDC (Connected Limited Device
Configuration)
Tng J2ME k trên tng KVM là CLDC hay Cu hình thit b kt ni
gii hn. Mc đích ca tng này là cung cp mt tp ti thiu các th
vin cho phép mt ng dng Java chy trên thit b di đng. Nó cung
cp c s cho tng Hin trng, tng này s cha nhiu API chuyên
bit hn.
Các CLDC API đc đnh ngha vi s hp tác vi 18 công ty là b
v thit b di đng, KVM, và các ng dng khác khi các mã phá
hoi. Hai b phn đc đnh ngha bi CLDC này là b tin kim tra
và mô hình sandbox.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
13 Hình 1.5: Biu din cách mà b tin kim tra và b kim tra làm vic vi
nhau đ kim tra mã chng trình Java trc khi chuyn nó cho KVM.
Nh đã đ cp, các tp tin lp đc gán nhãn bng mt thuc tính
trên máy trm ca nhà phát trin. Thuc tính này sau đó đc kim
tra bi b tin kim tra trc khi mã chng trình đc giao cho
KVM hay b biên dch mã bytecode.
Mt b phn khác ca bo mt trong CLDC là mô hình sandbox.
Hình 1.6 biu din khái nim mô hình sandbox
Hình trên cho thy ng dng J2ME đt trong mt sandbox có ngha
là nó b gii hn truy xut đn tài nguyên ca thit b và không đc
truy xut đn Máy o Java hay b np chng trình. ng dng đc
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
14
truy xut đn các API ca CLDC và MIDP. ng dng đc truy
xut tài nguyên ca thit b di đng (các cng, âm thanh, b rung,
các báo hiu,…) ch khi nhà sn xut đin thoi di đng cung cp các
API tng ng. Tuy nhiên, các API này không phi là mt phn ca
J2ME.
Th h k tip ca CLDC là đc t JSR - 139 và đc gi là CLDC
th h k tip (Next Generation). Nó s nhm đn các vn đ nh
nâng cao vic qun lý li và có th phép toán s thc.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
gi là Record Management system (RMS) đ cung cp kh nng
lu tr cho các thit b này.
1.3.3. Nhng chc nng MIDP cung cp
•Các lp và kiu d liu: Phn ln các lp mà các lp trình viên
Java quen thuc vn còn đc gi li ví d nh các lp trong gói
java.util nh Stack, Vector và Hastable cng nh Enumeration.
•H tr đi tng Display: úng nh tên gi mt chng trình
MIDP s h tr duy nht mt đi tng Display là đi tng qun
lý vic hin th d liu trên màn hình đin thoi.
•H tr Form và các giao din ngi dùng.
•H tr Timer và Alert
•Cung cp tính nng Record Management System (RMS) cho vic
lu tr d liu
1.3.4. S khác nhau ca MIDP 1.0 và MIDP 2.0
Tháng 11 nm 2003 Sun đã tung ra MIDP 2.0 vi hàng lot tính
nng khác đc cung cp thêm so vi bn 1.0. Nhng ci tin ni
bt so vi MIDP 1.0
1.3.4.1. Nâng cp các tính nng bo mt nh:
• Download qua mng an toàn hn qua vic h tr giao thc
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
17
HTTPS.
• Kim soát vic kt ni gia máy di đng và server: ví d nh
các chng trình không th kt ni ti server nu thiu s chp
thun ca ngi s dng.
1.3.4.2. Thêm các API h tr Multimedia.
Mt trong nhng ci tin hp dn nht ca MIDP 2.0 là tp các
API media ca nó. Các API này là mt tp con ch h tr âm
thanh ca Mobile Media API (MMAPI).
1.3.4.3. M rng các tính nng ca Form.
thi tng ng khi user chn dng hoc thoát chng trình.
Hình 1.7: Vòng đi mt Midlet
1.5. Xây dng mt MIDlet
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
19
Hình 1.8:. Tin trình xây dng MIDlet
1.5.1. Lp trình viên: To các tp tin ngun Java
Bc đu tiên là lp trình viên phi to mã ngun Java, có th có
nhiu tp tin (*.java).
1.5.2. Biên dch mã ngun thành mã bytecode
B biên dch Java (java compiler) s biên dch mã ngun thành
mã bytecode. Mã bytecode này s đc KVM dch thành mã
máy. Mã bytecode đã biên dch s đc lu trong các tp tin
*.class và s có mt tp tin *.class sinh ra cho mi lp Java.
1.5.3. Kim tra tính hp l ca mã bytecode
Mt trong nhng yêu cu an toàn ca J2ME là bo đm mã
bytecode chuyn cho KVM là hp l và không truy xut các lp
hay b nh ngoài gii hn ca chúng. Do đó tt c các lp đu
phi đc tin kim tra trc khi chúng có th đc download v
thit b di đng. Vic tin kim tra đc xem là mt phn ca môi
trng phát trin làm cho KVM có th đc thu nh hn. B tin
kim tra (Preverrifier) s gán nhãn lp bng mt thuc tính
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
20
(attribute) đc bit ch rng lp đó đã đc tin kim tra. Thuc
tính này tng thêm khong 5% kích thc ca lp và s đc
đn tp tin JAR
1.5.6. Kim tra mã bytecode Trên thit b di đng:
B tin kim tra kim tra tt c các lp đu có mt thuc tính hp
l đã đc thêm vào bi b tin kim tra trên trm phát trin ng
dng. Nu tin trình tin kim tra tht bi thì ng dng s không
đc download v thit b di đng.
1.5.7. Lu tr chng trình trên thit b
B qun lý ng dng trên thit b di đng s lu tr chng trình
trên thit b di đng. B qun lý ng dng cng điu khin trng
thái ca ng dng trong thi gian thc thi và có th tm dng ng
dng khi có cuc gi hoc tin nhn đn.
1.5.8. Thc thi ng dng
B qun lý ng dng s chuyn ng dng cho KVM đ chy trên
thit b di đng.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
22
KVM: Thc thi mã bytecode khi chng trình chy.
KVM dch mã bytecode sang ngôn ng máy ca thit b di đng
đ chy.
1.6. Môi trng phát trin J2ME
Có nhiu môi trng phát trin ng dng J2ME và mi hãng đin
thoi cng đa ra nhng môi trng phát trin cho riêng mình:
Trong đó Sun J2ME Wireless Toolkit là môi trng phát trin c bn
mà Sun đa ra
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
23
Chng 2: Tng quan v GIS
2.1. Gii thiu GIS:
đ lu gi, phân tích và hin th thông tin đa lý. Các thành phn
chính trong phn mm GIS là:
• Công c nhp và thao tác trên các thông tin đa lý
• H qun tr c s d liu(DBMS)
• Công c h tr hi đáp, phân tích và hin th đa lý
• Giao din đ ho ngi-máy (GUI) đ truy cp các công c d
dàng
2.1.1.3. D liu
Có th coi thành phn quan trng nht trong mt h GIS là d
liu. Các d liu đa lý và d liu thuc tính liên quan có th đc
ngi s dng t tp hp hoc đc mua t nhà cung cp d liu
thng mi.
H GIS s kt hp d liu không gian vi các ngun d liu khác,
thm chí có th s dng DBMS đ t chc lu gi và qun lý d
liu.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
25
2.1.1.4. Con ngi
Công ngh GIS s b hn ch nu không có con ngi tham gia
qun lý h thng và phát trin nhng ng dng GIS trong thc t.
Ngi s dng GIS có th là nhng chuyên gia k thut, ngi
thit k và duy trì h thng, hoc nhng ngi dùng GIS đ gii
quyt các vn đ trong công vic.
2.1.1.5. Phng pháp
Mt h GIS thành công theo khía cnh thit k và lut thng mi
là đc mô phng và thc thi duy nht cho mi t chc.
2.1.2. Hot đng ca GIS:
GIS lu gi thông tin v th gii thc di dng tp hp các lp
chuyên đ có th liên kt vi nhau nh các đc đim đa lý. Ðiu
này đn gin nhng vô cùng quan trng và là mt công c đa nng