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
NIÊN KHOÁ 2003-2007
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
2
Mc lc
Chng 1: Gii thiu lp trình trên thit b di đng vi J2ME 6
1.1. Tng quan v J2ME 6
1.1.1. Lch s 6
1.1.2. Lý do chn J2ME 6
1.1.3. Kin trúc ca J2ME 7
1.2. CLDC (Connected Limited Device Configuration) 11
1.3. Gii thiu MIDP 15
1.3.1. nh ngha: 15
1.3.2. Nhng chc nng MIDP không thc hin đc: 15
1.3.3. Nhng chc nng MIDP cung cp 16
1.3.4. S khác nhau ca MIDP 1.0 và MIDP 2.0 16
1.4. Vòng đi ca mt MIDlet 18
1.5. Xây dng mt MIDlet 18
1.5.1. Lp trình viên: To các tp tin ngun Java 19
1.5.2. Biên dch mã ngun thành mã bytecode 19
1.5.3. Kim tra tính hp l ca mã bytecode 19
1.5.4. To tp tin JAR 20
1.5.5. Ngi dùng Download ng dng v thit b di đng 20
1.5.6. Kim tra mã bytecode Trên thit b di đng: 21
1.5.7. Lu tr chng trình trên thit b 21
1.5.8. Thc thi ng dng 21
1.6. Môi trng phát trin J2ME 22
Chng 2: Tng quan v GIS 23
2.1. Gii thiu GIS: 23
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
3.2.3. Di chuyn bn đ: 47
3.2.4. Tìm đng đi ngn nht 48
3.3. S đ mc thit k 49
3.3.1. S đ 49
3.3.2. Danh sách các lp chính: 50
Chng 4: Ti u hoá ng dng 56
4.1. Ti u hóa kích thc chng trình : 56
4.1.1. Gim các lp không cn thit : 56
4.1.2. Hn ch s dng inner class và anonymous class : 57
4.1.3. Gim cây k tha : 58
4.1.4. Gim chiu dài các đnh danh (identifiers) : 58
4.1.5. Hn ch s dng getter / setter : 59
4.1.6. Lu ý khi khi to mng : 59
4.1.7. Gim kích thc các tp tin tài nguyên : 61
4.1.8. Hn ch s dng các gói th vin b sung : 62
4.1.9. Ti u kích thc chng trình khi đóng gói : 62
4.1.10. Thc hin vi Obfucator 63
4.2. Ti u hóa v tc đ : 65
4.2.1. Khái quát chung : 65
4.2.2. Tìm các v trí cn ti u v tc đ vi Profiler : 65
4.2.3. Xác đnh thi gian thc thi : 67
4.2.4. Thc hin tng tc cho chng trình : 68
4.3. Ti u hóa vic s dng b nh : 73
4.3.1. Công c theo dõi vic s dng b nh : 73
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
4
4.3.2. S dng Memory Monitor theo dõi vic s dng b nh : 74
4.3.3. Các nguyên tc ti u hóa vic s dng b nh : 76
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: 84
Chng 6: Tng kt – đánh giá 86
Ph 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
cu mt vài gii pháp đ x lý các phép toán cn nhiu tài nguyên, vn rt
hn hp trên các thit b di đng.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
6
Chng 1: Gii thiu lp trình trên thit
b di đng vi J2ME
Mc tiêu ca J2ME là cho phép ngi lp trình vit các ng dng đc lp
vi thit b di đng, không cn quan tâm đn phn cng tht s. đt
đc mc tiêu này, J2ME đc xây dng bng các tng (layer) khác nhau
đ giu đi vic thc hin phn cng khi nhà phát trin.
1.1. Tng quan v J2ME
1.1.1. Lch s
J2ME đc phát trin t kin trúc Java Card, Embeded Java và
Personal Java ca phiên bn Java 1.1. n s ra đi ca Java 2 thì
Sun quyt đnh thay th Personal Java và đc gi vi tên mi là
Java 2 Micro Edition, hay vit tt là J2ME. úng vi tên gi,
J2ME là nn tng cho các thit b có tính cht nh, gn:
Hình 1.1 Các phiên bn java trên các thit b
1.1.2. Lý do chn J2ME
a)Java ban đu đc thit k dành cho các máy vi tài nguyên b
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
7
nh hn ch.
b)Th trng ca J2ME đc m rng ra cho nhiu chng loi
thit b nh:
•Các lai th cá nhân nh Java Card
•Máy đin thoi di đng
•Máy PDA (Personal Digital Assistant - thit b tr giúp cá nhâ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
ni): CDC đc đa ra nhm đn các thit b có tính nng mnh
hn dòng thit b thuc CLDC nhng vn yu hn các h thng
máy đ bàn s dng J2SE. Nhng thit b này có nhiu b nh
hn (thông thng là trên 2Mb) và có b x lý mnh hn. Các
sn phm này có th k đn nh các máy PDA cp cao, đin
thoi web, các thit b gia dng trong gia đình …
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
9
C 2 dng Cu hình k trên đu cha máy o Java (Java Virtual
Machine) và tp hp các lp (class) Java c bn đ cung cp
mt môi trng cho các ng dng J2ME. Tuy nhiên, bn chú ý
rng đi vi các thit b cp thp, do hn ch v tài nguyên nh
b nh và b x lý nên không th yêu cu máy o h tr tt c
các tính nng nh vi máy o ca J2SE, ví d, các thit b thuc
CLDC không có phn cng yêu cu các phép tính toán du phy
đng, nên máy o thuc CLDC không đc yêu cu h tr kiu
float và double.
Hình 1.3: Các thit b có th s dng Java
1.1.3.2. nh ngha v Profile:
Profile m rng Configuration bng cách thêm vào các class đ
b tr các tính nng cho tng thit b chuyên bit. C 2
Configuration đu có nhng profile liên quan và t nhng
profile này có th dùng các class ln nhau. n đây ta có th
nhn thy do mi profile đnh ngha mt tp hp các class khác
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
10
nhau, nên thng ta không th chuyn mt ng dng Java vit
cho mt profile này và chy trên mt máy h tr mt profile
khác. Cng vi lý do đó, bn không th ly mt ng dng vit
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
phn ca JCP (Java Community Process). Nhóm này giúp bo đm
rng các API đc đnh ngha s hu dng và thit thc cho c nhà
phát trin ln nhà sn xut thit b di đng. Các đc t ca JCP đc
gán các s JSR (Java Specification Request). Quy đnh CLDC phiên
bn 1.0 đc gán s JSR - 30.
CLDC đnh ngha các th vin ti thiu và các API.
• Tng thích ngôn ng JVM
• Các th vin lõi
• I/O
• Mng
• Bo mt
• Quc t hóa
CLDC không đnh ngha:
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
12
• Chu k sng ng dng
• Giao din ngi dùng
• Qun lý s kin
• Giao din ng dng và ngi dùng
Các lp lõi Java c bn, input/output, mng, và bo mt đc đnh
ngha trong CLDC. Các API hu dng hn nh giao din ngi
dùng và qun lý s kin đc dành cho hin trng MIDP.
J2ME là mt phiên bn thu nh ca J2SE, s dng ít b nh hn đ
nó có th thích hp vi các thit b di đng b gii hn b nh. Mc
tiêu ca J2ME là mt tp con 100% tng thích ca J2SE.
Hình 1.4: Biu din mi liên h gia J2SE và J2ME (CDC, và CLDC).
CLDC đnh ngha mt mô hình an toàn, bo mt đc thit k đ bo
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
15
1.3. Gii thiu MIDP
1.3.1. nh ngha:
ây là Profile đc đnh ngha dành riêng cho các thit b di đng
và là thành phn chính trong J2ME. MIDP cung cp các chc nng
c bn cho hu ht các dòng thiêt b di đng ph bin nht nh các
máy đin thoI di đng và các máy PDA. Tuy nhiên MIDP không
phi là cây đa thn cho mi lp trình viên vì nh chúng ta đã bit,
MIDP đc thit k cho các máy di đng có cu hình rt thp.
Trong phn sau tôi s lit kê qua các tính nng mà MIDP cung cp
và nhng gii hn ca nó.
1.3.2. Nhng chc nng MIDP không thc hin đc:
•Phép tính du phy đng (floating point): Phép tính này đòi hi rt
nhiu tài nguyên CPU và phn ln các CPU cho các thit b di
đng không h tr phép tính này, do đó MIDP cng không có.
•B np lp (Class Loader).
•H tr t khóa finalize() nh trong J2SE: Vic “dn dp“ tài
nguyên trc khi nó b xóa đc đy v phía các lp trình viên.
•Không h tr JNI
•H tr hn ch thao tác bt li.
•Phn ln các th vin API cho Swing và AWT không th s dng
đc trong MIDP.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
16
•Không h tr các tính nng qun lý file và th mc: ây có th
làm bn ngc nhiên nhng thc t là các thit b J2ME không có h
tr các thit b lu tr thông thng nh cng v.v. Tuy nhiên,
điu đó không có ngha là bn phi mt đi mi d liu quan trng
mi khi tt máy, Sun đã cung cp mt chc nng khác tng đ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.
Nhiu ci tin đã đc đa vào API javax.microedition.lcdui
trong MIDP 2.0, nhng các thay đi ln nht (ngoài API cho
game) là trong Form và Item.
1.3.4.4. H tr các lp trình viên Game bng Game API:
Có l Sun đã kp nhn ra th trng đy tim nng ca các thit
b di đng trong lnh vc Game. Vi MIDP 1.0 thì các lp trình
viên phi t mình vit code đ qun lý các hành đng ca nhân
vt cng nh qun lý đ ha. Vic này s làm tng kích thc
file ca sn phm cng nh vic xut hin các đon mã b li.
c hng li nht t Game API trong MIDP 2.0 không ch là
các lp trình viên Game mà còn là các lp trình viên cn s
dng các tính nng đ ha cao cp. Ý tng c bn ca Game
API là vic gi đnh rng mt màn hình game là tp hp các
layer (lp). Ví d nh: trong mt game đua xe thì màn hình nn
là mt layer, con đng là mt layer và chic xe đc xem nh
đang nm trên layer khác. Vi Game API nhà phát trin còn
đc cung cp các tính nng nh qun lý các thao tác bàn phím.
1.3.4.5. H tr kiu nh RGB:
Mt trong nhng ci tin hp dn cho các nhà phát trin MIDP
là vic biu din hình nh di dng các mng s nguyên, cho
phép MIDlet thao tác vi d liu hình nh mt cách trc tip.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
18
1.4. Vòng đi ca mt MIDlet
Ging nh dng chng trình Applet trên J2SE, mt Midlet luôn
luôn k tha javax.microedition.midlet Hàm c bn nht trong mi
Midlet là startApp(), hàm này s khi to Midlet cng nh vn hành
các thành phn hoc đi tng khác, ngoài startApp(), mi Midlet
còn có pauseApp() và destroyApp(), mi hàm này s đc gi thc
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
kim tra bi b kim tra trên thit b di đng.
1.5.4. To tp tin JAR
IDE s to mt tp tin JAR cha:
* Tt c các tp tin *.class
* Các hình nh ca ng dng
* Các tp tin d liu có th đc yêu cu bi ng dng
* Mt tp tin kê khai (manifest.mf) cung cp mô t v ng dng
cho b qun lý ng dng (application manager) trên thit b di
đng.
* Tp tin JAR đc bán hoc đc phân phi đn ngi dùng đu
cui
Sau khi đã g ri và kim tra mã lnh trên trình gi lp
(simulator), mã lnh đã sn sàng đc kim tra trên đin thoi di
đng và sau đó đc phân phi cho ngi dùng.
1.5.5. Ngi dùng Download ng dng v thit b di đng
Ngi dùng sau đó download tp tin JAR cha ng dng v thit
b di đng. Trong hu ht các đin thoi di đng, có hai cách đ
download ng dng:
* Kt ni trc tip t PC sang đing thi di đng:
Vic kt ni này có th kt ni bng các thit b:
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
21
Cáp d liu
Cng hng ngoi – IR (Infra Red) port
Cng Bluetooth
Vic này yêu cu ngi dùng phi có tp tin JAR tht s và phn
mm truyn thông đ download ng dng sang thit b thông qua
cáp d liu, cng hng ngoi hay cng bluetooth.
* OTA (Over the Air):
S dng phng thc này, ngi dùng phi bit đa ch URL ch
đ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:
H Thông tin đa lý (GIS) là mt công c máy tính đ lp bn đ và
phân tích các s vt, hin tng thc trên trái đt. Công ngh GIS kt
hp các thao tác c s d liu thông thng (nh cu trúc hi đáp) và
các phép phân tích thng kê, phân tích đa lý, trong đó phép phân tích
đa lý và hình nh đc cung cp duy nht t các bn đ. Nhng kh
nng này phân bit GIS vi các h thng thông tin khác và khin cho
GIS có phm vi ng dng rng trong nhiu lnh vc khác nhau (phân
tích các s kin, d đoán tác đng và hoch đnh chin lc).
GIS cho phép to lp bn đ, phi hp thông tin, khái quát các vin
cnh, gii quyt các vn đ phc tp, và phát trin các gii pháp hiu
qu mà trc đây không thc hin đc. GIS là mt công c đc các
cá nhân, t chc, trng hc, chính ph và các doanh nghip s dng
nhm hng ti các phng thc mi gii quyt vn đ.
Lp bn đ và phân tích đa lý không phi là k thut mi, nhng GIS
thc thi các công vic này tt hn và nhanh hn các phng pháp th
công c. Trc công ngh GIS, ch có mt s ít ngi có nhng k
nng cn thit đ s dng thông tin đa lý giúp ích cho vic gii quyt
vn đ và đa ra các quyt đnh.
2.1.1. Các thành phn ca GIS
GIS đc kt hp bi nm thành phn chính: phn cng, phn mm,
d liu, con ngi và phng pháp.
Lun vn tt nghip: Xây dng ng dng bn đ cho đin thoi di đng
24
2.1.1.1. Phn cng
Phn cng là h thng máy tính trên đó mt h GIS hot đng.
Ngày nay, phn mm GIS có kh nng chy trên rt nhiu dng
phn cng, t máy ch trung tâm đn các máy trm hot đng
đc lp hoc liên kt mng.
2.1.1.2. Phn mm
Phn mm GIS cung cp các chc nng và các công c cn thit
đ 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
đã đc chng minh là rt có giá tr trong vic gii quyt nhiu vn
đ thc t, t thit lp tuyn đng phân phi ca các chuyn xe,
đn lp báo cáo chi tit cho các ng dng quy hoch, hay mô
phng s lu thông khí quyn toàn cu.