Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 156 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
156
Dung lượng
2,6 MB
Nội dung
B GIÁO D C & ÀO T O TR NG I H C M TP.HCM KHOA CÔNG NGH THÔNG TIN KHÓA LU N T T NGHI P tài: L P TRÌNH NG D NG MOBILE B NG JAVA GVHD : Ti n s NGUY N V N HI P SVTH : NGUY N CÔNG HÙNG MSSV : 106H1031 TP.H CHÍ MINH – N M 2009 L i C m n! Lu n án đ c th c hi n m t th i gian dài, thành ph m l n nh t mà th c hi n đ c trình h c t p t i tr ng Ngoài s c g ng, n l c c a b n thân, nh n s giúp đ c a nhi u ng i đ tơi có th hồn thi n đ c lu n án nh ngày u tiên, xin vô bi t n Ba M , có cơng sinh thành, d u ch m sóc đ cho có đ c ngày hơm ng d c, th ng Tôi xin c m n th y cô Khoa Công ngh thông tin th y cô tr ng i H c M TP.HCM truy n đ t nh ng ki n th c, kinh nghi m quý báu trình h c t p nghiên c u Em xin chân thành c m n ti n s Nguy n V n Hi p, gi ng viên Khoa Công ngh thông tin – tr ng i H c Bách Khoa Tp.HCM t n tình h ng d n, đ nh h ng, góp ý q trình th c hi n lu n v n Tôi xin c m n t p th nhóm l p trình ph n m m công ty Tin h c Th o Ch u ki n cho tơi q trình th c hi n luân v n ng t o Tôi xin c m n b n đ ng viên cho tơi q trình th c hi n lu n v n M c dù, n l c đ hoàn thành báo cáo đ t m t s k t qu nh t đ nh, nhiên nh ng sai sót báo cáo khơng tránh kh i, kính mong s thơng c m đóng g p ý ki n c a quý th y cô b n Xin chân thành c m n! Tp HCM, ngày 07, tháng 01, n m 2009 Ng i th c hi n: Nguy n Công Hùng Mã s sinh viên: 106H1031 L p h c: HCTH062C Xin C m n! Lu n v n t t nghi p CH NG 1: 1.1 1.2 1.3 CH TÀI t v n đ M c tiêu đ t cho đ tài N i dung NG 2: 2.1 M C TIÊU VÀ N I DUNG T NG QUAN V J2ME CÁC THÀNH PH N C A J2ME 2.1.1 T ng ph n c ng thi t b (Device Hardware Layer) 2.1.2 T ng máy o Java (Java Virtual Machine Layer) 2.1.3 T ng c u hình (Configuration Layer) 10 2.1.4 T ng hi n tr ng (Profile Layer) 12 2.1.5 M t s h n ch c a J2ME so v i phiên b n khác(ch y u n m t ng Configuration này): 12 2.2 CH C N NG CÁC THÀNH PH N 13 2.2.1 Máy o Java (Kilobyte Virtual Machine - KVM) 13 2.2.2 CLDC 15 2.2.2.1 Yêu c u ph n c ng dành cho CLDC: 16 2.2.2.2 Yêu c u ph n m m dành cho CLDC: 17 2.2.2.3 S khác bi t gi a CLDC 1.0 CLDC 1.1 17 2.2.2.4 Danh sách l p mà CLDC cung c p 17 2.2.3 MIDP 20 2.2.3.1 nh ngh a: 20 2.2.3.2 Nh ng ch c n ng mà MIDP không h tr : 20 2.2.3.3 Nh ng ch c n ng mà MIDP cung c p 21 2.2.3.4 Nh ng yêu c u dành cho MIDP 21 2.2.3.5 Các d ng profile 22 2.2.3.6 S khác gi a MIDP 1.0 MIDP 2.0 22 2.2.3.7 Danh sách l p mà MIDP cung c p 23 CH NG 3: 3.1 3.2 NH NGH A: .26 CÁC D NG MIDLET 26 3.2.1 3.2.2 3.3 B MIDLET 26 ng d ng đ n (standalone application) 26 ng d ng n i m ng (networked application) 26 C U TRÚC M T B MIDLET (MIDlet suite) 26 3.3.1 C u trúc file Jar 26 3.3.2 File JAD (Java Application Descriptor File) : 27 3.3.2.1 t t 27 3.3.2.2 Các ph ng th c MIDlet 29 3.3.2.3 Xây d ng m t ng d ng MIDlet: 29 3.3.2.4 L p MIDlet: 31 CH 4.1 NG 4: GIAO DI N H A 33 QU N LÝ VI C HI N TH VÀ B T S Trang KI N 35 Lu n v n t t nghi p 4.1.1 Qu n lý vi c hi n th 35 4.1.1.1 L p Display 35 4.1.1.2 L p Displayable 36 4.1.2 Qu n lý s ki n: 37 4.1.2.1 Command CommandListener 38 4.1.2.2 Item ItemStateListener 41 4.2 GIAO DI N 4.2.1 4.2.2 4.2.3 4.2.3.1 4.2.3.2 4.2.3.3 4.2.3.4 4.2.3.5 4.2.3.6 4.2.3.7 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.7.2 4.2.7.3 4.2.8 H A C P CAO 42 Screen: 42 Form: 42 Item: 43 DateField: 44 Gauge: 45 StringItem: 47 TextField: 47 ChoiceGroup: 50 Image: 53 ImageItem: 54 TextBox 56 Alert 58 AlertType: 60 List: 61 Các d ng c a list 61 B t s ki n cho đ i t ng List 62 So sánh gi a l p List l p ChoiceGroup: 62 Ticker: 64 H A C P TH P .64 4.3 4.3.1 Canvas: 65 4.3.1.1 H t a đ 65 4.3.1.2 V đ i t ng Canvas: 66 4.3.1.3 B t s ki n đ i t ng Canvas 68 4.3.1.4 Game action: 70 4.3.2 Graphics: 72 4.3.2.1 Color: 73 4.3.2.2 Nét v : 74 4.3.2.3 Font ch : 76 4.3.2.4 V đ i t ng hình nh (Image): 78 4.3.2.5 Các ph ng th c t nh ti n c a đ i t ng: 79 4.3.2.6 Vùng xén (Clipping regions): 81 CH NG 5: L U TR THÔNG TIN VÀ L P TRÌNH M NG 82 N I DUNG TRÌNH BÀY: 82 L U TR THÔNG TIN TRONG J2ME 82 K T N I M NG V I GENERIC CONNECTION FRAMEWORK 82 Trang Lu n v n t t nghi p 5.1 L u tr thông tin v i RMS 82 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.2 RecordStore 83 RecordEnumeration 91 S p x p b ng RecordComparator 93 L c record v i RecordFilter 95 RecordListener 96 K t n i m ng v i Generic Connection Framework (GCF) 97 5.2.1 Gi i thi u GCF 97 CH NG 6: NH NG QUI TRÌNH VÀ RÀNG BU C M T NG D NG TRÊN JBUILDER CH Y C TRÊN MOBILE 117 6.1 Tìm hi u trình bày qui trình k thu t đ xây d ng m t ng d ng mobile Jbuilder 117 6.1.1 6.1.2 6.1.3 6.1.3.1 6.1.3.2 6.1.4 Cài đ t Jbuilder 117 Cài đ t SDK cho Nokia 121 Quá trình xây d ng MIDlet 127 Quá trình đ u tiên: T o m i m t project 127 Quá trình th hai: T o m t l p MIDlet 131 Các b c đ xây d ng file.Jar file.Jad: 137 6.2 Tìm hi u trình bày yêu c u ràng bu c đ m t ng d ng mobile Jbuilder có th ch y mobile 141 6.2.1 Nh ng ràng bu 6.2.1.1 Ràng bu c v 6.2.1.2 Ràng bu c v 6.2.2 Nh ng ràng bu CH NG 7: c thi t b di đ ng 141 ph n c ng 141 ph n m m 142 c đ i v i ng d ng 142 GI I THI U NG D NG DEMO 143 7.1 Gi i thi u .143 7.2 Xây d ng m t MIDlet 143 7.3 Mơ t ch ng trình 143 7.4 Các ch c n ng c a ch ng trình: 144 7.5 Th c thi ch ng trình 145 m t chi c n tho i có th ch y đ c ng d ng MIDlet tr c h t ta xem nh ng yêu c u ràng bu c đ m t ng d ng java ch y đ c mobile (v n đ đ c trình ch ng 6) .145 CH NG 8: K T QU VÀ H NG PHÁT TRI N 150 8.1 K t qu 150 8.2 Nh ng h n ch : 150 V quy n lu n v n trình bày Error! Bookmark not defined V ch ng trình Error! Bookmark not defined 8.3 H ng phát tri n 150 Trang Lu n v n t t nghi p CH NG 1: M C TIÊU VÀ N I DUNG TÀI N i dung trình bày: M c tiêu n i dung c a đ t i tv nđ 1.1 V i chi c máy tính đ bàn (máy PC) ngày làm đ ch uh t m i vi c t đ n gi n đ n ph c t p Nh ng mà máy PC ch làm vi c c đ nh, đó, máy tính Laptop xu t hi n v i tính n ng nh g n có th mang theo làm vi c h u nh m i n i Ngày thi t b di đ ng tr nên r t ph bi n đ r t r ng rãi t i Vi t Nam, đ c bi t lo i n tho i di đ ng Nhi u ng c s d ng i coi n tho i di đ ng nh m t v t không th thi u cu c s ng h ng ngày N m b t đ c nhu c u đó, nhà s n xu t n tho i đ y m nh v m t công ngh , t ng c ng m u mã, tích h p ch c n ng ngày nhi u vào dòng s n ph m m i, h u đem l i cho ng nh t Gi đây, ng i dùng nh ng ti n ích cao c p nh t v i công ngh tiên ti n i dùng n tho i có th nghe nh c, xem phim, ch p hình ch i game th m chí xem TV, l t web ch v i chi c n tho i bé xíu bên Chi c n tho i th c s không ch m t ph ng tiên liên l c, mà cịn mang c th gi i gi i trí, th gi i Mobile đ n v i t ng ng i m i lúc m i n i V i công ngh phát tri n không ng ng nh hi n nay, vi c đòi h i ng d ng t t h n c ng ngày tr thành m t yêu c u đôi v i s phát tri n c a công ngh M t chi c n tho i t t đòi h i nh ng ph n m m cao c p kèm v i Nh ng v n đ l i đ t có nhi u nhà s n xu t n tho i s d ng nhi u công ngh khác V y có th t o đ đó? c nh ng ng d ng ch y t t c dòng s n ph m ây qu th t m t v n đ không đ n gi n chút M t th c t đ t cho nhà phát tri n ph n m m hi n khơng có m t chu n hóa dành cho nhà s n xu t ph n c ng Các thi t b th tr ng hi n r t đa d ng c ng mang nhi u đ c m c ng nh c u hình khác Tr c th c t đó, vi c có th ch y nhi u mơi tr ngôn ng Java Nh bi t, ban đ u Java đ b n nh t, ngày đ ng m t l i th r t l n c a c xây d ng ch g m m t phiên c bi t đ n v i tên J2SE (Java Standard Edition) v i Trang Lu n v n t t nghi p ph ng châm “Write once, run anywhere” t m d ch “vi t m t l n, ch y m i môi tr ng” Java đ c hình thành ý t 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 nh t nh ng ng d ng có th ch y b t c mơi tr ng có h tr Java Virtual Machine t m d ch “máy o Java” Các nhà phát tri n Java cho m t ngôn J2ME h ng đ n vi c phát tri n ph n m m cho thi t b di đ ng Ngôn ng J2ME th c s ngôn ng nh g n, d n m b t, ch t ch thích h p cho thi t b có kh n ng h n ch Các thi t b di đ ng th tr ng hi n nay, đ c bi t n tho i di đ ng h u h t đ u h tr r t t t ngôn ng J2ME J2ME th c s tr thành m t nh ng ngôn ng ph bi n nh t l nh v c l p trình di đ ng J2ME đ h c xem nh m t nhánh c a ngơn ng l p trình Java đ c phát tri n nh m ng t i vi c l p trình cho thi t b nh có b nh , kh n ng hi n th x lý h n ch 1.2 M c tiêu đ t cho đ tài Tìm hi u ràng bu c v ph n c ng c a ch ng lo i thi t b di đ ng hi n Hi u chi ti t v J2ME, ki n trúc nên t ng c a nh ng ng d ng c a đ l p trình thi t b di đ ng N mđ c k thu t x lý form, âm thanh, hình nh, l u tr n tho i di đ ng Tìm hi u qui trình k thu t đ xây d ng ng d ng mobile Jbuilder Nh ng ràng bu c đ m t ng d ng vi t Jbuilder có th ch y mobile ng d ng k t qu đ t đ ích ph c v nhu c u c a ng c đ xây d ng ch ng trình đ n gi n, có ti n i s d ng n tho i di đ ng Áp d ng thành cơng m t s dịng máy n tho i di đ ng h tr Java c a hãng nh Nokia, SonyEricsson, Samsung,… Nh ng m c tiêu đ c đ t nh m xây d ng m t quy n lu n v n t t h n, đ h n Và xa h n n a là, lu n v n trình đ y đ nh ng c n thi t đ cho m i ng i có th t vi t nh ng ng d ng riêng cho chi c n tho i c a Trang Lu n v n t t nghi p 1.3 N i dung V i nh ng m c tiêu quy n lu n v n xin trình bày nh ng n i dung sau: Gi i thi u chung v ngôn ng J2ME: t ng configuration profile Các v n đ liên quan đ n m t b MIDlet L p trình thi t b di đ ng s d ng giao di n đ h a c p th p c p cao Vi c l u tr thông tin MIDlet xu ng b ng ghi truy xu t chúng c n thi t L p trình m ng Các b c c n thi t đ xây d ng th c thi m t MIDlet Nh ng ràng bu c đ m t ng d ng vi t Jbuilder ch y đ Xây d ng ng d ng game caro đ demo Trang c Mobile Lu n v n t t nghi p CH NG 2: T NG QUAN V J2ME N i dung trình bày: Trình nh ng thành ph n đ c u thành nên J2ME Máy o java Configuration Profile Ch c n ng c a thành ph n 2.1 CÁC THÀNH PH N C A J2ME M c tiêu c a J2ME cho phép ng i l p trình vi t ng d ng đ c l p v i thi t b di đ ng, không c n quan tâm đ n ph n c ng th t s J2ME đ đ tđ c m c tiêu này, c xây d ng b ng t ng (layer) khác đ gi u vi c th c hi n ph n c ng kh i nhà phát tri n Sau t ng c a J2ME đ c xây d ng (2) Hình 1: Các thành ph n c a J2ME Java Enterprise Edition (J2EE) Java Standard Edition (J2SE) CDC MIDP Profile level CLDC Configuration level KVM Java Virtual Machine Java Micro Edition Khái ni m n tho i di đ ng t có kích th ng đ i r ng l n Chúng bao g m nh ng thi t b c v t lý khác nhi u l n cho dù kích th c nh ng thi t b v n có kh n ng x lý c ng nh th hi n c ng khác (nh ng chi c n tho i hi n th 12,000 pixels cho đ n nh ng chi c PDA 20000 pixels) đáp ng đ c nhu c u khác c a nh ng thi t b này, b n thân ngôn ng J2ME c ng chia thành nh ng thành ph n nh h n Trang Lu n v n t t nghi p Hình 2: C u trúc c a thi t b MID MIDP Applications OEM-Specific Applications Native Applications OEM-Specific Classes Mobile Information Device Profile (MIDP) Connected Limited Device Configuration (CLDC) Native Operating System Mobile Information Device(MID) M i t ng t ng Mobile Information Device t ng tr u t cho l p trình viên nhi u giao di n l p trình ng h n cung c p ng d ng (API-Application Program Interface) thân thi n h n 2.1.1 T ng ph n c ng thi t b (Device Hardware Layer) ây thi t b di đ ng th t s v i c u hình ph n c ng c a v b nh t c đ x lý D nhiên th t khơng ph i m t ph n c a J2ME nh ng n i xu t phát Các thi t b di đ ng khác có th có b vi x lý khác v i t p mã l nh khác M c tiêu c a J2ME cung c p m t chu n cho t t c lo i thi t b di đ ng khác 2.1.2 T ng máy o Java (Java Virtual Machine Layer) Khi mã ngu n Java đ bytecode sau đ c biên d ch đ c chuy n đ i thành mã bytecode Mã c chuy n thành mã ngôn ng máy c a thi t b di đ ng T ng máy o Java bao g m KVM (K Virtual Machine) b biên d ch mã bytecode có nhi m v chuy n mã bytecode c a ch ng trình Java thành ngơn ng máy đ ch y thi t b di đ ng, đ ng th i 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, thu h i b nh qu n lý vi c u ph i ti n trình T ng cung c p m t s chu n hóa cho thi t b di đ ng đ ng d ng J2ME sau biên d ch có th ho t đ ng b t k thi t b di đ ng có J2ME KVM Chính nh ng h n ch v t i nguyên c a thi t b di đ ng đ nhu c u v s đ i c a KVM ây nh ng yêu c u dành cho máy o KVM: Trang Lu n v n t t nghi p Hình 39: Thêm t p tin vào file JAR Chúng ta có th add thêm nh ng t p tin khác vào t p tin JAR Trang 140 Lu n v n t t nghi p Hình 40: Cho phép hi u ch nh thông t p tin JAR Bên nh ng thông tin b t bu c đ i v i m t MIDlet nh là: Name, Version, Vendor, Profile configuration; nh ng thông tin đ c l u t p tin Manifest.mf t p tin có ph n m r ng jar 6.2 Tìm hi u trình bày yêu c u ràng bu c đ m t ng d ng mobile Jbuilder có th ch y mobile 6.2.1 Nh ng ràng bu c thi t b di đ ng 6.2.1.1 Ràng bu c v ph n c ng Màn hình nh t ph i có 96 x 54 pixels Có nh t 128 kilobytes b nh non-volatile đ ch y thành ph n c a MIDP Có nh t kilobytes b nh non-volatile đ l u c u hình ch trình d li u Có nh t 32 kilobytes đ ch y Java Có k t n i không dây (wireless network) ng truy n b gi i h n Trang 141 ng Lu n v n t t nghi p 6.2.1.2 Ràng bu c v ph n m m H u hành ph i h tr vi c x lý ng t, x lý exception h tr x lý đ h a bitmap đ xu t d li u hình H u hành ph i nh n đ c tín hi u nh p li u chuy n d li u cho máy o Java H u hành ph i h tr vi c đ c ghi vào b nh non-volatile Khơng địi h i h u hành ph i đ nh ngh a file system nh ng ph i cho phép ghi d li u d ng persistent (không b m t ng t máy, t t n) Ph i h tr truy xu t m ng, đ c bi t ph i có tính n ng đ c ghi d li u thông qua m ng không dây 6.2.2 Nh ng ràng bu c đ i v i ng d ng ng d ng ph i m t MIDlet ng d ng ph i đ m t c build thành t p tin có ph n m r ng jar jad ng d ng mobile vi t mơi tr mobile nh ng thu c tính đ ng Jbuilder ch y đ c c miêu t file jar file jad ph i đ c thi t b di đ ng h tr L u ý: Trong ph n ph l c có m t b ng ch a m t vài thông tin c n thi t v m t s model n tho i di đ ng N u bi t đ c nh ng thu c tính bên file jar ta có th so sánh v i nh ng thông tin b ng ta có th bi t đ có th ch y n tho i đ c hay không Trang 142 c ng d ng Lu n v n t t nghi p CH NG 7: GI I THI U NG D NG DEMO N i dung trình bày: Mơ t ch ng trình game caro Các ch c n ng mà ng d ng đ t đ c Mô ph ng ng d ng 7.1 Gi i thi u Game care m t game r t d ch i đ c bi t b i h u nh t t c m i ng i b i l qui t c ch i r t đ n gi n: ch i c caro c n ph i có ng i Bàn c m t m ng ô vuông li n M i l n ta ch đ c Trong q trình ch i ta tìm cách đánh đ hàng d c, đ ng chéo) tr c ô li n (c hàng ngang, c ta s th ng 7.2 Xây d ng m t MIDlet ng trình c ng d a b Ch mobile trình bày b c đ xây d ng ch ng trình ng d ng c đ xây d ng m t MIDlet C ng g m trình q trình t o project t o t p tin java p d ng nh ng mà J2ME h tr (CLDC 1.0 MIDP 2.0) đ xây d ng t p tin java c n thi t cho ch Ch ng trình đ 7.3 Mơ t ch ng trình c mơ ph ng n tho i Nokia ng trình ng d ng m t MIDlet Là m t ch ng Ch ng trình game caro, cho phép th c hi n vi c ch i game gi a máy i ng trình mơ ph ng vi c l p trình Mobile b ng java thông qua IDE Jbuilder, áp d ng nh ng lý thuy t v J2ME đ xây d ng ng d ng game caro n tho i di đ ng Ngồi nh ng mà b n thân Jbuilder h tr cịn có s d ng thêm m t s tool đ Ch c hãng Sun Nokia cung c p ng trình s k t h p gi a d ng giao di n đ h a c p th p c p cao Nh ng mà t i m t th i m thi J2ME ch h tr m t d ng giao di n mà Trang 143 Lu n v n t t nghi p Các tùy ch n đ c s d ng giao di n đ h a c p cao, cịn hình đ th c hi n vi c ch i game đ c s d ng giao di n đ h a c p th p ây m t MIDlet v i: MIDlet-2: Options, , keycodes.Options MicroEdition-Configuration: CLDC-1.0 MIDlet-Name: My MIDlet Suite MIDlet-Vendor: My Vendor MIDlet-1: KeyCodes, , keycodes.KeyCodes MIDlet-Version: 1.0 MicroEdition-Profile: MIDP-2.0 7.4 Các ch c n ng c a ch o Ch ng trình: ng trình cho phép th c hi n trò ch i caro gi a ng o Có m c đ cho phép ng i máy i ch i ch n m c đ ch i (t m g i m c đ khó): Chun gia phịng th Chun gia t n cơng Phịng th ch t, t n công nhanh ây nh ng tùy ch n (List) d ng EXCLUSIVE (radio button) t c ch cho phép ng o L ng i ch i ch n m c đ t i m t th i m t gi a ng i dùng ch n l i máy: c ng có tùy ch n d ng (List) đ cho phép t (ng i ch i tr c ho c máy tr o N u b n ch i th ng máy b n s nh n đ th ng r i !” ng c l i, b n s đ c) c m t câu thông “B n c nh n m t câu thông báo “B n thua r i…!” o Project đ m il pt c đ t tên KeyCode Và ch ng trình đ c xây d ng v i l p ng ng v i m t t p tin java o Mô t l p ch ng trình o Ch c n ng c a t ng hàm t ng l p o Cách build ch o ch y ch ng trình ng trình IDE ta vào Run ch n Run Project t v i phím F9 bàn phím Trang 144 ng đ ng Lu n v n t t nghi p o Ch ng trình c ng đ ch ng tr o Ch c build nh b c build đ c đ c p c ng trình s th c hi n trình ti n ki m tra (preverify) Thi t b di đ ng s t ch i vi c th c thi ng d ng n u ch a th c hi n trình ti n ki m tra o Sau hoàn thi n đ đ c ch ng trình ta chép t p tin mà ta build c vào n tho i di đ ng ch y o Nh đ c p ch ng d ng tr ng tr c m t thi t b di đ ng mu n th c thi m t c h t ng d ng ph i đ ng d ng có đáp ng đ c ti n ki m tra (preverify) xem c nh ng mà b n thân thi t b h tr hay khơng 7.5 Th c thi ch ng trình m t chi c n tho i có th ch y đ c ng d ng MIDlet tr xem nh ng yêu c u ràng bu c đ m t ng d ng java ch y đ đ c trình ch c h t ta c mobile (v n đ ng 6) Ch ng trình đ c chép vào n tho i di đ ng (xem thêm ph n ph l c cách chép t p tin jar vào n tho i di đ ng), sau th c thi ch ng trình theo nh ng b c bên d i Trang 145 Lu n v n t t nghi p Hình 41: Chi c n tho i đ c Sun mô ph ng ng d ng ây chi c n tho i hoàn toàn gi ng v i chi c n tho i bên ngồi (v hình dáng) đ c Sun gi l p đ mô ph ng cho n tho i di đ ng th t bên Trang 146 Lu n v n t t nghi p Hình 42: Hi n th vi c ch n m c đ cho ng i ch i c ây hình nh hi n th vi c cho phép ng i ch i ch n m c đ khó Ta dùng phím m i tên lên, xu ng đ thay đ i vi c ch n ch n ta nh n phím Enter (phím hình vng gi a) Trong hình có nút u n: Nút [Thoát] t ng ng v i nút tròn bên tay trái cho phép ng i ch i ch ng trình; Nút [Ti p t c] t ng ng v i nút tròn bên tai ph i cho phép ng i ch i ch n ti p Trang 147 Lu n v n t t nghi p Hình 43: Tùy ch n vi c tr c gi a ng i máy ây hình hi n th vi c ch n tr c gi a ng i máy T ng t , ta c ng dùng phím m i tên lên xu ng đ thay đ i vi c l a ch n dùng phím enter đ ch n Trong hình có s thay đ i, nút [Tr l i] đ c thay th cho nút [Thóat] hình tr c, túc ta crhió th quay l i hình tr c đ thay đ i vi c ch n m c đ Trang 148 Lu n v n t t nghi p Hình 44: Màn hình đ ch i cò Cách c : Nh đ c p lúc ch n nh ng tùy ch n, ch ng trình cho phép cho quy n ch n tr c, hay nh ng quy n cho máy tr c Ta dùng phím nh sau: Phím s đ di chuy n qua bên trái Phím s đ di chuy n qua bên ph i Phím s đ di chuy n lên phía Phím s đ di chuy n xu ng phía d i Phím s đ th c hi n vi c đánh c t i v trí ch n Khi khơng mu n game nh n nút tròn bên ph i th y xu t hi n m t menu ta ch n Exit đ thoát Trang 149 Lu n v n t t nghi p CH 8.1 NG 8: K T QU VÀ H NG PHÁT TRI N K t qu Lu n v n trình bày nh ng ki n th c v vi c l p trình thi t b di đ ng b ng J2ME, sau nh ng v n đ mà lu n v n trình bày: Gi i thi u v CLDC MIDP Nh ng v n đ liên quan đ n MIDlet Các thành ph n giao di n m t MIDlet Cách l u tr d li u dành cho m t MIDlet (dùng RMS) K t n i m ng v i GCF d ch v tin nh n v i SMS 8.2 Nh ng h n ch : Ch 8.3 H ng trình khơng có ch c n ng l u d li u ng phát tri n Có th vi t nh ng ch ng trình ng d ng riêng cho chi c n tho i c a Trang 150 Lu n v n t t nghi p TÀI LI U THAM KH O Ebook tham kh o: [Premier[1].Press_.J2ME.Game.Programming._2004_.LiB.chm] MARTIN J WELLS [J2ME Step to Step] Lu n v n t t nghi p - [Nghiên c u java moble ng d ng minh h a] ng Nguy n Kim Anh & Anh Tu n [Java t p 3] c a Ph ng Lan Tr n Ti n D ng – NXB Lao ng Web site tham kh o: http://www.thienlong.org/forumvn/showthread.php?t=8979 http://www.forum.nokia.com http://www.javavietnam.org http://java.sun.com/javase/technologies/hotspot/ http://my.opera.com/signup8x/blog/2008/01/30/viet-tro-choi-caro-gomokubang-ngon-ngu-c http://developers.sun.com/mobility/midp/articles/wtoolkit/ http://www.thienlong.org/forumvn/showthread.php?t=15089&goto=nextnewest http://www.onjava.com/pub/a/onjava/2001/03/08/J2ME.html http://www.free4vn.org/f210/free4vn-j2me-lap-trinh-cho-dtdd-27687/ 10 http://haidanggsm.com.vn/forum/viewforum.php?f=152 Trang 151 Lu n v n t t nghi p PH L C I Môi tr ng phát tri n ng d ng J2ME Ph n ta s tìm hi u v ph n m m c n thi t dùng đ phát tri n m t ng d ng J2ME, cách cài đ t c u hình ph n m m Ngồi ra, s nghiên c u v tools phát tri n đ c h tr thêm vi t m t ng d ng J2ME, c n nh t ch ng trình sau: Java Development Kit (JDK) version 1.3 ho c cao h n n a Ta có th t i t i link : http://java.sun.com/products/jdk/ Connected, Limited Device Configuration (CLDC) ta c ng có th t i t i link: http://java.sun.com/products/cldc/ Mobile Information Device Profile (MIDP) ta có th t i t i link: http://java.sun.com/products/midp/ Chú ý: xem nh Microsoft Windows nh h u hành m c đ nh đ c s d ng, n u ng i dùng s d ng h u hành khác ph i có m t s u ch nh phù h p v i h u hành Cài đ t ph n m m: a Cài đ t JDK: File cài đ t JDK có d ng file th c thi (.exe), ch c n ch y làm theo h ng d n s cài đ t thành công b JDK (gi s th m c cài đ t C:\jdk1.4.1) Sau cài đ t xong c n ph i c u hình bi n mơi tr thi t Vi c set bi n môi tr ng c n ng giúp ch y trình biên d ch t b t c v trí nào, khơng c n ph i gõ tên đ ng d n đ y đ c a trình biên d ch Vào Control Panel, ch n System,ch n Environment (ho c Advanced/Environment) Tìm th m c Path thêm vào th m c \bin c a th m c JDK (ví d C:\JDK\bin) vào bi n môi tr ng Path (Path = …… ;c:\jdk\bin;) b Cài đ t CLDC MIDP: File CLDC MIDP có d ng zip, ta gi i nén vào chung m t th m c (ví d c:\J2ME) Trang 152 Lu n v n t t nghi p Th m c J2ME có d ng: C:\J2ME j2me_cldc (th m c ch a CLDC) midp 1.0.1.fcs (th m c ch a MIDP) Và sau ta xét bi n môi tr ng nh sau: Path = C:\jdk 1.3.1\bin;C:\j2me\j2me_cldc\bin;C:\j2me\midp 1.0.3fcs\bin; Classpath = C:\j2me\midp 1.0.3fcs\classes; (d u “.” Ch th m c hi n hành) Lúc ta đ công c đ xây d ng ng d ng J2ME Chúng ta có nhi u cơng c h tr cho q trình biên d ch th c thi MIDlet nh ng ban đ u s tìm hi u cách s d ng nh ng công c c b n nh t công c chu n c a J2ME Quá trình biên d ch th thi ng d ng J2ME ph i qua m t s thao tác b ng dòng l nh (command lines), gi s th m c ch a mà ngu n th m c C:\Midlets Quá trình biên d ch Pre-verify: biên d ch ta chuy n đ n th m c ch a ng d ng (C:\Midlet\Welcome\) gõ l nh: javac – bootclasspath c:\j2me\midp 1.0.3fcs\classes Wellcome.java ho c javac – bootclasspath %CLASSPATH% Welcome.java (CLASSPATH bi n môi tr ng đ c đ nh ngh a tr c thay cho c:\j2me\midp 1.0.3.fcs\classes;) Java ch cho ch ng trình biên d ch c a b JDK, thơng s - bootclasspath l nh ng trình biên d ch l y file l p c s t i th m c c:\j2me\midp 1.0.3fcs\classes ( ây file class c s c a MIDP) N u khơng có thơng s này, file l p c s c a JDK s đ c s d ng, file l p c s khác v i file c a MIDP nên J2ME có th khơng s d ng đ c Sau trình file Welcome.class s đ c t o m c đ nh th m c v i file mã ngu n Sau file class đ c t o ta c n th c hi n vi c “pre-verify” Preverify –classpath c:\j2me\midp 1.0.3fcs\class; –d.Welcome Ho c Trang 153 chung Lu n v n t t nghi p Preverify – classpath %CLASSPATH% -d Welcome T ng t , thông s classpath ch v trí file class t i th m c c:\j2me\midp 1.0.3fcs\class th m c hi n hành (d u “.”) Thông s -d ch v trí th m c output k t qu th m c hi n hành L u ý: Quá trình Pre-verify b t bu c, n u không th c hi n công đo n thi t b di đ ng s t ch i th c thi ng d ng c Th c thi ng d ng MIDlet: Ta th c thi câu l nh: Midp –classpath Welcome Thông s class path ch th m c ch a file c n th c thi, th m c hi n hành, tên ng d ng Welcome (file Welcome.class đ c pre-verify) Trên trình c b n nh t đ biên d ch th c thi m t ng d ng J2ME, đ s d ng nh ng tính n ng cao h n (t o MIDlet Suite ch a nhi u MIDlet, t o file Jad, file Jar) ti t ki m th i gian, th ng dùng cơng c ti n ích nh Sun Wireless Toolkit Nh ng đ c cài đ t bên đ c giành cho vi c s d ng ngơn ng java đ l p trình thi t b di đ ng ta dùng eclipse, Jcreater, NetBean, hay Site Pad Pro … đ l p trình cịn đ i v i Jbuilder thì: Jbuilder h tr h t cho nh ng công vi c trên, t c ta cài đ t ch ng trình Jbuilder xem nh ta có s n JDK Wireless toolkit Vi c build ng d ng c ng t II DOWNLOAD Ng NG D NG V THI T B DI ng đ i đ n gi n h n NG i dùng sau download t p tin JAR ch a ng d ng v thi t b di đ ng Trong h u h t n tho i di đ ng, có ba cách đ download ng d ng: K t n i cáp d li u t PC sang c ng d li u c a n tho i di đ ng: Vi c yêu c u ng i dùng ph i có t p tin JAR th t s ph n m m truy n thông đ download ng d ng sang thi t b thông qua cáp d li u C ng h ng ngo i IR (Infra Red) Port: Vi c yêu c u ng i dùng ph i có t p tin JAR th t s ph n m m truy n thông đ download ng d ng sang thi t b thông qua c ng h ng ngo i OTA (Over the Air): S d ng ph ng th c này, ng URL ch đ n t p tin JAR Trang 154 i dùng ph i bi t đ a ch