lập trình ứng dụng trên thiết bị di động

70 660 2
lập trình ứng dụng trên thiết bị di động

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Khúc Thanh Sơn LẬP TRÌNH ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI – 2010 2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Khúc Thanh Sơn LẬP TRÌNH ỨNG DỤNG TRÊN THIẾT BỊ DI ĐỘNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: ThS Đào Ngọc Phong Cán bộ đồng hướng dẫn: PGS TS Hồ Sĩ Đàm HÀ NỘI – 2010 3 LỜI CẢM ƠN Sau một thời gian tập trung nghiên cứu và thực hiện, em đã hoàn thành xong luận văn của mình. Đây là kết quả của một quá trình lao động và học tập nghiêm túc dựa trên kiến thức mà em đã thu thập được dưới sự truyền dạy của quý thầy cô. Em xin gửi lời tri ân sâu sắc nhất đến toàn thể quý thầy cô khoa Công nghệ thông tin – Đại học Công nghệ – Đại học Quốc Gia Hà Nội trong suốt thời gian qua Hơn ai hết, em có thể ý thức rằng luận văn của mình khó có thể hoàn thành tốt nếu thiếu sự đôn đốc, hướng dẫn tận tình của thầy – Thạc sỹ Đào Ngọc Phong và thầy – PGS TS Hồ Sĩ Đàm. Em xin gửi lời cám ơn chân thành nhất tới sự chỉ bảo của hai thầy. Em cũng xin cảm ơn các anh chị đi trước cùng toàn thể bạn bè vì sự động viên ủng hộ trong suốt thời gian nghiên cứu và thực hiện đề tài. Mặc dù đã nỗ lực hết mình để hoàn thành đề tài tốt nhất trong khả năng cho phép, nhưng do kiến thức của bản thân còn hạn hẹp và qui mô của khối lượng công việc mà thời gian có hạn nên những thiếu sót là không thể tránh khỏi. Rất mong nhận được sự chỉ bảo cũng như góp ý chân thành của quý thầy cô, anh chị và các bạn. Hà Nội, 5/2010 Khúc Thanh Sơn Lập trình ứng dụng trên thiết bị di động Khúc Thanh Sơn-K51MMT 4 TÓM TẮT NỘI DUNG Ngày nay, ngôn ngữ J2ME và lập trình trên thiết bị di động nói chung đang ngày càng phát triển rộng rãi đi kèm với sự bùng nổ về thị trường điện thoại di động. Cùng với sự gia tăng về số lượng di động thì các tính năng dành cho di động cũng tăng theo tương ứng. Hàng loạt các tính năng cao cấp được giới thiệu như chụp hình, nghe nhạc… và đặc biệt là sử dụng các chương trình không phải do nhà sản xuất điện thoại cung cấp. Đây được coi là cuộc cách mạng trong lĩnh vực di động, nó biến chiếc điện thoại nhỏ bé thành một chiếc máy tính thu nhỏ, với những chủng loại điện thoại này ta có thể đọc báo, tiểu thuyết, tra từ điển, bản đồ và nhất là mang cả thế giới giải trí đến bên cạnh, những bản nhạc hay, những game hay luôn luôn sẵn sàng để sử dụng. Để góp phần cho sự phát triển đó ngoài yếu tố phần cứng thì nền tảng phần mềm là yếu tố quyết định vì các hãng sản xuất di động khác nhau thì sử dụng công nghệ khác nhau. Làm sao để các thiết bị phần cứng khác nhau có thể sử dụng chung một nền tảng phần mềm? Đó chính là nền tảng J2ME. Và đây cũng được coi là một trong những lợi thế rất lớn của J2ME. Trong đề tài của mình,em sẽ đi nghiên cứu về công nghệ J2ME và cách thức sử dụng J2ME để lập trình trên di động.Bản báo cáo khóa luận của em được trình bày theo 4 chương với nội dung cụ thể như sau: 1. Chương 1: Tổng quan về lập trình trên thiết bị di động Chương này sẽ nói sơ lược về thực tại các ứng dụng trên di động, các đặc điểm cũng như công nghệ, các công cụ lập trình khác nhau. 2. Chương 2: Giới thiệu về ngôn ngữ J2ME Chương này sẽ nói về lịch sử hình thành, các phiên bản và các đặc điểm của ngôn ngữ J2ME. 3. Chương 3: Công nghệ lập trình trên di động J2ME Chương này sẽ giới thiệu về kiến trúc của J2ME, các lớp dùng trong J2ME. 4. Chương 4: Xây dựng ứng dụng thử nghiệm trên di động. Chương này sẽ giới thiệu về ứng dụng sẽ làm, quá trình làm, cách cài đặt và sử dụng. Lập trình ứng dụng trên thiết bị di động Khúc Thanh Sơn-K51MMT 5 Mục lục Bảng các chữ viết tắt và thuật ngữ được sử dụng 7 Danh sách hình vẽ 8 Danh sách các bảng 9 Chương 1. TỔNG QUAN VỀ LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG 10 1.1 Thực tế các ứng dụng trên thiết bị di động 10 1.2 Đặc điểm của lập trình ứng dụng trên thiết bị di động 11 1.3 Các công nghệ khác 11 Chương 2. GIỚI THIỆU VỀ J2ME 13 2.1 Lịch sử hình thành 13 2.2 Các phiên bản, đặc điểm 14 2.3 Các đặc điểm khác 15 2.4 Lý do chọn J2ME 16 Chương 3. CÔNG NGHỆ LẬP TRÌNH TRÊN DI ĐỘNG J2ME 18 3.1 Kiến trúc của J2ME 18 3.1.1 Configurations 18 3.1.2 Định nghĩa về Profile: 21 3.1.3 Máy ảo Java 22 3.2 Các lớp thông dụng trong J2ME 24 3.2.1 Cấu trúc cơ bản 24 3.2.2 Xây dựng một ứng dụng MIDlet 26 3.2.3 Lớp MIDlet 26 3.2.4 Lớp MIDletStateChangeException 28 3.2.5 Lớp Display 29 3.2.6 Lớp Displayable 30 3.2.7 Lớp Command và CommandListener 31 3.2.8 Lớp Item và ItemStateListener 34 3.3 Các lớp giao diện trong J2ME 36 3.3.1 Screen 37 3.3.2 Form 38 3.3.3 Item 39 3.3.4 StringItem 40 3.3.5 Image and ImageItem 40 3.3.6 Canvas 43 3.3.7 Graphics 45 Chương 4. XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM TRÊN DI ĐỘNG 47 4.1 Giới thiệu về ứng dụng 47 4.2 Các chức năng chính 47 4.2.1 Xem album 48 Lập trình ứng dụng trên thiết bị di động Khúc Thanh Sơn-K51MMT 6 4.2.2 Xem slide 48 4.2.3 Trợ giúp 49 4.2.4 Liên hệ 49 4.2.5 Download 49 4.3 Cách thức làm chương trình 49 4.4.1 Yêu cầu phần mềm 52 4.4.2 Cài đặt phần mềm 53 4.4.2.1 Cài đặt JDK 53 4.4.2.2 Cài đặt Sun J2ME Wireless Toolkit 2.5 (WTK 2.5) 55 4.4.3 Chạy thử nghiệm chương trình 57 4.4.3.1 Cách tạo một Project trên Sun J2ME Wireless Toolkit 2.5 57 4.4.3.2.1 Giao diện khi khởi động xong chương trình 60 4.4.3.2.2 Giao diện Menu chính của chương trình 61 4.4.3.2.3 Giao diện Xem Album 62 4.4.3.2.4 Giao diện Xem Slide 63 4.4.3.2.5 Giao diện Trợ giúp 64 4.4.3.2.6 Giao diện Liên hệ 65 4.4.3.2.7 Giao diện Download 66 4.4.3.2.8 Giao diện khi tắt chương trình 67 4.4.4 Tạo file Jar dùng để lưu trữ và chia sẻ 68 KẾT LUẬN 69 Tài liệu tham khảo 70 Lập trình ứng dụng trên thiết bị di động Khúc Thanh Sơn-K51MMT 7 Bảng các chữ viết tắt và thuật ngữ được sử dụng API Application Program Interface CDC Connected Device Configuration CLDC Connected Limited Device Configuration Configuration Đặc tả quy định các thư viện gốc J2ME phải hỗ trợ cho một dòng phần cứng J2EE Java 2 Enterprise Edition,dành cho các dự án lớn J2ME Java 2 Micro Edition,dành cho các thiết bị nhỏ J2SE Java 2 Standard Edition,dành cho PC thông thường JDK Java Development Kits KVM K Virtual Machine-máy ảo cho môi trường CLDC MIDlet Tên gọi chung của các ứng dụng J2ME MIDP Mobile Information Device Profile PDA Personal Digital Assistant Profile Các tập thư viện cấp cao định nghĩa trên nền Configuration WTK Wireless ToolKits Lập trình ứng dụng trên thiết bị di động Khúc Thanh Sơn-K51MMT 8 Danh sách hình vẽ Hình 1. Các đặc điểm của ngôn ngữ J2ME 15 Hình 2. Các thành phần của J2ME 18 Hình 3. Configurations và các thiết bị 20 Hình 4. So sánh Profile thông thường và Profile mở rộng 22 Hình 5. Cấu trúc chương trình J2ME 23 Hình 6. Cấu trúc chương trình MIDP 24 Hình 7. Mô hình vòng đời của một MIDlet 25 Hình 8. Command Exit 32 Hình 9. Ví dụ về cách khởi tạo của hàm Command 32 Hình 10. Sơ đồ các lớp giao diện của J2ME 37 Hình 11. Sơ đồ tổng quan giao diện chương trình 48 Hình 12. Màn hình bắt đầu cài đặt JDK 53 Hình 13. Quá trình JDK đang tiến hành cài đặt 54 Hình 14. Quá trình cài đặt kết thúc 54 Hình 15. Màn hình khi bắt đầu cài đặt WTK 2.5 55 Hình 16. Bước cài đặt WTK tiếp theo 55 Hình 17. Đường dẫn cài đặt WTK 2.5 56 Hình 18. Quá trình xử lý khi cài đặt WTK 2.5 56 Hình 19. Quá trình cài đặt WTK 2.5 kết thúc 57 Hình 20. Màn hình mở WTK 2.5 57 Hình 21. Giao diện ban đầu của WTK 58 Hình 22. Cửa sổ tạo New Project trong WTK 58 Hình 23. Cửa sổ cấu hình cho MIDlet 59 Hình 24. Giao diện khi Build và Run chương trình 59 Hình 25. Giao diện khi khởi động chương trình 60 Hình 26. Giao diện Menu chính của chương trình 61 Hình 27. Giao diện Xem Album 62 Hình 28. Giao diện Xem Slide 63 Hình 29. Giao diện Trợ giúp 64 Hình 30. Giao diện Liên hệ 65 Hình 31. Giao diện Download 66 Hình 32. Giao diện khi tắt chương trình 67 Hình 33. Cửa sổ WTK khi tạo file Jar 68 Hình 34. Cửa sổ Build file Jar của WTK 68 Hình 35. Hình ảnh thư mục bin chứ file Jar của Chương trình 68 Lập trình ứng dụng trên thiết bị di động Khúc Thanh Sơn-K51MMT 9 Danh sách các bảng Bảng 1. So sánh thông số kỹ thuật của CDC và CLDC 20 Bảng 2. Các hàm thường dùng trong MIDlet 27 Bảng 3. Một số hàm quan trọng của lớp Display 29 Bảng 4. Các hàm chính của Displayable 31 Bảng 5. Các TYPE hỗ trợ của lớp Command 33 Bảng 6. Các hàm chính của lớp Command và CommandListener 34 Bảng 7. Các hàm quan trọng của lớp Item 35 Bảng 8. Các phương thức và chức năng tương ứng của lớp Screen 38 Bảng 9. Các phương thức và chức năng tương ứng của lớp Form 39 Bảng 10. Các phương thức và chức năng tương ứng của lớp Item 40 Bảng 11 Các phương thức và chức năng tương ứng của StringItem 40 Bảng 12. Các phương thức và chức năng của lớp Image 41 Bảng 13. Các phương thức và chức năng của lớp Image 42 Bảng 14. Các phương thức hỗ trợ vẽ của lớp Canvas: 44 Bảng 15. Các phương thức và chức năng của lớp Graphics: 46 Lập trình ứng dụng trên thiết bị di động Khúc Thanh Sơn-K51MMT 10 Chương 1. TỔNG QUAN VỀ LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG 1.1 Thực tế các ứng dụng trên thiết bị di động Mạng điện thoại di động xuất hiện đầu tiên ở Việt Nam vào đầu những năm 1990 và theo thời gian số lượng thuê bao cũng như các nhà dịch vụ di động tại Việt Nam cũng tăng dần. Cùng với sự phát triển về số lượng thuê bao di động là sự đa dạng hóa các dịch vụ hướng đến thiết bị di động. Ngày nay điện thoại di động không chỉ còn mang chức năng gọi điện hay nhắn tin thông thường nữa mà còn là một thiết bị giải trí, tra cứu thông tin rất tiện lợi. Do đó, xây dựng các ứng dụng cho thiết bị di động đang là một yêu cầu tất yếu trong xu thế hiện nay. Ngành công nghiệp phần mềm cho các thiết bị di động được xem là mảnh đất màu mỡ và hứa hẹn đem lại lợi nhuận rất cao. Về chương trình ứng dụng, tính khả thi và thực tế ngày càng được đề cao. Với thực trạng Việt Nam hiện nay, số người sở hữu máy tính cá nhân, đặc biệt là sở hữu laptop chưa nhiều nhưng số người có điện thoại di dộng là rất nhiều.Vì thế việc phát triển các ứng dụng di động sẽ là một hướng phát triển màu mỡ, nhằm tạo sự tiện lợi cho người sử dụng, cũng như là tiết kiệm chi phí và thời gian. Hiện nay có rất nhiều các ứng dụng trên di động ta đang sử dụng hàng ngày như game,phần mềm chạy nhạc, phần mềm quản lý ảnh, quản lý bản đồ, chát, tin nhắn…và đa số các ứng dụng đều chạy trên nền Java và được lập trình bằng ngôn ngữ J2ME, một ngôn ngữ rất mạnh về lập trình ứng dụng cho thiết bị di động. Nếu máy điện thoại có kết nối GPRS, thì ta còn có thể down về rất nhiều các tiện ích cũng như các ứng dụng mà trong máy không có sẵn như là tải nhạc, tải hình cũng như là các game…Qua đó ta có thể thấy tầm quan trọng của các ứng dụng trên thiết bị di động, nếu thiếu chúng các thiết bị di động sẽ thiếu đi rất nhiều tính năng và cũng sẽ giảm đi hiệu quả làm việc! [...]...L p trình ng d ng trên thi t b di đ ng 1.2 Đ c đi m c a l p trình ng d ng trên thi t b di đ ng Ngôn ng s d ng ch y u đ l p trình các ng d ng trên thi t b di đ ng là J2ME Ngôn ng J2ME có kích thư c nh g n, ti n d ng, đư c h tr b i h u h t các th h đi n tho i m i ra đ i, k c các h đi n tho i cũ J2ME không nh ng là m t ngôn ng hư ng đ n các thi t b di đ ng mà còn là m t ngôn ng chính đ l p trình trên. .. ng (Platform) d a trên Linux Kernel dành riêng 11 Khúc Thanh Sơn-K51MMT L p trình ng d ng trên thi t b di đ ng cho di đ ng, m t n n t ng đ m nh m và m m d o đ c nh tranh v i các n n t ng di đ ng khác Đ ng th i, Google cũng b t đ u lên k ho ch cho các đ i tác đ ch t o ph n c ng và vi t các ph n m m trên n n t ng m i c a mình Như đã trình bày ph n trên, J2ME có l công ngh l p trình cho di đ ng g n nh và... 22 Khúc Thanh Sơn-K51MMT L p trình ng d ng trên thi t b di đ ng Đ n đây chúng ta có th hình dung ph n nào ki n trúc t ng th c a m t chương trình J2ME như sau: Hình 5 C u trúc chương trình J2ME N u chương trình đư c biên d ch v i CDC, chương trình s ch y trên các máy o truy n th ng và mang các đ c tính như chương trình J2SE N u chương trình đư c biên d ch v i CLDC, chương trình s ch y v i máy o chuyên... bi n nh t trong lĩnh v c l p trình di đ ng M t s thi t b h tr J2ME chúng ta hay g p như: -Các l ai th cá nhân như Java Card -Máy đi n tho i di đ ng -Máy PDA (Personal Digital Assistant - thi t b tr giúp cá nhân) -Các h p đi u khi n dành cho tivi, thi t b gi i trí gia d ng … 17 Khúc Thanh Sơn-K51MMT L p trình ng d ng trên thi t b di đ ng Chương 3 CÔNG NGH L P TRÌNH TRÊN DI Đ NG J2ME 3.1 Ki n trúc c... khi đư c chương trình qu n lý ng d ng (application manager) trên thi t b g i th c thi Trong quá trình ho t đ ng, chương trình MIDlet cũng có th tr l i tr ng thái Paused b i thi t b (khi tr l i cu c g i đ n ho c b i chính chương trình MIDlet) -Active:chương trình đang th c thi -Destroyed:Chương trình MIDlet đã gi i phóng t t c tài nguyên và đã đư c t t b i trình qu n lý trên ng d ng trên thi t b 25... n vi c th hi n d li u Đ i tư ng Display không có phương th c kh i t o mà đư c kh i t o tr c ti p t phương th c static c a l p Ví d : Display display = Display.getDisplay(this); 29 Khúc Thanh Sơn-K51MMT L p trình ng d ng trên thi t b di đ ng Tham s vào là m t MIDlet, đây chúng ta g i hàm t l p k th a t MIDlet nên có th truy n vào con tr this Th c ra công d ng chính c a Display là cho phép hi n th đ i... Sơn-K51MMT L p trình ng d ng trên thi t b di đ ng V i chương trình xây d ng b i MIDP,chúng ta có c u trúc chuyên bi t sau: Hình 6 C u trúc chương trình MIDP T ng dư i cùng là h đi u hành có h tr máy o KVM, bên trên là CLDC và trên cùng là MIDP Profile Lúc này khái ni m “Vi t m t l n, ch y b t c môi trư ng nào” c a Sun không còn đúng hoàn toàn vì đã xu t hi n máy o chuyên bi t KVM M t s chương trình vi t... i startApp) Final String getAppProperty(String key) L y các thông s c a chương trình( t file jad và file manifest) B ng 2 Các hàm thư ng dùng trong MIDlet 27 Khúc Thanh Sơn-K51MMT L p trình ng d ng trên thi t b di đ ng Hai quá trình quan tr ng nh t c a m t ng d ng MIDlet là quá trình n p và quá trình thoát ng d ng: -Quá trình n p: User ch n kích ho t ng d ng MIDlet Application manager kh i t o các bi... p Display ng d ng c a chúng ta ch c ch n s có nhu c u xu t d li u ra màn hình.Vi c này trong ng d ng MIDlet do m t đ i tư ng thu c l p Display đ m nhi m L p này n m trong package javax.microedition.lcdui, package này ch a h u như t t c các l p ph c v cho vi c phát tri n giao di n c a ng d ng M t s hàm quan tr ng c a l p Display: Phương th c Mô t Static Display getDisplay(MIDlet m) L y đ i trư ng Display... Display c a MIDlet Displayable getCurrent() L y đ i tư ng Displayable hi n th i Void setCurrent(Alert alert, Displayable nextDisplayable) T o đ i tư ng alert Void setCurrent(Displayable nextDisplayable) Boolean isColor() Cho bi t thi t b có h tr màu hay không Int numColors() Có bao nhiêu màu đư c h tr B ng 3 M t s hàm quan tr ng c a l p Display M i MIDlet s ch có m t và ch m t đ i tương Display đ đi u . 9 Chương 1. TỔNG QUAN VỀ LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG 10 1.1 Thực tế các ứng dụng trên thiết bị di động 10 1.2 Đặc điểm của lập trình ứng dụng trên thiết bị di động 11 1.3 Các công nghệ. Lập trình ứng dụng trên thiết bị di động Khúc Thanh Sơn-K51MMT 10 Chương 1. TỔNG QUAN VỀ LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG 1.1 Thực tế các ứng dụng trên thiết bị di động . của các ứng dụng trên thiết bị di động, nếu thiếu chúng các thiết bị di động sẽ thiếu đi rất nhiều tính năng và cũng sẽ giảm đi hiệu quả làm việc! Lập trình ứng dụng trên thiết bị di động

Ngày đăng: 13/07/2014, 17:34

Từ khóa liên quan

Mục lục

  • Bảng các chữ viết tắt và thuật ngữ được sử dụng

  • Danh sách hình vẽ

  • Danh sách các bảng

  • Chương 1. TỔNG QUAN VỀ LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG

    • 1.1 Thực tế các ứng dụng trên thiết bị di động

    • 1.2 Đặc điểm của lập trình ứng dụng trên thiết bị di động

    • 1.3 Các công nghệ khác

    • Chương 2. GIỚI THIỆU VỀ J2ME

      • 2.1 Lịch sử hình thành

      • 2.2 Các phiên bản, đặc điểm

      • 2.3 Các đặc điểm khác

      • 2.4 Lý do chọn J2ME

      • Chương 3. CÔNG NGHỆ LẬP TRÌNH TRÊN DI ĐỘNG J2ME

        • 3.1 Kiến trúc của J2ME

          • 3.1.1 Configurations

          • 3.1.2 Định nghĩa về Profile:

          • 3.1.3 Máy ảo Java

          • 3.2 Các lớp thông dụng trong J2ME

            • 3.2.1 Cấu trúc cơ bản

            • 3.2.2 Xây dựng một ứng dụng MIDlet

            • 3.2.3 Lớp MIDlet

            • 3.2.4 Lớp MIDletStateChangeException

            • 3.2.5 Lớp Display

            • 3.2.6 Lớp Displayable

            • 3.2.7 Lớp Command và CommandListener

Tài liệu cùng người dùng

Tài liệu liên quan