Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 89 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
89
Dung lượng
1,65 MB
Nội dung
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. [...]... n cho i n tho i di ng 1.3 Gi i thi u MIDP 1.3.1 nh ngh a: ây là Profile c nh ngh a dành riêng cho các thi t b di ng và là thành ph n chính trong J2ME MIDP cung c p các ch c n ng c b n cho h u h t các dòng thiêt b di máy i n tho I di ph i là cây MIDP ng ph bi n nh t nh các ng và các máy PDA Tuy nhiên MIDP không a th n cho m i l p trình viên vì nh chúng ta ã bi t, c thi t k cho các máy di ng có c u hình... u h i các câu h i n gi n nh : 29 a lý, có th b t Lu n v n t t nghi p: Xây d ng ng d ng b n Ai là ch m nh t cho i n tho i di ng góc ph ? Hai v trí cách nhau bao xa? Vùng t dành cho ho t ng công nghi p âu? Và các câu h i phân tích nh : T t c các v trí thích h p cho xây d ng các toà nhà m i n m âu? Ki u t u th cho r ng s i là gì? N u xây d ng m t ch u nh h ng qu c l m i ng nh th nào? GIS cung c p c kh... nh RGB: M t trong nh ng c i ti n h p d n cho các nhà phát tri n MIDP là vi c bi u di n hình nh d i d ng các m ng s nguyên, cho phép MIDlet thao tác v i d li u hình nh m t cách tr c ti p 17 Lu n v n t t nghi p: Xây d ng ng d ng b n 1.4 Vòng cho i n tho i di ng i c a m t MIDlet Gi ng nh d ng ch ng trình Applet trên J2SE, m t Midlet luôn luôn k th a javax.microedition.midlet Hàm c b n nh t trong m i Midlet... qu n lý ng d ng s chuy n ng d ng cho KVM thi t b di ng 21 ch y trên Lu n v n t t nghi p: Xây d ng ng d ng b n cho i n tho i di KVM: Th c thi mã bytecode khi ch ng 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 tho i c ng ng phát tri n ng d ng J2ME và m i hãng i n a ra nh ng môi tr ng phát tri n cho riêng mình: Trong ó Sun J2ME... Lu n v n t t nghi p: Xây d ng ng d ng b n cho i n tho i di ng HTTPS Ki m soát vi c k t n i gi a máy di các ch ng và server: ví d nh 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... các CPU cho các thi t b di ng không h tr phép tính này, do ó MIDP c ng không có •B n p l p (Class Loader) •H tr t khóa finalize() nh trong J2SE: Vi c “d n d p“ tài nguyên tr c khi nó b xóa c y v phía các l p trình viên •Không h tr JNI •H tr h n ch thao tác b t l i •Ph n l n các th vi n API cho Swing và AWT không th s d ng c trong MIDP 15 Lu n v n t t nghi p: Xây d ng ng d ng b n cho i n tho i di ng •Không... thi t th c cho c nhà phát tri n l n nhà s n xu t thi t b di ng Các c t c a JCP gán các s JSR (Java Specification Request) Quy b n 1.0 CLDC c gán s JSR - 30 nh ngh a các th vi n t i thi u và các API T ng thích ngôn ng JVM Các th vi n lõi I/O M ng B om t Qu c t hóa CLDC không m nh ngh a: 11 c nh CLDC phiên Lu n v n t t nghi p: Xây d ng ng d ng b n cho i n tho i di ng Chu k s ng ng d ng Giao di n ng i... toàn, b o m t v thi t b di c thi t k b o 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 12 Lu n v n t t nghi p: Xây d ng ng d ng b n cho i n tho i di ng 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 Nh ki m tra mã ch ã ng trình Java tr c p, các t p tin l p c khi chuy n nó cho KVM c gán nhãn b ng... khai (manifest.mf) cung c p mô t v ng d ng cho b qu n lý ng d ng (application manager) trên thi t b di ng * T p tin JAR c bán ho c c phân ph i n ng i dùng u cu i Sau khi ã g r i và ki m tra mã l nh trên trình gi l p (simulator), mã l nh ã s n sàng ng và sau ó 1.5.5 Ng Ng b di c ki m tra trên i n tho i di c phân ph i cho ng i dùng i dùng Download ng d ng v thi t b di ng i dùng sau ó download t p tin JAR... 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 là nó b gi i h n truy xu t truy xu t t trong m t sandbox có ngh a n tài nguyên c a thi t b và không n Máy o Java hay b n p ch 13 ng trình ng d ng c c Lu n v n t t nghi p: Xây d ng ng d ng b n truy xu t cho i n tho i di n các . 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. 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. đ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