Luận văn Nghiên cứu Java Mobile và xây dựng ứng dụng minh họa

Mạng điện thoại di động xuất hiện tại Việt Nam từ đầu năm 1990 và theo thời gian, số lượng các thuê bao cũng như các nhà cung cấp dịch vụ di động tại Việt Nam ngày càng tăng. Cùng với sự phát triển của 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 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 điện thoại di động đang là một yêu cầu tất yếu cho 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 như một mảnh đất màu mỡ và hứa hẹn đem lại nhiều tỉ đô la doanh thu

pdf234 trang | Chia sẻ: diunt88 | Lượt xem: 2222 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu Java Mobile và xây dựng ứng dụng minh họa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG MÁY TÍNH – VIỄN THÔNG ĐẶNG NGUYỄN KIM ANH – ĐÀO ANH TUẤN NGHIÊN CỨU JAVA MOBILE VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA KHÓA LUẬN CỬ NHÂN TIN HỌC TP.HCM, 2005 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG MÁY TÍNH – VIỄN THÔNG ĐẶNG NGUYỄN KIM ANH – 0112424 ĐÀO ANH TUẤN – 0112451 NGHIÊN CỨU JAVA MOBILE VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA KHÓA LUẬN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Thầy NGUYỄN MINH TUẤN NIÊN KHÓA 2001-2005 Lời Cảm Ơn! Sau hơn năm tháng tìm hiểu và thực hiện, luận văn “Nghiên cứu công nghệ Java Mobile và xây dựng ứng dụng minh hoạ” đã cơ bản hoàn thành. Để đạt được kết quả này, chúng tôi đã nỗ lực hết sức đồng thời cũng nhận được rất nhiều sự quan tâm, giúp đỡ, ủng hộ của các thầy cô, bạn bè và gia đình. Trước hết, chúng em xin gởi lời cảm ơn chân thành đến Bộ môn Mạng máy tính và Viễn thông, Khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên và các thầy cô đặc biệt là Thầy Nguyễn Minh Tuấn đã tận tình giúp đỡ, hướng dẫn chúng em hoàn thành luận văn này. Chúng tôi rất cảm ơn các bạn bè trong khoa, các anh chị, các bạn trong cộng đồng Java Việt Nam đã bên cạnh ủng hộ, đóng góp ý kiến cho chúng tôi trong quá trình thực hiện luận văn. Và chúng con cũng xin chân thành cảm ơn gia đình đã luôn động viên, tạo điều kiện tốt nhất cho chúng con học tập và hoàn tất luận văn. Luận văn đã hoàn thành với một số kết quả nhất định, tuy nhiên vẫn không tránh khỏi sai sót. Kính mong sự cảm thông và đóng góp ý kiến từ các thầy cô và các bạn. Thành phố Hồ Chí Minh, tháng 7 năm 2005 Đặng Nguyễn Kim Anh - Đào Anh Tuấn MỤC LỤC Lời Nói Đầu...................................................................................................... 1 Phần 1: Kiến thức nền tảng J2ME ................................................................ 5 Chương 1: Tổng quan về J2ME.................................................................... 5 1.1 Giới thiệu J2ME (Java 2 Micro Edition).......................................................5 1.2 Lý do chúng ta cần J2ME..............................................................................6 1.3 Các thành phần của J2ME:............................................................................7 1.3.1 Configuration:.............................................................................................7 1.3.2 Profile: ........................................................................................................9 1.3.3 Máy ảo Java..............................................................................................10 Chương 2: Giới thiệu CLDC và MIDP ...................................................... 13 2.1. CLDC ..........................................................................................................13 2.1.1. Yêu cầu phần cứng: ..................................................................................13 2.1.2. Yêu cầu phần mềm: ..................................................................................13 2.1.3. Máy ảo Java:.............................................................................................13 2.2. MIDP:..........................................................................................................16 2.2.1. Yêu cầu phần cứng: ..................................................................................16 2.2.2. Yêu cầu phần mềm: ..................................................................................16 2.2.3. Cấu trúc MID Profile:...............................................................................16 2.2.4. MIDlet Suite: ............................................................................................18 2.2.5. Môi trường phát triển ứng dụng J2ME.....................................................22 Chương 3: Các vấn đề cơ bản của chương trình MIDlet ......................... 25 3.1. Cấu trúc cơ bản: ..........................................................................................25 3.2. Xây dựng một ứng dụng MIDlet:................................................................25 3.3. Lớp MIDlet: ................................................................................................26 3.4. Lớp MIDletStateChangeException: ............................................................28 3.5. Display.........................................................................................................28 3.6. Lớp Displayable: .........................................................................................30 3.7. Quản lý các sự kiện (event).........................................................................32 3.7.1. Command & CommandListener...............................................................33 3.7.2. Item và ItemStateListener.........................................................................38 Chương 4: Giao diện đồ họa cấp cao.......................................................... 40 4.1. Screen: .........................................................................................................42 4.2. Form: ...........................................................................................................43 4.3. Item:.............................................................................................................45 4.3.1. DateField: .................................................................................................46 4.3.2. Gauge:.......................................................................................................48 4.3.3. String Item:...............................................................................................51 4.3.4. TextField: .................................................................................................53 4.3.5. ChoiceGroup: ...........................................................................................57 4.3.6. Image và ImageItem: ................................................................................61 4.4. List:..............................................................................................................64 4.5. TextBox:......................................................................................................69 4.6. Alert và AlertType: .....................................................................................72 4.6.1. Alert: .........................................................................................................72 4.6.2. AlertType:.................................................................................................74 4.7. Ticker: .........................................................................................................77 Chương 5: Giao diện đồ họa cấp thấp........................................................ 78 5.1. Canvas: ........................................................................................................78 5.1.1. Hệ toạ độ:..................................................................................................79 5.1.2. Vẽ trên đối tượng Canvas:........................................................................79 5.1.3. Bắt sự kiện trong các đối tượng Canvas:..................................................82 5.1.4. Game action:.............................................................................................85 5.1.5. Sự kiện con trỏ:.........................................................................................87 5.2. Graphics: .....................................................................................................89 5.2.1. Màu sắc:....................................................................................................90 5.2.2. Nét vẽ:.......................................................................................................93 5.2.3. Font chữ:...................................................................................................98 5.2.4. Vẽ các đối tượng hình ảnh (image): .......................................................101 5.2.5. Các phương thức tịnh tiến đối tượng:.....................................................103 5.2.6. Vùng xén (Clipping regions):.................................................................105 Chương 6: Lưu trữ thông tin với RMS.................................................... 106 6.1. Giới thiệu RMS .........................................................................................106 6.2. Duyệt danh sách Record với RecordEnumeration ....................................115 6.3. Sắp xếp bằng RecordComparator..............................................................117 6.4. Lọc record với RecordFilter ......................................................................119 6.5. Nhận thông điệp khi Record Store thay đổi ..............................................121 6.6. Xử lý lỗi khi thao tác với Record Store.....................................................122 Chương 7: Kết nối mạng với Generic Connection Framework (GCF) 124 7.1. Giới thiệu GFC..........................................................................................124 7.2. Lược đồ lớp ...............................................................................................124 7.3. Kết nối HTTP:...........................................................................................127 7.3.1. Khởi tạo kết nối: .....................................................................................127 7.3.2. Các đặc điểm của kết nối HTTP bằng J2ME: ........................................130 7.3.3. Thông số kết nối: ....................................................................................137 7.4. Kết nối socket Datagram (UDP) ...............................................................138 7.5. Kết nối TCP socket ...................................................................................141 7.6. Gửi và nhận SMS ......................................................................................144 Phần 2 : Web Service và Ứng dụng "Đăng Ký Học Phần" .................... 149 Chương 8: Giới thiệu Web Service........................................................... 149 8.1. Ứng dụng phân tán (Distributed Application) ..........................................149 8.1.1. Giới thiệu................................................................................................149 8.1.2. Các vấn đề nảy sinh trong hệ thống ứng dụng phân tán.........................150 8.1.3. Hạn chế của những mô hình ứng dụng phân tán trước đây....................151 8.2. Web Service ..............................................................................................152 8.2.1. Định nghĩa ..............................................................................................152 8.2.2. Thành phần cơ bản của Web service:.....................................................152 8.2.3. Hoạt động của Web service....................................................................152 8.2.4. Ưu điểm của web service .......................................................................155 8.3. Các thành phần chính của Web Service ....................................................157 8.3.1. SOAP (Simple Object Access Protocol) ................................................157 8.3.2. WSDL (Web Service Definition Language) ..........................................162 Chương 9: Ứng dụng đăng ký học phần.................................................. 172 9.1 Đặc tả chương trình:..................................................................................172 9.1.1 Tổng quan:..............................................................................................172 9.1.2 Các chức năng chính: .............................................................................172 9.2 Kiến trúc chương trình: .............................................................................174 9.2.1 Mô hình kết nối: .....................................................................................174 9.2.2 Mô hình bảo mật (mã hoá password): ....................................................176 9.3 Phân tích - thiết kế:....................................................................................177 9.3.1 Mô hình use case: ...................................................................................177 9.3.2 Đặc tả một số use case chính:.................................................................178 9.4 Thiết kế mô hình dữ liệu: ..........................................................................183 9.4.1 Mô hình thực thể kết hợp: ......................................................................183 9.4.2 Các bảng dữ liệu:....................................................................................183 9.4.3 Chi tiết các bảng dữ liệu:........................................................................184 9.4.4 Ràng buộc dữ liệu:..................................................................................188 9.4.5 Mô hình dữ liệu: .....................................................................................190 9.4.6 Các chức năng store procedures: ............................................................190 9.4.7 Thiết kế lớp:............................................................................................191 9.5 Cài đặt - thử nghiệm:.................................................................................192 9.5.1 Yêu cầu phần cứng: ................................................................................192 9.5.2 Yêu cầu phần mềm: ................................................................................193 9.5.3 Giao diện chương trình:..........................................................................193 Chương 10: Tổng kết ............................................................................... 205 10.1 Kết luận: ....................................................................................................205 10.2 Hướng phát triển: ......................................................................................207 Tài liệu tham khảo ...................................................................................... 210 Phụ Lục A: Hướng dẫn sử dụng công cụ Sun Wireless ToolKit 2.3 ...... 211 Phụ Lục B: Xây dựng và Sử dụng Web Service....................................... 217 Phụ Lục C: Giới thiệu các thư viện JSR ................................................... 222 Danh Sách Các Hình Hình 1.1 Các thiết bị J2ME hỗ trợ ..............................................................................6 Hình 1.2 Các thành phần của J2ME............................................................................7 Hình 1.3 Configurations và các thiết bị ......................................................................9 Hình 1.4 Cấu trúc chương trình J2ME......................................................................11 Hình 1.5 Cấu trúc chương trình MIDP .....................................................................11 Hình 2.1 Cấu trúc thiết bị MID .................................................................................17 Hình 3.1 Command Exit ...........................................................................................34 Hình 3.2 Command Label .........................................................................................36 Hình 3.3 Ánh xạ soft-button......................................................................................36 Hình 4.1 Sơ đồ các lớp giao diện đồ hoạ ..................................................................40 Hình 4.2 Giao diện đối tượng DateField...................................................................46 Hình 4.3 Giao diện đối tượng Gauge chế độ tương tác ............................................48 Hình 4.4 Giao diện đối tượng Gauge chế độ không tương tác .................................49 Hình 4.5 Giao diện đối tượng StringItem .................................................................52 Hình 4.6 Giao diện đối tượng TextField ...................................................................56 Hình 4.7 Giao diện đối tượng ChoiceGroup chế độ một lựa chọn ...........................59 Hình 4.8 Giao diện đối tượng ChoiceGroup chế độ nhiều lựa chọn.........................60 Hình 4.9 Giao diện đối tượng List dạng menu..........................................................67 Hình 4.10 Giao diện đối tượng List cho phép chọn nhiều lựa chọn .........................68 Hình 4.11 Giao diện đối tượng TextBox...................................................................71 Hình 4.12 Giao diện đối tượng Alert ........................................................................76 Hình 4.13 Giao diện Ticker.......................................................................................77 Hình 5.1 Các phương thức vẽ đường cong ...............................................................94 Hình 5.2 Các phương thức vẽ hình chữ nhật ............................................................95 Hình 5.3 Các phương thức hỗ trợ vẽ Text ................................................................97 Hình 5.4 Các định dạng trong Text Graphic.............................................................97 Hình 5.5 Các phương thức tạo font.........................................................................100 Hình 5.6 Vẽ bằng đối tượng Immutable Image ......................................................101 Hình 5.7 Vẽ bằng đối tượng Mutable Image ..........................................................102 Hình 5.8 Các định dạng vị trí trong Graphics .........................................................103 Hình 7.1 Lược đồ các lớp trong thư viện GCF .......................................................125 Hình 7.2 Kết nối UDP.............................................................................................138 Hình 7.3 Kết Nối TCP.............................................................................................141 Hình 7.4 Lược đồ lớp thư viện WMA.....................................................................145 Hình 8.1 Hoạt động của Web Service.....................................................................152 Hình 8.2 Một client truy xuất đến nhiều web services cùng lúc.............................154 Hình 8.3 Một web service có thể triệu tập đến các web services khác...................155 Hình 8.4 Web Service Endpoint..............................................................................162 Hình 9.1 Kiến trúc chương trình ứng dụng.............................................................174 Hình 9.2 Mô hình mã hoá password .......................................................................176 Hình 9.3 Lược đồ use case ......................................................................................177 Hình 9.4 Mô hình thực thể kết hợp ER...................................................................183 Hình 9.5 Ràng buộc chu trình .................................................................................189 Hình 9.6 Mô hình cơ sở dữ liệu ..............................................................................190 Hình 9.7 Mô hình Lớp.............................................................................................192 Hình 9.8 Sơ đồ các màn hình ..................................................................................194 Hình 9.9 Màn hình welcome...................................................................................195 H