Xây dựng ứng dụng bản đồ cho điện thoại di động - Pdf 27

Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
1
TRNG I HOC M THÀNH PH H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN
o O o

H QUC BO - 10300005
XÂY DNG NG DNG BN 
CHO IN THOI DI NG
LUN VN C NHÂN TIN HC

GIÁO VIÊN HNG DN:
Thc s NGUYN MINH NAM

2.1.1. Các thành phn ca GIS 23
2.1.2. Hot đng ca GIS: 25
2.2. Mc đích: 27
2.2.1. Nhp d liu 28
2.2.2. Thao tác d liu 28
2.2.3. Qun lý d liu 29
2.2.4. Hi đáp và phân tích 29
Hình 2.4: Phân tích chng xp 31
2.2.5. Hin th 31
2.3. D liu GIS: 32
2.4. Các công ngh liên quan: 34
2.4.1. Desktop Mapping (thành lp bn đ) 34
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
3
2.4.2. CAD (tr giúp thit k nh mày tính) 34
2.4.3. Vin thám và GPS (h thng đnh v toàn cu) 35
2.4.4. DBMS (H qun tr c s d liu) 35

Chng 3: Phân tích – thit k ng dng 36
3.1. Lc đ s dng: 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 biu đ hot đng: 45
3.2.1. Hin th bn đ 45
3.2.2. Tìm đng theo tên: 46
Chng 5: Hng dn s dng 79
5.1. Di chuyn bn đ: 79
5.2. Phóng to, thu nh bn đ: 80
5.3. Di chuyn con tr 80
5.4. Tìm đng 81
5.5. Tìm đng đi: 82
5.6. Xem tr giúp và gii thiu: 84Chng 6: Tng kt – đánh giá 86Ph lc 90
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
5
Li gii thiu

Có th nói rng, bn đ cho cá thit b cm tay, đt bit là đin thoi di
đng là mt đ tài không mi. Có rt nhu ng dng phc v cho vic xem
tra cu bn đ khác nhau. Tuy nhiên phn ln các sn phm này đc phát
trin cho nhng thit b có h tr h điu hành nh các loi Pocket PC.
Nhng thit b h tr h điu hành chim mt phn rt nh trong th trng
các loi đin thoi di đng, Phn ln các loi đin thoi còn li đu yu hn
hn so vi các máy có s dng h điu hành, yu v dung lng b nh ln
tc đ x lý. Nhng đa s các loi đin thoi này đ có h tr Java (J2ME)
 tài “ng dng bn đ trên đin thoi di đng” này không có tham vng
s to đc mt sn phm hoàn chnh đ phc v cho các loi đin thoi
dùng J2ME còn li, mà ch mong mun thông qua đ tài này, có th nghiên

•Các hp điu khin dành cho tivi, thit b gii trí gia dng …
1.1.3. Kin trúc ca J2ME

Hình 1.2: Kin trúc J2ME
Các thành phn trong nn tng J2ME:
1.1.3.1. 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
các thit b đc phân loi bi tp hp các đc tính, ví d nh:
•Kiu và s lng b nh
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
8
•Kiu và tc đ b vi x lý
•Kiu mng kt ni
Do đây là đc t nên các nhà sn xut thit b nh Samsung,
Nokia …bt buc phi thc thi đy đ các đc t do Sun qui
đnh đ các lp trình viên có th da vào môi trng lp trình
nht quán và thông qua s nht quán này, các ng dng đc
to ra 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 đin thoi
Samsung thì có th sa đi chng trình ca mình mt cách ti
thiu nht đ có th chy trên đin thai Nokia Hin nay Sun
đã đa ra 2 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
các thit b cp thp (low-end), các thit b này thông thng là
máy đin thai di đng và 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 và
ti v các ng dng Java, ví d nh là Midlet.
•CDC- Connected Device Configuration (Cu hình thit b kt

trên J2SE hay J2EE và chy trên các máy h tr J2ME. Sau đây
là các profile tiêu biu:
•Mobile Information Device Profile (MIDP):
profile này s b
sung các tính nng nh h tr kt ni, các thành phn h tr
giao din ngi dùng … vào CLDC. Profile này đc thit k
ch yu đ nhm vào đin thai di đng vi đc tính là màn
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 và các tính nng
mng đn gin da trên HTTP. Có th nói MIDP là profile ni
ting nht bi vì nó là kin thc c bn cho lp trình Java trên
các máy di đng (Wireless Java)
•PDA Profile:
tng t MIDP, nhng vi th trng là các máy
PDA vi màn hình và b nh ln hn
•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.3Ngoài ra còn có
Personal Basis Profile, Personal Profile, RMI Profile, Game
Profile.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
11
1.2. CLDC (Connected Limited Device
Configuration)
Tng J2ME k trên tng KVM là CLDC hay Cu hình thit b kt ni
gii hn. Mc đích ca tng này là cung cp mt tp ti thiu các th
vin cho phép mt ng dng Java chy trên thit b di đng. Nó cung
cp c s cho tng Hin trng, tng này s cha nhiu API chuyên
bit hn.
Các CLDC API đc đnh ngha vi s hp tác vi 18 công ty là b

v thit b di đng, KVM, và các ng dng khác khi các mã phá
hoi. Hai b phn đc đnh ngha bi CLDC này là b tin kim tra
và mô hình sandbox.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
13 Hình 1.5: Biu din cách mà b tin kim tra và b kim tra làm vic vi
nhau đ kim tra mã chng trình Java trc khi chuyn nó cho KVM.
Nh đã đ cp, các tp tin lp đc gán nhãn bng mt thuc tính
trên máy trm ca nhà phát trin. Thuc tính này sau đó đc kim
tra bi b tin kim tra trc khi mã chng trình đc giao cho
KVM hay b biên dch mã bytecode.
Mt b phn khác ca bo mt trong CLDC là mô hình sandbox.

Hình 1.6 biu din khái nim mô hình sandbox
Hình trên cho thy ng dng J2ME đt trong mt sandbox có ngha
là nó b gii hn truy xut đn tài nguyên ca thit b và không đc
truy xut đn Máy o Java hay b np chng trình. ng dng đc
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
14
truy xut đn các API ca CLDC và MIDP. ng dng đc truy
xut tài nguyên ca thit b di đng (các cng, âm thanh, b rung,
các báo hiu,…) ch khi nhà sn xut đin thoi di đng cung cp các
API tng ng. Tuy nhiên, các API này không phi là mt phn ca
J2ME.
Th h k tip ca CLDC là đc t JSR - 139 và đc gi là CLDC
th h k tip (Next Generation). Nó s nhm đn các vn đ nh
nâng cao vic qun lý li và có th phép toán s thc.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng

gi là Record Management system (RMS) đ cung cp kh nng
lu tr cho các thit b này.
1.3.3. Nhng chc nng MIDP cung cp
•Các lp và kiu d liu: Phn ln các lp mà các lp trình viên
Java quen thuc vn còn đc gi li ví d nh các lp trong gói
java.util nh Stack, Vector và Hastable cng nh Enumeration.
•H tr đi tng Display: úng nh tên gi mt chng trình
MIDP s h tr duy nht mt đi tng Display là đi tng qun
lý vic hin th d liu trên màn hình đin thoi.
•H tr Form và các giao din ngi dùng.
•H tr Timer và Alert
•Cung cp tính nng Record Management System (RMS) cho vic
lu tr d liu
1.3.4. S khác nhau ca MIDP 1.0 và MIDP 2.0
Tháng 11 nm 2003 Sun đã tung ra MIDP 2.0 vi hàng lot tính
nng khác đc cung cp thêm so vi bn 1.0. Nhng ci tin ni
bt so vi MIDP 1.0
1.3.4.1. Nâng cp các tính nng bo mt nh:
• Download qua mng an toàn hn qua vic h tr giao thc
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
17
HTTPS.
• Kim soát vic kt ni gia máy di đng và server: ví d nh
các chng trình không th kt ni ti server nu thiu s chp
thun ca ngi s dng.
1.3.4.2. Thêm các API h tr Multimedia.
Mt trong nhng ci tin hp dn nht ca MIDP 2.0 là tp các
API media ca nó. Các API này là mt tp con ch h tr âm
thanh ca Mobile Media API (MMAPI).
1.3.4.3. M rng các tính nng ca Form.

thi tng ng khi user chn dng hoc thoát chng trình.

Hình 1.7: Vòng đi mt Midlet

1.5. Xây dng mt MIDlet
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
19

Hình 1.8:. Tin trình xây dng MIDlet

1.5.1. Lp trình viên: To các tp tin ngun Java
Bc đu tiên là lp trình viên phi to mã ngun Java, có th có
nhiu tp tin (*.java).
1.5.2. Biên dch mã ngun thành mã bytecode
B biên dch Java (java compiler) s biên dch mã ngun thành
mã bytecode. Mã bytecode này s đc KVM dch thành mã
máy. Mã bytecode đã biên dch s đc lu trong các tp tin
*.class và s có mt tp tin *.class sinh ra cho mi lp Java.
1.5.3. Kim tra tính hp l ca mã bytecode
Mt trong nhng yêu cu an toàn ca J2ME là bo đm mã
bytecode chuyn cho KVM là hp l và không truy xut các lp
hay b nh ngoài gii hn ca chúng. Do đó tt c các lp đu
phi đc tin kim tra trc khi chúng có th đc download v
thit b di đng. Vic tin kim tra đc xem là mt phn ca môi
trng phát trin làm cho KVM có th đc thu nh hn. B tin
kim tra (Preverrifier) s gán nhãn lp bng mt thuc tính
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
20
(attribute) đc bit ch rng lp đó đã đc tin kim tra. Thuc
tính này tng thêm khong 5% kích thc ca lp và s đc

đn tp tin JAR
1.5.6. Kim tra mã bytecode Trên thit b di đng:
B tin kim tra kim tra tt c các lp đu có mt thuc tính hp
l đã đc thêm vào bi b tin kim tra trên trm phát trin ng
dng. Nu tin trình tin kim tra tht bi thì ng dng s không
đc download v thit b di đng.
1.5.7. Lu tr chng trình trên thit b
B qun lý ng dng trên thit b di đng s lu tr chng trình
trên thit b di đng. B qun lý ng dng cng điu khin trng
thái ca ng dng trong thi gian thc thi và có th tm dng ng
dng khi có cuc gi hoc tin nhn đn.
1.5.8. Thc thi ng dng
B qun lý ng dng s chuyn ng dng cho KVM đ chy trên
thit b di đng.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
22
KVM: Thc thi mã bytecode khi chng trình chy.
KVM dch mã bytecode sang ngôn ng máy ca thit b di đng
đ chy.

1.6. Môi trng phát trin J2ME
Có nhiu môi trng phát trin ng dng J2ME và mi hãng đin
thoi cng đa ra nhng môi trng phát trin cho riêng mình:
Trong đó Sun J2ME Wireless Toolkit là môi trng phát trin c bn
mà Sun đa ra
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
23
Chng 2: Tng quan v GIS

2.1. Gii thiu GIS:

đ lu gi, phân tích và hin th thông tin đa lý. Các thành phn
chính trong phn mm GIS là:
• Công c nhp và thao tác trên các thông tin đa lý
• H qun tr c s d liu(DBMS)
• Công c h tr hi đáp, phân tích và hin th đa lý
• Giao din đ ho ngi-máy (GUI) đ truy cp các công c d
dàng
2.1.1.3. D liu
Có th coi thành phn quan trng nht trong mt h GIS là d
liu. Các d liu đa lý và d liu thuc tính liên quan có th đc
ngi s dng t tp hp hoc đc mua t nhà cung cp d liu
thng mi.
H GIS s kt hp d liu không gian vi các ngun d liu khác,
thm chí có th s dng DBMS đ t chc lu gi và qun lý d
liu.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
25
2.1.1.4. Con ngi
Công ngh GIS s b hn ch nu không có con ngi tham gia
qun lý h thng và phát trin nhng ng dng GIS trong thc t.
Ngi s dng GIS có th là nhng chuyên gia k thut, ngi
thit k và duy trì h thng, hoc nhng ngi dùng GIS đ gii
quyt các vn đ trong công vic.
2.1.1.5. Phng pháp
Mt h GIS thành công theo khía cnh thit k và lut thng mi
là đc mô phng và thc thi duy nht cho mi t chc.
2.1.2. Hot đng ca GIS:
GIS lu gi thông tin v th gii thc di dng tp hp các lp
chuyên đ có th liên kt vi nhau nh các đc đim đa lý. Ðiu
này đn gin nhng vô cùng quan trng và là mt công c đa nng


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status