Khóa luậ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 những 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 hoá 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 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 như một mảnh đất màu mỡ và hứa hẹn

đem lại nhiều tỉ đô la doanh thu.

Hai hướng phát triển ứng dụng trên điện thoại di động phổ biến hiện nay là

sử dụng ngôn ngữ C++ trên nền hệ điều hành Symbian và J2ME. Các ứng dụng viết

trên nền Symbian có các ưu thế truy cập trực tiếp các tài nguyên của điện thoại cũng

như hỗ trợ hệ thống tập tin, thư mục… như máy tính cá nhân vì được hỗ trợ trực

tiếp bởi hệ điều hành. Tuy nhiên hệ điều hành Symbian lại có kích thước khá lớn

nên chỉ có ở các thế hệ điện thoại tương đối cao cấp, và xây dựng ứng dụng dùng

Symbian API cũng phức tạp hơn.

Đối trọng với Symbian API là công nghệJ2ME với 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 điện

thoại có hệ điều hành Symbian. 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à ngôn ngữchính đểlập trình trên các thiết bịgia dụng, thẻ

tín dụng điện tửvà các thiết bị thông minh khác. Chúng ta có thể nói đối tượng của

ngôn ngữ J2ME là rộng hơn rất nhiều so với C++ trên nền Symbian. Tại thời điểm

hiện tại, ngôn ngữ J2ME không hỗ trợ được nhiều tính năng như C++ trên Symbian

nhưng lại có những ưu điểm trội hơn.

pdf234 trang | Chia sẻ: zimbreakhd07 | Lượt xem: 1911 | Lượt tải: 1download
Bạn đang xem trước 20 trang nội dung tài liệu Khóa luậ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
SV ne t.vn 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 SV ne t.vn 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 SV ne t.vn 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 SV ne t.vn 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 SV ne t.vn 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 SV ne t.vn 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 SV ne t.vn 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 SV ne t.vn 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ình 9.10 Màn hình đăng nhập...............................................................................196 Hình 9.11 Confirm ..................................................................................................197 Hình 9.12 Menu chức năng.....................................................................................198 Hình 9.13 Màn hình đăng ký học phần lý thuyết....................................................199 Hình 9.14 Màn hình đăng ký học phần thực hành ..................................................200 Hình 9.15 Màn hình xem thời khoá biểu ................................................................201 Hình 9.16 Màn hình xem kết quả học tập ...............................................................202 Hình 9.17 Màn hình xem phiếu đăng ký.................................................................203 Hình 9.18 Màn hình xem thời khoá biểu ................................................................204 Hình 10.1 Hướng phát triển thực tế ........................................................................207 Hình A.1 Công cụ Sun WirelessToolkit 2.3 ...........................................................211 Hình A.2 Màn hình chính của công cụ ...................................................................212 Hình A.3 Tạo project mới .......................................................................................212 Hình A.4 Các options cho project ...........................................................................213 Hình A.5 Chỉnh sửa nội dung file Jad và Jar ..........................................................214 Hình A.6 Biên dich project .....................................................................................215 Hình A.7 Đóng gói ứng dụng..................................................................................216 Hình B.1 Tạo project Web Service .........................................................................217 Hình B.2 Khai báo lớp và hàm................................................................................218 Hình B.3 Export nhiều hàm cùng lúc......................................................................219 Hình B.4 Màn hình thực thi Web Service của IE ...................................................219 Hình B.5 File WSDL...............................................................................................220 Hình B.6 Công cụ Stub Generator ..........................................................................221 Hình B.7 Các options của công cụ Stub Generator.................................................221 SV ne t.vn Danh Sách Các Bảng Bảng 2.1 Cấu trúc file manifest.................................................................................19 Bảng 2.2 Cấu trúc file JAD.......................................................................................20 Bảng 3.1 Lớp MIDlet ................................................................................................27 Bảng 3.2 Lớp Display ...............................................................................................29 Bảng 3.3 Lớp Displayable.........................................................................................32 Bảng 3.4 Các Command Type ..................................................................................37 Bảng 3.5 Command và CommandListener ...............................................................38 Bảng 3.6 Item và ItemStateListener..........................................................................39 Bảng 4.1 Lớp Screen.................................................................................................42 Bảng 4.2 Lớp Form ...................................................................................................44 Bảng 4.3 Lớp Item ....................................................................................................45 Bảng 4.4 Lớp DateField ............................................................................................46 Bảng 4.5 Lớp Gauge .................................................................................................49 Bảng 4.6 Lớp StringItem...........................................................................................51 Bảng 4.7 Các Ràng Buộc của TextField ...................................................................53 Bảng 4.8 Lớp TextField ............................................................................................55 Bảng 4.9 Lớp ChoiceGroup ......................................................................................58 Bảng 4.10 Lớp Image................................................................................................62 Bảng 4.11 Định dạng ImageItem ..........................................................

Các file đính kèm theo tài liệu này:

  • pdf[LVIT009] - Nghiên cứu JAVA MOBILE va XD ứng dụng minh họa.pdf