Khóa luận Xây dựng bản đồ trên điện thoại di động có hỗ trợ Java
MỤC LỤC
Trang
Lời cảm ơn .i
Lời nói đầu .ii
Mục lục.v
Danh mục hình .vii
Danh mục bảng .x
Chương 1 : TỔNG QUAN VỀLẬP TRÌNH TRÊN ĐIỆN THOẠI DI ĐỘNG .1
1.1. Đôi nét vềthịtrường điện thoại di động Việt Nam .1
1.1.1. Sựphát triển của thịtrường thông tin di động .1
1.1.2. Nhu cầu phát triển phần mềm cho điện thoại di động .2
1.2. Lập trình trên điện thoại di động.4
1.2.1. Quá trình phát triển ứng dụng J2ME .4
1.2.2. Các J2ME IDE .5
1.3. Giới thiệu một sốcông cụhỗtrợlập trình J2ME .6
1.3.1. J2ME Wireless Toolkit (WTK).6
1.3.2. Borland JBuiler .9
1.3.3. Sun ONE Studio 5, Mobile Edition .16
Chương 2 : GIỚI THIỆU KHÁI QUÁT VỀCHUẨN J2ME .23
2.1. Nền tảng Java .23
2.2. Sựkhác nhau giữa ngôn ngữJava trên CLDC với Java thông thường.29
2.3. MIDP.32
2.3.1. Định nghĩa.32
2.3.2. Yêu cầu vềphần cứng .32
2.3.3. Các khảnăng và hạn chếcủa MIDP .33
Chương 3 : NHỮNG KHÓ KHĂN DO HẠN CHẾCỦA J2ME .36
3.1. Các hàm tô màu.36
3.2. Các hàm vẽ đường.37
3.3. Vấn đềfont chữ.38
3.4. Vấn đềvẽchuỗi ký tự.39
3.5. Vấn đềvềsốthực.40
Chương 4 : PHÂN TÍCH – THIẾT KẾ ỨNG DỤNG .42
4.1. Khảo sát hiện trạng.42
4.2. Phân tích và xác định yêu cầu .43
4.2.1. Danh sách các yêu cầu nghiệp vụ.43
4.2.2. Các yêu cầu phi chức năng .43
4.3. Thiết kế ứng dụng .44
4.3.1. Lược đồsửdụng .44
4.3.2. Đặc tảUse Case .45
4.3.3. Sơ đồlớp mức phân tích .57
4.3.4. Các biểu đồhoạt động.64
4.3.4. Sơ đồlớp mức thiết kế.70
vi
Chương 5 : MỘT SỐCẢI TIẾN NHẰM TỐI ƯU HÓA CHƯƠNG TRÌNH.95
5.1. Nội dung và ý nghĩa của việc tối ưu hóa.95
5.2. Tối ưu hóa kích thước chương trình .95
5.2.1. Các nguyên tắc tối ưu kích thước trong thiết kếchương trình .95
5.2.2. Tối ưu kích thước chương trình khi đóng gói.99
5.3. Tối ưu hóa vềtốc độ.104
5.3.1. Khái quát chung .104
5.3.2. Tìm các vịtrí cần tối ưu vềtốc độ.104
5.3.3. Các nguyên tắc tăng tốc cho chương trình.106
5.4. Tối ưu hóa việc sửdụng bộnhớ.110
5.4.1. Công cụtheo dõi việc sửdụng bộnhớ.110
5.4.2. Các nguyên tắc tối ưu hóa việc sửdụng bộnhớ.111
Chương 6 : THỬNGHIỆM – HƯỚNG DẪN CÀI ĐẶT VÀ SỬDỤNG .114
6.1. Cài đặt chương trình trên máy ảo.114
6.1.1. Trình giảlập Sony Ericsson .114
6.1.2. Trình giảlập Nokia .115
6.1.3. Trình giảlập Siemens .117
6.1.4. Trình giảlập Samsung .120
6.1.5. Trình giảlập chuẩn (Sun Microsystems) .121
6.2. Vấn đềhỗtrợtiếng Việt có dấu .123
6.2.1. Hiển thịtiếng Việt trên máy ảo.123
6.2.2. Hiển thịtiếng Việt trên thiết bịthật .123
6.3. Hướng dẫn sửdụng chương trình .124
6.3.1. Chức năng duyệt bản đồ.124
6.3.2. Chức năng tra cứu địa điểm, tên đường .124
6.3.3. Chức năng tìm đường đi ngắn nhất giữa hai điểm.128
6.3.4. Chức năng trợgiúp, hướng dẫn sửdụng.131
Chương 7 : TỔNG KẾT – ĐÁNH GIÁ.133
7.1. Ưu điểm.133
7.2. Khuyết điểm.133
7.3. Hướng mởrộng .134
Phụlục A : CÁC THUẬT NGỮ ĐƯỢC SỬDỤNG .135
Phụlục B : GIỚI THIỆU CÁC CHƯƠNG TRÌNH GIẢLẬP.138
B.1. JDK.138
B.2. Công cụphát triển của hãng thứba.138
B.3. Trình giảlập các loại điện thoại di động .139
B.3.1. Siemens.139
B.3.2. Sony Ericsson .140
B.3.3. Samsung .142
B.3.4. Nokia .145
Tài liệu tham khảo.147
ặt chức năng so sánh cho 2 dòng dữ liệu được lưu trong MIDP RMS. record filter : một lớp được định nghĩa bởi MIDP để cài đặt chức năng tìm kiếm dữ liệu được lưu trong MIDP RMS theo một vài tiêu chuẩn nào đó. Bộ lọc chỉ trả ra các dòng dữ liệu phù hợp với điều kiện được đưa vào. Record Management System (RMS) : một cơ chế lưu trữ dữ liệu đơn giản dành cho ứng dụng. Cơ chế này hỗ trợ lưu trữ theo nhiều bảng, mỗi bảng có thể chứa nhiều dòng dữ liệu. short message service (SMS) : một dịch vụ mạng không dây hỗ trợ việc chuyển tải các thông điệp thuần văn bản giữa các thiết bị di động. UTF-8 : một chuẩn quốc tế về mã hóa các ký tự. Widget : tiếng lóng trong ngành kỹ thuật máy tính, dùng để chỉ một vài loại thành phần phần mềm, thường dùng để chỉ các thành phần giao diện. Wireless Application Protocol (WAP) : giao thức được dùng trong hệ thống Internet không dây thế hệ thứ nhất. wireless Internet : sự kết hợp của cơ sở hạ tầng mạng không dây và giao diện của nó với Internet, sự kết hợp này tạo ra một môi trường cho phép các thiết bị di động truy cập vào Internet. Wireless Markup Language (WML) : ngôn ngữ đánh dấu dùng trong hệ thống Internet thế hệ thứ nhất, được dùng để định dạng các trang web cho thiết bị di động. Phụ lục B : Giới thiệu các chương trình giả lập 138 Phụ lục B : GIỚI THIỆU CÁC CHƯƠNG TRÌNH GIẢ LẬP Để phát triển ứng dụng với J2ME, chúng ta có thể cần các tài nguyên sau đây : B.1. JDK : Chúng ta có thể download phiên bản mới nhất của JDK trên trang web Java của Sun. Ví dụ ở đây là phiên bản 1.4.2 : Trang download có giao diện như sau : Hình B-1 : Màn hình download JDK 1.4 B.2. Công cụ phát triển của hãng thứ ba : Với các thư viện mà Sun đã cung cấp, không cần thêm công cụ nào hỗ trợ, chúng ta cũng có thể phát triển được ứng dụng J2ME, tuy nhiên, công việc này lại khá vất vả và gần như chắc chắn là chúng ta sẽ không làm được gì nhiều. Một môi trường phát triển tích hợp (Integrated Development Enviroment - IDE) là một phần mềm đóng gói bên trong nó rất nhiều công cụ phát triển khác. Chúng thường bao gồm một trình soạn thảo mã nguồn (source code editor), trình Phụ lục B : Giới thiệu các chương trình giả lập 139 biên dịch, bộ gỡ rối (debugger), và các tiện ích khác. Các công cụ sẽ được sử dụng với nhau trong quá trình phát triển. Chính nhờ các công cụ này mà công việc phát triển phần mềm nhanh hơn, hiệu quả hơn và dễ dàng khử lỗi hơn. B.3. Trình giả lập cho các loại điện thoại di động : B.3.1. Siemens : Bộ công cụ phát triển phần mềm cho điện thoại di động Siemens SMTK bao gồm hai phần chính : • SMTK Core Pack : gói chính • Các Emulator Pack Khi cài đặt hai gói này, chúng ta sẽ có được một công cụ hỗ trợ cho việc phát triển phần mềm J2ME, công cụ này có các chức năng sau : • Launcher : chạy bộ giả lập. • Emulator : dùng để kiểm thử các MIDlet. • Manager : cấu hình SMTK và quản lý việc tích hợp với các IDE khác. • Công cụ preverify.exe : kiểm tra các lớp Java trên PC. • Tài liệu về Siemens API : tài liệu về các lớp Java đã được viết bởi Siemens và được cung cấp kèm theo SMTK. • Mã nguồn của các ví dụ. Yêu cầu phần cứng : Cấu hình tối thiểu : Intel® Pentium® 166MHz 256 MB RAM Sound card (để giả lập âm thanh) Đĩa cứng có kích thước tối thiểu 230 MB o 40 MB (cài đặt SMTK Core) o 70 MB (cài đặt J2SE™ SDK) o 120 MB (cài đặt J2SE™ SDK) Phụ lục B : Giới thiệu các chương trình giả lập 140 Mỗi Emulator Pack cũng cần thêm không gian đĩa cứng, kích thước thay đổi tùy theo từng loại. Yêu cầu phần mềm : Windows™ NT 4.0, Windows™ 2000, Windows™ XP. DirectX 9.0b hay mới hơn. Sun Java Standard Edition (J2SE) SDK, phiên bản 1.4 hay mới hơn. Siemens SK 65 Siemens SL 65 Hình B-2: Trình giả lập Siemens B.3.2. Sony Ericson : Bộ phần mềm dùng để phát triển ứng dụng cho điện thoại Sony Ericsson, Sony Ericsson Java MIDP Software Developer's Kit có các công cụ sau : Phụ lục B : Giới thiệu các chương trình giả lập 141 Công cụ hỗ trợ gỡ rối trên thiết bị, hỗ trợ gỡ rối ở mức mã nguồn khi sử dụng một Java IDE, trình giả lập cho các loại điện thoại : K750, K600, K300, J300, Z800, V800, S700/S710, Z500, K700, Z1010, K500, K508, F500i, P900, P910, Z600/Z608, T630-T628, T637 và T610 Series. Một công cụ tương tự với Sun Microsystems' Java 2 Micro Edition Wireless Toolkit (J2ME Wireless Toolkit) cũng được tích hợp một trình số giả lập các điện thoại F500i, J300, K300, K500, K600, K700, K750, S700, V800, Z1010, Z500 và Z800. Tài liệu về các lớp và phương thức của MIDP 2.0, MIDP 1.0 và CLDC 1.1 Yêu cầu về hệ thống : Hệ điều hành : - Microsoft Windows 2000/XP Phần cứng và bộ nhớ : - Ổ cứng còn trống tối thiểu 110 MB. - RAM 256 MB. - CPU 500 MHz. Yêu cầu phần mềm : - Java 2 SDK, Standard Edition (JDK) 1.4.1 hay mới hơn (JDK 1.4.2 ). - DirectX 8.1 hay mới hơn. Các IDE tích hợp (không bắt buộc) Sony Ericsson J2ME SDK có thể được tích hợp với các môi trường phát triển khác. Do hỗ trợ UEI nên bộ SDK này được tích hợp với bất kỳ Java IDE nào có hỗ trợ UEI. Sony Ericsson J2ME SDK đã được kiểm tra với các IDE sau : Sun ONE Studio, Mobile Edition Borland JBuilder NetBeans 4.0 Phụ lục B : Giới thiệu các chương trình giả lập 142 Sony Ericsson K750 Sony Ericsson P900 Hình B-3 : Trình giả lập Sony Ericsson B.3.3. Samsung : SAMSUNG JaUmi Wireless Toolkit cung cấp một môi trường phát triển và trình giả lập cho các loại điện thoại của Samsung, trình giả lập này hỗ trợ đầy đủ các đặc tính mới nhất của of MIDP 2.0 (JSR-118), Wireless Messaging APIs (JSR- 120) và Mobile Media APIs (JSR-135). Các API được SAMSUNG JaUmi Wireless Toolkit hỗ trợ : Wireless Messaging API : SAMSUNG JaUmi Wireless Toolkit hỗ trợ các chức năng được cung cấp bởi Wireless Messaging API (WMA). Với chức năng này chúng ta có thể phát triển và chạy các ứng dụng có sử dụng Short Message Service (SMS) hay Cell Broadcast Service (CBS). Phụ lục B : Giới thiệu các chương trình giả lập 143 Mobile Media API : SAMSUNG JaUmi Wireless Toolkit hỗ trợ các chức năng multimedia được cung cấp bởi Mobile Media API (MMAPI). Mobile Media API mở rộng chức năng của nền J2ME bằng cách cung cấp hỗ trợ cho việc chơi các tập tin âm thanh, hình ảnh cho thiết bị. Samsung API : SAMSUNG JaUmi Wireless Toolkit cũng hỗ trợ Samsung API, gói (com.samsung.util). Samsung API cung cấp các chức năng điều khiển âm thanh, đèn LCD, rung và SMS. Security Utilities : Chúng ta có thể xác nhận một MIDlet suite bằng chức năng Signing MIDlet Suite. Công cụ GUI trợ giúp cho việc xác nhận một MIDlet. Ngoài việc xác nhận, chúng ta có thể tạo ra một cặp khóa, thêm vào một cặp khóa hay xóa đi một cặp khóa. Giao thức mạng : MIDP 2.0 hỗ trợ nhiều giao thức mạng. Ngoài HTTP và HTTPS, chúng ta có thể giám sát các gói dữ liệu (datagram), socket, các thông điệp bằng secure socket layer (SSL). Bộ phần mềm dùng để phát triển ứng dụng cho điện thoại Samsung, SAMSUNG JaUmi Wireless Toolkit có các đặc điểm sau : Trình giả lập cho các loại điện thoại : D410, E100, E710, P400, P705, X100. Một công cụ tương tự với Sun Microsystems' Java 2 Micro Edition Wireless Toolkit (J2ME Wireless Toolkit) cũng được tích hợp một trình số giả lập các điện thoại F500i, J300, K300, K500, K600, K700, K750, S700, V800, Z1010, Z500 and Z800. Tài liệu về các lớp và phương thức của MIDP 2.0, 1.0 và CLDC 1.1. Yêu cầu hệ thống : Phần mềm : o Microsoft Windows 2000 o JavaTM 2 SDK, Standard Edition (J2SE SDK), 1.4 hay mới hơn, JavaTM 2, Standard Edition Runtime Environment (JRE), 1.4 hay mới hơn. Phụ lục B : Giới thiệu các chương trình giả lập 144 Để download SDK hay JRE, truy cập vào trang Phần cứng : Yêu cầu tối thiểu : o 50 MB hard disk o 64 MB system RAM o 166 MHz CPU Các thành phần tùy chọn : o Card âm thanh tương thích SoundBlaster cho Windows. o Màn hình với độ sâu màu tối thiểu 16 bits. Samsung E100 Samsung E710 Hình B-4 : Trình giả lập Samsung Phụ lục B : Giới thiệu các chương trình giả lập 145 B.3.4. Nokia : Nokia Developer’s Suite 2.2 hỗ trợ các lập trình viên tạo ra các ứng dụng trên nền MIDP 1.0, MIDP 2.0, CLDC 1.0 và 1.1. Phần mềm này có các công cụ hỗ trợ trong việc tạo ra các lớp MIDlet, tạo và xác nhận các gói ứng dụng (MIDlet Suite), giả lập và cài đặt ứng dụng. Phiên bản cài đặt độc lập của Nokia Developer’s Suite 2.2 không bao gồm các công cụ dùng cho việc soạn thảo, biên dịch và gỡ lỗi phần mềm. Để có những công cụ này, chúng ta phải dùng những IDE dành cho Java và tích hợp Nokia Developer’s Suite với các IDE như JBuilder®, Sun™ ONE Studio hay Eclipse. Yêu cầu cơ bản : Microsoft Windows 2000 (SP 3) hay Microsoft Windows XP (SP 1a). Java™ 2 SDK, Standard Edition 1.4.1 hay mới hơn Tập tin msxml4.dll và msxml4r.dll trong thư mục system của Windows. Kết nối Internet cho việc đăng ký sử dụng. Yêu cầu phần cứng : Bộ xử lý Pentium 300MHz hay nhanh hơn. RAM tối thiểu là 256 MB. Đĩa cứng còn trống tối thiểu 210 MB. Phụ lục B : Giới thiệu các chương trình giả lập 146 Hình B-5 : Nokia Developer’s Suite 2.2 Hình B-6 : Trình giả lập của Nokia Developer’s Suite 2.2 147 TÀI LIỆU THAM KHẢO 1. Hoàng Kiếm (chủ biên) – Dương Anh Đức – Lê Đình Duy – Vũ Hải Quân, Cơ sở đồ họa máy tính, 2001 2. Trương Mỹ Dung, Bài giảng Lý thuyết đồ thị, Đại học Khoa học Tự nhiên TP.HCM, 2002 3. Lê Thụy Anh, chương trình AGDotNet-Desktop 4. Roger Riggs - Antero Taivalsaari - Jim Van Peursem, Programming Wireless Devices with the Java™ 2 Platform Micro Edition - Second Edition, Addison Wesley, 2003 5. John W Muchow, Core J2ME™ Technology & MIDP, Prentice Hall PTR, 2001 6. Kim Topley, J2ME in a nutshell, O’Reilly, 2002 7. Sun Microsystems Inc, 8. Sun Developer Network, 9. Sony Ericsson, 10. Nokia, 11. Siemens,
File đính kèm:
- Khóa luận Xây dựng bản đồ trên điện thoại di động có hỗ trợ Java.pdf