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
234 trang |
Chia sẻ: diunt88 | Lượt xem: 2327 | Lượt tải: 3
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