1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng bản đồ trên điện thoại di động có hỗ trợ java

164 853 6
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 164
Dung lượng 2,51 MB

Nội dung

Tài liệu tham khảo công nghệ thông tin Xây dựng bản đồ trên điện thoại di động có hỗ trợ java

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

NGUYỄN NGỌC DUY QUANG – VŨ BÁ QUANG

XÂY DỰNG BẢN ĐỒ TRÊN ĐIỆN THOẠI

DI ĐỘNG CÓ HỖ TRỢ JAVA

KHOÁ LUẬN CỬ NHÂN TIN HỌC

TP HCM, 2005

Trang 2

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN

KHOÁ LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

Thạc sĩ LÊ THỤY ANH

NIÊN KHÓA 2001-2005

Trang 3

HO CHI MINH CITY – MOBILE MAP

Version 1.0 / 07-2005

Trang 5

Nhận xét của giáo viên hướng dẫn

Trang 6

Nhận xét của giáo viên phản biện

Trang 7

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn Quý thầy cô trong Khoa Công nghệ Thông

tin Trường Đại học Khoa học Tự nhiên đã tận tình dạy bảo cho chúng em nhiều

kiến thức bổ ích trong suốt thời gian học tập tại trường cũng như đã tạo điều kiện

cho chúng em được thực hiện đề tài này Kính chúc các Thầy cô luôn dồi dào sức

khỏe và thành công trong cuộc sống

Đặc biệt, chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Lê Thụy Anh,

người đã tận tình hướng dẫn chúng em trong suốt thời gian thực hiện đề tài, cho

chúng em sự bình tĩnh và tự tin, giúp chúng em rút ra nhiều bài học kinh nghiệm

quý báu mỗi khi chúng em vấp phải những khó khăn Chúng em khó có thể hoàn

thành được đề tài này nếu không nhờ sự tận tình chỉ bảo của thầy

Chúng con cảm ơn cha mẹ và gia đình đã sinh ra và nuôi dạy chúng con

khôn lớn, luôn bên cạnh động viên và ủng hộ chúng con trên con đường mà chúng

con đã yêu thích và lựa chọn

Cảm ơn các bạn sinh viên CNTT khóa 2001 Các bạn đã giúp đỡ, động viên

và hỗ trợ chúng tôi rất nhiều cũng như đóng góp cho chúng tôi nhiều ý kiến quý

báu, qua đó, giúp chúng tôi hoàn thiện hơn cho đề tài

Mặc dù đã rất nỗ lực, cố gắng nhưng chắc hẳn đề tài vẫn còn nhiều thiếu sót

Chúng em rất mong nhận được nhiều sự góp ý phê bình của Quý thầy cô, của các

Trang 8

LỜI NÓI ĐẦU

Có thể nói rằng đề tài về bản đồ giao thông tại thành phố Hồ Chí Minh là một đề tài không mới Trong các năm qua, đã có nhiều khóa luận của các sinh viên ngành CNTT nghiên cứu về chủ đề này, trong đó, đáng chú ý nhất là các đề tài của sinh viên Khoa CNTT Trường ĐH Khoa học Tự nhiên TP.HCM Các đề tài này đa

số đều được thực hiện rất tốt, hỗ trợ cho người dùng rất nhiều chức năng như : xem bản đồ, tra cứu thông tin về các đường đi, các địa điểm, tra cứu các tuyến xe buýt… đặc biệt là chức năng xác định lộ trình để tìm đường đi ngắn nhất giữa hai địa điểm

và hầu hết các đề tài nói trên đều được thực hiện nhắm đến môi trường sử dụng là các máy tính để bàn hoặc Pocket PC

Trong thời điểm hiện nay, trên thế giới cũng như tại Việt Nam, thị trường cho điện thoại di động đang trở nên sôi động hơn bao giờ hết Một mặt, do thu nhập của người dân ngày càng được cải thiện cùng với nhu cầu trao đổi thông tin ngày càng tăng khiến cho nhu cầu sử dụng điện thoại di động cũng tăng theo Mặt khác, các nhà sản xuất điện thoại di động nắm bắt được nhu cầu của giới trẻ ưa chuộng những sản phẩm “high-tech” và cũng do yêu cầu cạnh tranh với nhau nên liên tục tung ra nhiều sản phẩm mới với nhiều tính năng, cấu hình ngày càng được nâng lên

và giá thành ngày càng giảm Chiếc điện thoại di động giờ đây không phải là một món hàng quá xa xỉ Nhờ đó, ngày càng có nhiều người sở hữu được phương tiện trao đổi thông tin hữu ích này

Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh mẽ của xu hướng lập trình phần mềm ứng dụng cho các thiết bị này Phần mềm cho các điện thoại di động hiện nay rất đa dạng mà đa số là các trò chơi, các chương trình tiện ích như xử lý ảnh chụp, đổi đơn vị đo lường, từ điển, soạn thảo văn bản, diệt virus…

Tuy vậy, một ứng dụng về bản đồ giao thông, mà cụ thể là bản đồ thành phố

Hồ Chí Minh dành cho điện thoại di động với các tính năng đã trình bày ở trên thì gần như chưa có Có thể nói là “gần như chưa có” bởi vì trước đây, trên một số tạp chí, diễn đàn tin học cũng có giới thiệu một phần mềm bản đồ thành phố Hồ Chí

Trang 9

Minh, tuy nhiên, phần mềm này cũng chỉ thực hiện được một chức năng là hiển thị bản đồ Tuy thế, chức năng này cũng chưa thật tốt do chỉ lưu được ảnh tĩnh của bản

đồ vào tập tài nguyên, vì vậy, không thể phóng to hay thu nhỏ bản đồ, và cũng vì thế làm cho chương trình có kích thước lớn, tốc độ chậm, không thích hợp cho các điện thoại có cấu hình trung bình hiện đang được dùng rất phổ biến tại thị trường Việt Nam

Với những lý do trên, nhóm chúng em chọn thực hiện đề tài “Xây dựng bản

đồ trên điện thoại di động hỗ trợ Java” Mục tiêu của đề tài nhằm xây dựng một phần mềm ứng dụng bản đồ giao thông TP Hồ Chí Minh bằng ngôn ngữ lập trình Java, có thể thực thi được trên nhiều loại điện thoại di động khác nhau Nhờ vào phần mềm này, người sử dụng có thể xem bản đồ, tra cứu tên đường, tên các địa điểm, các công trình công cộng như chợ, trường học, bệnh viện, khách sạn…, đặc biệt là trợ giúp người sử dụng xác định lộ trình ngắn nhất để đi từ địa điểm này đến một địa điểm khác… Phần mềm này nếu được thực hiện tốt sẽ trở thành một ứng dụng rất hữu ích, rất thiết thực và tiện dụng đối với nhiều người, đặc biệt là các bạn trẻ và những người bận rộn trong việc đi lại

Nói đến lập trình cho điện thoại di động, chúng ta đều hình dung được hai trở ngại lớn Thứ nhất, đó là năng lực của bộ vi xử lý trên điện thoại rất yếu và thứ hai, đó là dung lượng của bộ nhớ rất nhỏ Điều này gây trở ngại không nhỏ đến việc

tổ chức dữ liệu cho phần mềm, bởi lẽ, dữ liệu về các đường giao thông tại thành phố

Hồ Chí Minh là rất lớn, muốn lưu được toàn bộ dữ liệu này trên chiếc điện thoại di động là một điều không đơn giản Ngoài ra, các hạn chế của điện thoại di động cũng buộc người lập trình phải chọn giải thuật thật hiệu quả và luôn phải tính toán nhằm tối ưu cho chương trình Mặt khác, đối với người lập trình, sự hạn chế của thư viện hàm trong ngôn ngữ Java được hỗ trợ cho điện thoại cũng là một vấn đề không dễ giải quyết Những hạn chế đã nêu thật sự là một thách thức lớn mà đề tài bắt buộc phải vượt qua

Nội dung của bài báo cáo này được chia thành 7 chương như sau :

Trang 10

- Chương 1 : Tổng quan về lập trình trên điện thoại di động Chương

này nêu những vấn đề chung về tình hình sử dụng điện thoại di động hiện nay; hoạt động phát triển phần mềm cho loại thiết bị này; giới thiệu một số phần mềm công

cụ nhằm hỗ trợ cho việc phát triển ứng dụng di động bằng ngôn ngữ lập trình Java

- Chương 2 : Giới thiệu khái quát về chuẩn J2ME Phần này trình bày

các mục tiêu, nội dung và định nghĩa các khái niệm quan trọng trong J2ME Ngoài

ra, chương này cũng trình bày các tính năng, các điểm thuận lợi và hạn chế của bộ thư viện Java được hỗ trợ cho điện thoại di động

- Chương 3 : Những khó khăn do hạn chế của J2ME Chương này trình

bày những ảnh hưởng quan trọng đến việc thiết kế và cài đặt một số tính năng của

đề tài do hạn chế của thư viện Java trên điện thoại di động

- Chương 4 : Phân tích – thiết kế ứng dụng Phân tích các yêu cầu nghiệp

vụ, các yêu cầu phi chức năng và đặc tả chi tiết ứng dụng ở mức phân tích, thiết kế

- Chương 5 : Một số cải tiến nhằm tối ưu hóa chương trình Do thiết bị

di động hạn chế về năng lực xử lý, dung lượng bộ nhớ và khả năng lưu trữ, chương này trình bày một số phương pháp, thủ thuật nhằm giúp cho ứng dụng được tối ưu hóa về tốc độ, tối ưu việc sử dụng bộ nhớ và giảm kích thước cho phần mềm

- Chương 6 : Thử nghiệm - Hướng dẫn cài đặt và sử dụng Giới thiệu

một số trình giả lập các điện thoại di động phổ biến trên thị trường được đề tài sử dụng cho mục đích thử nghiệm; hướng dẫn cài đặt và sử dụng các chức năng của phần mềm

- Chương 7 : Tổng kết – Đánh giá Nhận xét các công việc đã được thực

hiện; trình bày các ưu, khuyết điểm và hướng mở rộng cho phần mềm

- Phụ lục A : Các thuật ngữ được sử dụng Liệt kê và giải thích các thuật

ngữ được sử dụng trong chương trình

này nhằm trình bày các tính năng cũng như các yêu cầu về phần cứng, phần mềm cần thiết để cài đặt chương trình

Trang 11

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

Trang 12

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

Trang 13

DANH MỤC HÌNH

Trang

Hình 1-1 : Doanh thu sản xuất phần mềm cho điện thoại di động năm 2004 3

Hình 1-2 : Tạo project J2ME bằng Wizard trong JBuilder 10

Hình 1-3 : JBuilder MIDP Designer .12

Hình 1-4 : Màn hình gỡ rối của JBuilder 14

Hình 1-5 : Tạo project J2ME bằng Sun ONE Studio 5 17

Hình 1-6 : Cửa sổ quản lý tập tin của Sun ONE Studio 5 18

Hình 2-1 : Kiến trúc J2ME 24

Hình 2-2 : Các thành phần trong kiến trúc J2ME .26

Hình 2-3 : Quan hệ giữa J2ME configuration và J2SE 28

Hình 4-1 : Lược đồ sử dụng 44

Hình 4-2 : Sơ đồ lớp mức phân tích 57

Hình 4-3 : Mô tả lớp MainMIDlet 58

Hình 4-4 : Mô tả lớp MainCanvas 59

Hình 4-5 : Mô tả lớp FindObjectForm 60

Hình 4-6 : Mô tả lớp MessageBox 60

Hình 4-7 : Mô tả lớp IndexList 61

Hình 4-8 : Mô tả lớp IndexList 61

Hình 4-9 : Mô tả lớp Places 62

Hình 4-10 : Mô tả lớp Streets 63

Hình 4-11 : Sequence diagram Hiển thị bản đồ 64

Hình 4-12 : Collaboration diagram Hiển thị bản đồ 64

Hình 4-13 : Sequence diagram Tìm địa điểm 65

Hình 4-14 : Collaboration diagram Tìm địa điểm 66

Hình 4-15 : Sequence diagram Tìm đường theo tên 67

Hình 4-16 : Collaboration diagram Tìm đường theo tên 68

Hình 4-17 : Sequence diagram Tìm đường đi ngắn nhất 69

Hình 4-18 : Collaboration diagram Tìm đường đi ngắn nhất 69

Trang 14

Hình 4-19 : Sơ đồ lớp mức thiết kế 70

Hình 4-20 : Thiết kế lớp MainMIDlet 72

Hình 4-21 : Thiết kế lớp MainCanvas 73

Hình 4-22 : Thiết kế lớp MessageBox 76

Hình 4-23 : Thiết kế lớp FindObjectForm 77

Hình 4-24 : Thiết kế lớp HelpScreen 79

Hình 4-25 : Thiết kế lớp IndexList 80

Hình 4-26 : Thiết kế lớp SplashScreen 79

Hình 4-27 : Thiết kế lớp About 81

Hình 4-28 : Thiết kế lớp Districts 82

Hình 4-29 : Thiết kế lớp Places 84

Hình 4-30 : Thiết kế lớp Streets 85

Hình 4-31 : Thiết kế lớp NodePosition 89

Hình 4-32 : Sequence diagram Hiển thị bản đồ (mức thiết kế) 90

Hình 4-33 : Collaboration diagram Hiển thị bản đồ (mức thiết kế) 90

Hình 4-34 : Sequence diagram Tìm địa điểm (mức thiết kế) 91

Hình 4-35 : Collaboration diagram Tìm địa điểm (mức thiết kế) 92

Hình 4-36 : Sequence diagram Tìm đường theo tên (mức thiết kế) 93

Hình 4-37 : Collaboration diagram Tìm đường theo tên (mức thiết kế) 93

Hình 4-36 : Sequence diagram Tìm đường ngắn nhất (mức thiết kế) 94

Hình 4-37 : Collaboration diagram Tìm đường ngắn nhất (mức thiết kế) 94

Hình 5-1 : Mô hình quá trình đóng gói ứng dụng J2ME 99

Hình 5-2 : Sơ đồ sử dụng Obfuscator 102

Hình 5-3 : Màn hình giao diện công cụ Profiler 105

Hình 5-4 : Màn hình giao diện công cụ theo dõi việc sử dụng bộ nhớ 111

Hình 6-1 : Thử nghiệm ứng dụng trên trình giả lập Sony Ericsson 114

Hình 6-2 : Màn hình giao diện trình giả lập Sony Ericsson 115

Hình 6-3 : Thử nghiêm ứng dụng trên trình giả lập Nokia 116

Hình 6-4 : Kết quả thử nghiệm trên trình giả lập Nokia 117

Trang 15

Hình 6-5 : Cài đặt ứng dụng trên điện thoại Siemens SK 65 119

Hình 6-6 : Khởi động ứng dụng trên Siemens SK 65 120

Hình 6-7 : Kết quả thử nghiệm trên trình giả lập Siemens 121

Hình 6-8 : Kết quả thử nghiệm trên trình giả lập Samsung 122

Hình 6-9 : Kết quả thử nghiệm trên J2ME SDK 122

Hình 6-10 : Các phím di chuyển bản đồ 124

Hình 6-11 : Kết quả tìm địa điểm 126

Hình 6-12 : Màn hình tra cứu tên đường 127

Hình 6-13 : Kết quả tra cứu tên đường 128

Hình 6-14 : Màn hình chọn vị trí 129

Hình 6-15 : Kết quả tìm đường đi ngắn nhất 130

Hình 6-16 : Màn hình hướng dẫn sử dụng 132

Hình 6-17 : Màn hình xem thông tin chương trình 132

Hình B-1 : Màn hình download JDK 1.4 138

Hình B-2 : Trình giả lập Siemens 140

Hình B-3 : Trình giả lập Sony Erisson 141

Hình B-4 : Trình giả lập Samsung 144

Hình B-5 : Nokia Developer’s Suite 2.2 146

Hình B-6 : Trình giả lập của Nokia Developer’s Suite 146

Trang 16

DANH MỤC BẢNG

Trang

Bảng 2-1 : Phân loại CLDC và CDC 28

Bảng 4-1 : Danh sách các yêu cầu nghiệp vụ 43

Bảng 4-2 : Phân tích các thuộc tính lớp MainMIDlet 58

Bảng 4-3 : Phân tích các phương thức lớp MainMIDlet 58

Bảng 4-4 : Phân tích các thuộc tính lớp MainCanvas 59

Bảng 4-5 : Phân tích các phương thức lớp MainCanvas 59

Bảng 4-6 : Phân tích các phương thức lớp FindObjectForm 60

Bảng 4-7 : Phân tích các phương thức lớp MessageBox 60

Bảng 4-8 : Phân tích các phương thức lớp IndexList 61

Bảng 4-9 : Phân tích các phương thức lớp Districts 61

Bảng 4-10 : Phân tích các phương thức lớp Places 62

Bảng 4-11 : Phân tích các phương thức lớp Streets 63

Bảng 4-12 : Danh sách các lớp 71

Bảng 4-13 : Danh sách các thuộc tính lớp MainMIDlet 72

Bảng 4-14 : Danh sách các phương thức lớp MainMIDlet 72

Bảng 4-15 : Danh sách các thuộc tính lớp MainCanvas 74

Bảng 4-16 : Danh sách các phương thức lớp MainCanvas 75

Bảng 4-17 : Danh sách các thuộc tính lớp MessageBox 76

Bảng 4-18 : Danh sách các phương thức lớp MessageBox 76

Bảng 4-19 : Danh sách các thuộc tính lớp FindObjectForm 77

Bảng 4-20 : Danh sách các phương thức lớp FindObjectForm 78

Bảng 4-21 : Danh sách các thuộc tính lớp HelpScreen 79

Bảng 4-22 : Danh sách các phương thức lớp HelpScreen 79

Bảng 4-23 : Danh sách các phương thức lớp IndexList 80

Bảng 4-24 : Danh sách các phương thức lớp SplashScreen 80

Bảng 4-25 : Danh sách các thuộc tính lớp About 81

Bảng 4-26 : Danh sách các phương thức lớp About 82

Trang 17

Bảng 4-27 : Danh sách các thuộc tính lớp About 83

Bảng 4-28 : Danh sách các phương thức lớp About 83

Bảng 4-29 : Danh sách các thuộc tính lớp Places 84

Bảng 4-30 : Danh sách các phương thức lớp Places 85

Bảng 4-31 : Danh sách các thuộc tính lớp Streets 87

Bảng 4-32 : Danh sách các phương thức lớp Streets 88

Bảng 5-1 : Bảng so sánh kết quả sử dụng obfuscator 104

Trang 18

Chương 1 : TỔNG QUAN VỀ LẬP TRÌNH TRÊN ĐIỆN THOẠI DI ĐỘNG

1.1 Đôi nét về thị trường điện thoại di động Việt Nam :

1.1.1 Sự phát triển của thị trường thông tin di động : Thị trường thông tin di động Việt Nam là một trong những thị trường phát triển nhanh nhất khu vực Đông Nam Á Theo đánh giá của BMI - Tập đoàn xuất bản chuyên nghiên cứu và đánh giá thị trường viễn thông thế giới, năm 2003, thị trường thông tin di động Việt Nam đạt tốc độ tăng trưởng 43% và năm 2004 là 65%

Tại Hội nghị quốc tế về thông tin di động lần 2 (2nd Mobiles Vietnam) diễn

ra tại TP.HCM ngày 11 và 12/5 năm 2005, các chuyên gia dự báo trong năm 2005, tổng số thuê bao di động tại Việt Nam sẽ đạt 7,3 triệu và năm 2008 sẽ lên đến mức 21,2 triệu Tuy nhiên, Việt Nam vẫn là một trong những quốc gia có mật độ điện thoại di động thấp nhất ở khu vực châu Á - Thái Bình Dương, do vậy đây sẽ là địa điểm hấp dẫn để các doanh nghiệp trong nước cũng như các đối tác nước ngoài khai thác và tìm kiếm cơ hội kinh doanh

Hiện nay, Việt Nam có 6 nhà khai thác, cung cấp dịch vụ thông tin di động thuộc 5 doanh nghiệp là : VNPT (Vinafone, Mobifone), Công ty Viễn thông quân đội (Viettel), Công ty cổ phần viễn thông Sài Gòn (Saigon Postel), Công ty cổ phần viễn thông Hà Nội (Hanoi Telecom) và Công ty Viễn thông Điện lực (VP Telecom) Trong đó Hanoi Telecom và VP Telecom dự kiến khai trương mạng vào đầu năm 2006

Tiềm năng của thị trường thông tin di động Việt Nam là điều được khẳng định, nhưng vẫn là một ẩn số đối với các nhà phân tích thị trường bởi nhu cầu sử dụng của người tiêu dùng cũng như khả năng cung cấp của các nhà khai thác vẫn đang ở mức khám phá ban đầu

Việt Nam được coi là thị trường rất hấp dẫn trong lĩnh vực thông tin di động

Trang 19

1.1.2 Nhu cầu phát triển phần mềm cho điện thoại di động : Điện thoại di động đầu tiên ra đời với chức năng như một chiếc điện thoại thông thường, đó là gọi và nhận cuộc gọi Sự phát triển mạnh mẽ của nền kinh tế ngày càng khẳng định vai trò của thông tin liên lạc đến khả năng thành bại của việc cạnh tranh trong kinh doanh Ngoài ra, nhu cầu trao đổi thông tin, giải trí của con người cũng ngày càng được nâng cao và nhờ vào sự tiến bộ về mặt kỹ thuật, chiếc điện thoại di động ngày càng có thêm nhiều tính năng mới, đa dạng hơn, tiến bộ hơn

và hiện đại hơn Màn hình từ đơn sắc chuyển sang màn hình màu, từ hỗ trợ tin nhắn dạng văn bản (SMS) chuyển sang hỗ trợ tin nhắn có hình ảnh, âm thanh (MMS), hỗ trợ quay phim, xem phim, chụp ảnh, nghe nhạc…

Năng lực xử lý và lưu trữ của điện thoại di động cũng liên tục được cải tiến Các hãng sản xuất đã làm cho chiếc điện thoại trở nên linh động hơn, giúp cho người sử dụng có thể dễ dàng cấu hình giao diện và các ứng dụng Đặc biệt, bằng cách cho phép lập trình viên viết thêm các chương trình ứng dụng, trò chơi cho điện thoại, chiếc điện thoại di động hiện nay thực sự là một công cụ làm việc, học tập, vui chơi và giải trí hữu ích đối với mọi người

Trong vài năm gần đây, hoạt động sản xuất phần mềm cho điện thoại di động phát triển khá mạnh mẽ Rất nhiều sản phẩm phần mềm đã ra đời để phục vụ tốt hơn cho người sử dụng, trong đó, số lượng phần mềm nhiều nhất là các trò chơi, từ điển, truy cập Internet, trình diệt virus, soạn thảo văn bản và các tiện ích khác Trong năm

2004, giá trị sản xuất phần mềm cho điện thoại di động trên thế giới đạt 3,1 tỉ USD

và dự đoán sẽ đạt 18,5 tỉ USD vào năm 2009 Doanh thu sản xuất phần mềm cho điện thoại di động năm 2004 được phân bố như sau :

Trang 20

Hình 1-1 : Doanh thu sản xuất phần mềm cho điện thoại di động năm 2004

Tại châu Á, chỉ riêng Nhật và Hàn Quốc đã chiếm 1,3 tỉ USD, còn lại là Trung Quốc và Ấn Độ Tại Việt Nam, doanh thu không đáng kể Hầu hết các phần mềm ứng dụng được phát triển dành cho điện thoại di động đều là phần mềm miễn phí và do các công ty, các trường đại học và nhiều cá nhân thực hiện chủ yếu nhằm mục đích phục vụ cho lợi ích của cộng đồng Tuy nhiên, chúng ta vẫn có thể hi vọng vào tương lai của một thị trường đầy tiềm năng và trong quá trình hội nhập kinh tế quốc tế, người Việt Nam sẽ có thói quen tôn trọng quyền sở hữu trí tuệ nói chung và bản quyền phần mềm nói riêng

Trang 21

1.2 Lập trình trên điện thoại di động :

1.2.1 Quá trình phát triển ứng dụng J2ME : Thông thường, việc phát triển ứng dụng J2ME được tiến hành qua các giai đoạn như sau :

a) Viết mã nguồn Java b) Biên dịch

c) Obfuscate (tùy chọn) : Obfuscate sẽ loại bỏ các thông tin không cần thiết trong class, chẳng hạn như tên của các biến cục bộ Các lớp, phương thức, interface, cũng được đổi tên để làm cho chúng ngắn gọn hơn Một gói đã được obfuscate sẽ bảo vệ các tập tin class khỏi việc dịch ngược (decompile) và reverse engineering Ngoài việc bảo vệ mã nguồn, obfuscate còn giảm kích thước của các tập tin class, làm cho kích thước của tập tin JAR cũng giảm đi Việc giảm kích thước rất có ý nghĩa bởi vì các thiết bị MIDP thường có bộ nhớ bị giới hạn

d) Pre-verify (tiền kiểm tra)

Bộ kiểm tra (verify) trong J2SE tốn ít nhất là 50 KB, không kể việc tiêu tốn vùng nhớ heap và thời gian xử lý Để giảm việc tiêu tốn này cho J2ME, việc kiểm tra tập tin class sẽ được chia thành hai giai đoạn Quá trình tiền kiểm tra trước khi triển khai sẽ thêm các tập tin class các tham số phụ để tăng tốc quá trình kiểm tra lúc thực thi Thiết bị sẽ thực hiện quá trình kiểm tra sơ lược bằng cách sử dụng các tham số phụ được phát sinh trong quá trình tiền kiểm tra

e) Tạo tập tin JAR f) Tạo tập tin JAD g) Thực thi trên trình giả lập thích hợp h) Triển khai trên thiết bị di động

Trang 22

1.2.2 Các J2ME IDE : Môi trường phát triển tích hợp (IDE) cải thiện năng suất của lập trình viên bằng cách cung cấp một tập các công cụ lập trình tích hợp thông qua giao diện đồ họa (GUI), hỗ trợ công cụ soạn thảo, quản lý project, biên dịch và gỡ rối (debugger)

Thành viên mới nhất trong gia đình Java là J2ME Khi nhiều chuyên gia dự đoán về sự phát triển lớn mạnh của thị trường phát triển các ứng dụng J2ME, các nhà phát triển IDE đã đưa ra các bản mở rộng cho các sản phẩm IDE của họ để hỗ trợ thêm J2ME Ngoài ra, các nhà cung cấp chuyên nghiệp khác cũng đã phát triển các IDE đơn dành riêng cho J2ME

Một IDE cho J2ME cần phải cung cấp các tiện ích sau :

a) Quản lý project : Quản lý các tập tin nguồn và các thông số MIDlet

b) Trình soạn thảo : Soạn thảo mã nguồn và các tài nguyên

c) Build : Biên dịch, obfuscate và pre-verify mã nguồn

d) Đóng gói (package) : Đóng gói các MIDlet thành các tập tin JAR và JAD

e) Giả lập (emulation) : Thực thi các MIDlet với một trình giả lập

f) Gỡ rối (debugger)

Trang 23

1.3 Giới thiệu một số công cụ hỗ trợ lập trình cho J2ME :

1.3.1 J2ME Wireless Toolkit (WTK) : J2ME Wireless Toolkit (WTK) là một bộ công cụ phát triển J2ME cung cấp cho các lập trình viên môi trường giả lập, công cụ, tài liệu và các ví dụ cần thiết để phát triển các ứng dụng MIDP WTK không phải là một IDE hoàn chỉnh, bởi vì nó

đã bỏ các tính năng soạn thảo và gỡ rối vốn được xem là bắt buộc phải có trong một IDE Tuy nhiên, KToolbar, được cung cấp trong bộ WTK là một môi trường phát triển tối thiểu cung cấp một GUI dành cho việc biên dịch, đóng gói và thực thi các ứng dụng MIDP

WTK 2.2 cũng cung cấp các bộ giả lập đã được cải tiến với các tính năng giả lập, monitor và debug mới Ngoài ra, WTK cũng có một cơ chế được thêm vào tiến trình build của KToolbar để cho phép việc tích hợp và thực thi bộ obfuscate Java bytecode khi đóng gói MIDlet suite

WTK 2.2 được cải thiện tốc độ và hỗ trợ các API mới, gồm :

ƒ Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)

ƒ Mobile Information Device Profile (MIDP) 2.0 (JSR 118)

ƒ Java Technology for the Wireless Industry (JTWI) 1.0 (JSR 185)

ƒ Wireless Messaging API (WMA) 2.0 (JSR 205)

ƒ Mobile Media API (MMAPI) 1.1 (JSR 135)

ƒ PDA Optional Packages for the J2ME Platform (JSR 75)

ƒ Java APIs for Bluetooth (JSR 82)

ƒ J2ME Web Services Specification (JSR 172)

ƒ Mobile 3D Graphics API for J2ME (JSR 184) Mỗi project có một thư mục dành riêng trong thư mục apps Thư mực apps nằm bên trong thư mục chính của WTK

Trang 24

Các thư viện của hãng thứ ba có thể được cấu hình bên trong KToolbar Ngoài ra, các thư viện cần thiết cho từng project có thể được chép thủ công vào thư mục lib bên trong thư mục project Nếu một thư viện cần cho tất cả project, nó có thể được chép vào thư mục apps/lib

Khi KToolbar project được tạo ra, cấu trúc thư mục project sẽ được thiết lập Ngoài ra các tập tin JAD

va manifest cũng được phát sinh dựa vào các thông số của MIDlet suite đã được xác định Tuy nhiên, không có tập tin nguồn nào được phát sinh cho MIDlet Lập trình viên phải viết các tập tin nguồn này từ đầu KToolbar không hỗ trợ nạp nhiều project trong một GUI Trình soạn thảo WTK không cung cấp một trình soạn thảo tích hợp nào Thay vào đó, lập trình viên phải sử dụng một trình soạn thảo của hãng thứ ba

™ Tạo lập và đóng gói : KToolBar cung cấp hỗ trợ cho việc biên dịch một dự án Một dự án được dịch và tiền kiểm tra chỉ trong một bước thực hiện Một chức năng khác được dùng

để đóng gói dự án Gói được tạo ra sẽ chứa tập tin JAR và JAD của MIDlet suite WTK được tích hợp công cụ obfuscator là RetroGuard Công cụ này không được cung cấp kèm với WTK mà có thể được download miễn phí từ trang web www.retrologic.com Để cài đặt, chúng ta chỉ cần chép tập tin retroguard.jar vào thư mục bin của thư mục cài đặt WTK

™ Trình giả lập : WTK cung cấp các giả lập để thực thi ứng dụng MIDP Các thiết bị giả lập được hỗ trợ :

ƒ DefaultColorPhone : điện thoại mặc định với màn hình màu

Trang 25

ƒ DefaultGrayPhone : điện thoại với màn hình xám

ƒ Motorola_i85s : điện thoại Motorola

ƒ PalmOS_Device : máy hỗ trợ các nhân kỹ thuật số

™ Nhận xét : WTK là một môi trường cơ bản cho việc phát triển các ứng dụng trên thiết bị không dây Tuy nhiên, do thiếu một trình soạn thảo và chức năng gỡ rối, rõ ràng công cụ này không thể nào cạnh tranh được với các công cụ thương mại khác Tuy nhiên, với những ai mới bắt đầu tìm hiểu về J2ME thì đây vẫn là một công cụ có ích Bằng việc tạo lập sẵn một cấu trúc thư mục, nó cho phép lập trình viên có thể xây dựng ngay ứng dụng mà không cần quan tâm về việc tổ chức các tập tin, tài nguyên trong dự án Khi một lập trình viên đã trở nên thành thạo với việc phát triển ứng dụng J2ME thì có thể chuyển sang sử dụng một công cụ khác

Trang 26

1.3.2 Borland Jbuilder : Môi trường làm việc của JBuilder cho J2ME hoàn toàn giống như môi trường phát triển các ứng dụng Java bình thường nhưng có thêm các tabs và options trong các hộp thoại để hỗ trợ J2ME và hai wizards mới : MIDP MIDlet wizard và MIDP Displayable wizard Trong phiên bản JBuilder Professional và Enterprise Trình Archive Builder có thể tạo ra một MIDlet suite với các tập tin manifest và JAD tương ứng JBuilder 2005 cũng cài đặt WTK 2.1 được sử dụng như một môi trường giả lập Ngoài ra, JBuilder còn cung cấp các hướng dẫn cho việc tích hợp thêm các J2ME JDK khác, chẳng hạn như Nokia Developer Suite for J2ME và Siemens Mobility Toolkit (SMTK)

Ngoài các tính năng chính của JBuilder, khi lập trình cho J2ME chúng ta được thêm các tính năng sau :

ƒ Code completion cho các lớp CLDC/MIDP

ƒ Duyệt class/package cho các lớp CLDC/MIDP

ƒ Chuyển đổi JDK

ƒ Các MIDP wizards

ƒ Bộ thiết kế trực quan (visual designer) cho các thành phần giao diện MIDP

ƒ Công cụ gỡ rối MIDlet

ƒ Đóng gói file JAD và JAR

ƒ Nạp dữ liệu thông qua OTA (Over The Air Provisioning)

™ Quản lý dự án : Tập tin project chứa một danh sách các tập tin trong dự án và các thuộc tính của dự án đó JBuilder sử dụng thông tin này khi thực hiện nạp, lưu, biên dịch hay chạy một project Tập tin project bị thay đổi khi JBuilder thêm hay xóa tập tin, thiết lập hay thay đổi các thuộc tính của project Khi tạo một dự án J2ME, dự án phải được liên kết với một J2ME JDK Khi tạo mới một project, một wizard sẽ phát sinh nội dung cơ bản của tập tin, tạo thư mục cho các thành phần trong project

Trang 27

Hình 1-2 : Tạo project J2ME bằng Wizard trong JBuilder

Wizard cho phép chúng ta thêm các tập tin vào trong MIDlet bằng cách phát sinh các tập tin dựa trên các tùy chọn mà chúng ta yêu cầu

ƒ MIDlet : phát sinh một lớp con của MIDlet và một lớp con của Displayable (Canvas, Form, List hay TextBox)

ƒ MIDP Displayable : phát sinh một lớp con của lớp Displayable

Thông thường, chúng ta chọn MIDlet Khi đó MIDlet wizard sẽ thu thập tất

cả các thông tin cần thiết Một wizard khác sẽ được gọi để tạo ra các lớp Displayable sau đó

JBuilder cung cấp một bộ UI designer cho các ứng dụng MIDP Bộ MIDP designer dựa trên bộ Swing UI designer có sẵn trong JBuilder

Trang 28

ƒ Màn hình duyệt các tập tin, thư mục trong dự án

ƒ Màn hình duyệt cấu trúc của lớp và gói

ƒ Cửa sổ soạn thảo mã nguồn :

Trang 29

ƒ CodeInsight (code completion, parameter lists, và tool tip expression evaluation)

ƒ Code templates

ƒ Cho phép soạn thảo nhiều tập tin trong một giao diện hỗ trợ tabs

ƒ Re-factoring

™ Tạo và đóng gói : Khi biên dịch, JBuilder thực hiện các công việc sau :

ƒ Biên dịch MIDlet và tạo ra các tập tin class

ƒ Tiền kiểm tra các lớp đã được tạo

ƒ Tạo tập tin JAD

JBuilder phiên bản Professional và Enterprise có tích hợp bên trong một obfuscator Chức năng này có thể được bật qua tab Build trong cửa sổ Project Properties

Hình 1-3 : JBuilder MIDP Designer

Trang 30

MIDP designer giúp ta làm việc trực quan với các thành phần giao diện MIDP cơ bản Ngoài ra, nó còn hỗ trợ việc phát sinh mã tự động

Các thành phần giao diện MIDP được hỗ trợ :

ƒ Alert

ƒ Form

ƒ List

ƒ TextBox Khi xử lý các thành phần với bộ MIDP designer, JBuilder tự động phát sinh

mã để quản lý giao diện Mã phát sinh chuyên biệt cho JBuilder, điều này có nghĩa

là MIDP designer sẽ không thể dịch ngược lại các mã nguồn đã được viết tay MIDP Designer giúp phát triển nhanh các giao diện mẫu MIDP

™ Trình giả lập : JBuilder cung cấp các giả lập thiết bị về nguyên tắc cũng tương tự như WTK, tuy nhiên chúng ta có thể sử dụng các trình giả lập của hãng thứ ba bằng cách thiết lập các thuộc tính của dự án nếu muốn mà không gây ảnh hưởng gì cho

dự án Các trình giả lập này có thể là của Nokia hay của Siemens…

Nếu công cụ của chúng ta có tích hợp nhiều trình giả lập thiết bị, khi đó tab MIDlet trong cửa sổ Project Properties có thể được dùng để chọn thiết bị khi chạy hay gỡ rối cho ứng dụng

Trang 31

™ Trình gỡ rối : Khi bắt đầu gỡ rối, ngoài một màn hình giả lập cho thiết bị, một màn hình dùng để hiển thị thông tin debug cũng xuất hiện Chúng ta có thể gỡ rối nhiều ứng dụng đồng thời qua các tab có trên màn hình này

Hình 1-4 : Màn hình gỡ rối của JBuilder

Các tab nằm bên trái dọc theo cửa sổ cho chúng ta thấy những gì đang diễn

ra bên trong ứng dụng, Qua các tab này chúng ta có thể xem các thông tin :

ƒ Console : thể hiện các kết quả cũng như lỗi của chương trình

Trang 32

ƒ Thread, call stack và data : thể hiện các nhóm luồng trong chương trình Mỗi nhóm luồng có thể được mở ra để xem các luồng bên trong

ƒ Synchronization monitor : cho phép xem thông tin về sự đồng bộ giữa các luồng và trạng thái của chúng, thông tin này đặc biệt hữu ích khi kiểm tra deadlock

ƒ Data watches : thể hiện giá trị hiện thời của dữ liệu

ƒ Loaded classes and static data : thể hiện các lớp đang được sử dụng bởi ứng dụng Chúng ta có thể mở một lớp để xem giá trị các thuộc tính của nó

ƒ Data and code breakpoints : thể hiện tất cả các breakpoints đang được thiết lập trong ứng dụng và trạng thái hiện tại của nó

ƒ Classes with tracing disabled : thể hiện danh sách các lớp và gói chưa được xem xét

™ Nhận xét : Chức năng thiết kế giao diện của JBuilder là một công cụ hữu ích trong việc tạo lập giao diện MIDP Tuy nhiên, chức năng này lại không hỗ trợ đầy đủ các thành phần giao diện hiện có và trong nhiều trường hợp mã nguồn phát sinh cần được chỉnh sửa thêm mới hoạt động đúng theo ý muốn

Trang 33

1.3.3 Sun ONE Studio 5, Mobile Edition Sun ONE studio 5, Mobile Edition là một phiên bản được thay đổi từ Sun ONE Studio để hỗ trợ và giúp đỡ các lập trình viên trong việc phát triển các ứng dụng MIDP Nó kết hợp các khả năng của Wireless Toolket với Sun ONE Studio tạo thành một môi trường với các chức năng sau :

ƒ Kết hợp việc biên dịch, tiền kiểm tra, thực thi MIDlet và MIDlet suite

ƒ Tự động phát sinh tập tin JAD và JAR

ƒ Tích hợp khả năng gỡ rối (debug) cho MIDlet

ƒ Có thể thiết lập trình giả lập riêng cho mỗi dự án J2ME

ƒ Công cụ AutoUpdate giúp tự động hóa việc cập nhật công cụ

™ Quản lý project : Một project được tạo bởi Sun ONE Studio khi mới được tạo sẽ là một project rỗng Chúng ta phải tự thêm vào các MIDlet hay MIDlet suite theo nhu cầu của mình

Trang 34

Hình 1-5 : Tạo project J2ME bằng Sun ONE Studio 5

Wizard tạo ra các tập tin dựa trên mẫu mà chúng ta chọn, các mẫu sau đây được hỗ trợ trong công cụ :

ƒ Class : một lớp Java rỗng

ƒ HelloMIDlet : một lớp có khả năng hiển thị văn bản lên màn hình thiết bị

ƒ MIDPCanvas : tạo ra một lóp con của lớp Canvas Canvas cho chúng ta khả năng thao tác đồ họa cấp thấp

ƒ MIDlet : các lóp thực thi cơ bản cho một thiết bị không dây

ƒ MIDlet Suite : tạo ra một MIDlet suite

Sau khi chọn mẫu, wizard sẽ lấy các thông tin cần thiết Sau giai đoạn này, các tập tin sẽ được tạo ra

Tab Project trên màn hình Explorer cung cấp cho chúng ta một cái nhìn bên trong project Từ đây, chúng ta có thể duyệt qua các thông tin chứa đựng trong MIDlet

Trang 36

™ Editor :

Màn hình soạn thảo mã nguồn

Các đặc điểm chính của màn hình soạn thảo mã nguồn :

ƒ Tô màu các từ khóa trong ngôn ngữ Java

án Với công cụ này chúng ta có thể kết hợp việc tạo ra đóng gói trong khi thực hiện biên dịch Khi biên dịch, Sun ONE Studio :

ƒ Dịch MIDlet và tạo ra các tập tin class

ƒ Thực hiện tiền kiểm tra các lớp đã được biên dịch

ƒ Tạo tập tin JAR

Trang 37

ƒ Tạo tập tin JAD

™ Trình giả lập : Mặc định khi cài đặt, Sun ONE Studio dùng trình giả lập của WTK để chạy các ứng dụng MIDP, ngoài ra, chúng ta cũng có thể thêm vào các trình giả lập khác

do hãng thứ ba phát triển bằng chức năng Device Emulator Registry

Chỉ các trình giả lập có hỗ trợ môi trường giả lập J2ME SDK mới có thể được dùng chung với Sun ONE Studio Nghĩa là chúng ta có thể dùng chung công

cụ này với Nokia Developer’s Suite hay Siemens Mobility Toolkit mà không gây ảnh hưởng gì đến đề án

Tab Runtime trong cửa sổ Explorer được dùng để quản lý Device Emulator Registry Qua chức năng này, chúng ta có thể thêm, xóa hay chọn trình giả lập mặc định để sử dụng

Màn hình quản lý trình giả lập

Trang 38

™ Bộ gỡ rối (Debugger) : Sun ONE Studio cung cấp một trình gỡ rối có thể dùng để dò tìm các lỗi trong ứng dụng MIDP Khi một phiên gỡ rối được bắt đầu, màn hình bao gồm ba cửa sổ là : Debugger Window, Output Window và Source Editor sẽ xuất hiện

Màn hình Debugger chứa 7 màn hình con, giúp chúng ta xem xét những gì đang diễn ra trong ứng dụng MIDP của chúng ta, đó là các màn hình :

ƒ Session : liệt kê các ứng dụng đang chạy

ƒ Breakpoints : liệt kê các breakpoint được thiết lập Breakpoint có thể được thiết lập trên một dòng lệnh, trên tên phương thức, trên một ngoại lệ, lớp, luồng hay một biến

ƒ Thread : liệt kê các luồng và nhóm luồng đang chạy trong phiên làm việc hiện hành

ƒ Call Stack : liệt kê sơ đồ các lời gọi hàm được thực hiện trong quá trình thực thi luồng hiện hành Phương thức được thực thi cuối cùng sẽ ở đầu danh sách Phương thức được thực thi đầu tiên sẽ nằm ở cuối danh sách

ƒ Watches : danh sách các biến và biểu thức mà chúng ta cần khảo sát giá trị trong quá trình gỡ rối Ở đây chúng ta có thể thay đổi giá trị các biến khi chúng đang chạy

ƒ Variable : liệt kê các biến cục bộ, các thực thể và các biến tĩnh trong phạm vi của phương thức mà chúng ta đang xem xét

ƒ Classes : liệt kê các lớp được sử dụng bởi tiến trình đang được gỡ rối

Trang 39

Màn hình gỡ rối của Sun ONE Studio

™ Nhận xét : Sun ONE Studio là một trong những chương trình phát triển miễn phí đầu tiên cho J2ME Hầu như tất cả các đặc tính mà một lập trình viên mong đợi đều được tích hợp vào trong công cụ này Một lập trình viên có hiểu biết vể MIDP và đã

có kinh nghiệm trong việc sử dụng Sun ONE Studio có thể dùng nó để phát triển ứng dụng MIDP chỉ sau một vài giờ tìm hiểu

Tuy nhiên, Sun ONE Studio lại thiếu các đặc điểm khác khi lập trình J2ME

để có thể giúp nó nổi trội hơn các trình soạn thảo đối thủ khác Hầu hết các đặc điểm có được là do được đem từ phiên bản dành cho J2SE sang

Sun ONE Studio là một phiên bản miễn phí Do đó một số chức năng của nó vẫn chưa thực sự tốt so với các công cụ thương mại khác

Trang 40

Chương 2 : GIỚI THIỆU KHÁI QUÁT VỀ CHUẨN J2ME

2.1 Nền tảng Java :

chạy trên tất cả các môi trường là điều không thể thực hiện được, công ty đã quyết định chia công nghệ Java của mình thành 3 phiên bản, mỗi phiên bản được ứng dụng trong một lĩnh vực riêng biệt, các phiên bản đó là :

ƒ Java 2 Platform, Enterprise Edition (J2EE™) phục vụ cho các nhu cầu về thương mại như phục vụ khác hàng, các vấn đề về phân phối, các vấn đề về nhân

sự Phiên bản này được chạy trên các máy server

ƒ Java 2 Platform, Standard Edition (J2SE™) được cung cấp cho thị trường máy tính để bàn trong các máy tính phục vụ văn phòng hay trong gia đình

ƒ Java 2 Platform, Micro Edition (J2ME™) chạy trên các máy với tài nguyên hạn chế

Hình vẽ sau minh họa các phiên bản hiện có của Java và lĩnh vực ứng dụng của chúng, bắt đầu từ bên trái là các nền tảng cao cấp sang bên phải là các nền tảng cấp thấp hơn Java 2 Enterprise Edition hỗ trợ các máy tính dùng trong doanh nghiệp, Java 2 Standard Edition hỗ trợ cho các máy tính các nhân, máy tính để bàn Java 2 Micro Edition được chia thành 2 loại cho các thiết bị cấp cao (máy PDA cấp cao, điện thoại web) và các thiết bị cấp thấp (điện thoại di động và PDA với khoảng 512KB bộ nhớ)

Ngày đăng: 23/11/2012, 08:13

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
6. Kim Topley, J2ME in a nutshell, O’Reilly, 2002 7. Sun Microsystems Inc, http://www.sun.com Link
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 Khác
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 Khác
3. Lê Thụy Anh, chương trình AGDotNet-Desktop Khác
4. Roger Riggs - Antero Taivalsaari - Jim Van Peursem, Programming Wireless Devices with the Java™ 2 Platform Micro Edition - Second Edition, Addison Wesley, 2003 Khác
5. John W Muchow, Core J2ME™ Technology & MIDP, Prentice Hall PTR, 2001 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1-1 : Doanh thu sản xuất phần mềm cho điện thoại di động năm 2004 - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 1 1 : Doanh thu sản xuất phần mềm cho điện thoại di động năm 2004 (Trang 20)
Hình 1-5 : Tạo project J2ME bằng Sun ONE Studio 5 - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 1 5 : Tạo project J2ME bằng Sun ONE Studio 5 (Trang 34)
Hình 4-1 : Lược đồ sử dụng - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 1 : Lược đồ sử dụng (Trang 61)
4.3.3. Sơ đồ lớp mức phân tích : - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
4.3.3. Sơ đồ lớp mức phân tích : (Trang 74)
Hình 4-3 : Mô tả lớp MainMIDlet - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 3 : Mô tả lớp MainMIDlet (Trang 75)
Hình 4-7 : Mô tả lớp IndexList - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 7 : Mô tả lớp IndexList (Trang 78)
Hình 4-11 : Sequence diagram hiển thị bản đồ - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 11 : Sequence diagram hiển thị bản đồ (Trang 81)
Hình 4-13 : Sequence diagram Tìm địa điểm - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 13 : Sequence diagram Tìm địa điểm (Trang 82)
Hình 4-14 : Collaboration diagram  Tìm địa điểm - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 14 : Collaboration diagram Tìm địa điểm (Trang 83)
Hình 4-15 : Sequence diagram  Tìm đường theo tên - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 15 : Sequence diagram Tìm đường theo tên (Trang 84)
Hình 4-17 : Sequence diagram Tìm đường đi ngắn nhất - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 17 : Sequence diagram Tìm đường đi ngắn nhất (Trang 86)
4.3.4. Sơ đồ lớp mức thiết kế : - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
4.3.4. Sơ đồ lớp mức thiết kế : (Trang 87)
Hình 4-20 : Thiết kế lớp MainMIDlet - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 20 : Thiết kế lớp MainMIDlet (Trang 89)
Hình 4-24 : Thiết kế lớp HelpScreen - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 24 : Thiết kế lớp HelpScreen (Trang 96)
Bảng 4-23 : Danh sách các phương thức lớp IndexList - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Bảng 4 23 : Danh sách các phương thức lớp IndexList (Trang 97)
Hình 4-28 : Thiết kế lớp Districts - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 28 : Thiết kế lớp Districts (Trang 99)
Bảng 4-27 : Danh sách các thuộc tính lớp Districts - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Bảng 4 27 : Danh sách các thuộc tính lớp Districts (Trang 100)
Bảng 4-29 : Danh sách các thuộc tính lớp Places - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Bảng 4 29 : Danh sách các thuộc tính lớp Places (Trang 101)
Hình 4-34 : Sequence diagram Tìm địa điểm (mức thiết kế) - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 34 : Sequence diagram Tìm địa điểm (mức thiết kế) (Trang 108)
Hình 4-35 : Collaboration diagram Tìm địa điểm (mức thiết kế) - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 35 : Collaboration diagram Tìm địa điểm (mức thiết kế) (Trang 109)
Hình 4-36 : Sequence diagram Tìm đường theo tên (mức thiết kế) - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 4 36 : Sequence diagram Tìm đường theo tên (mức thiết kế) (Trang 110)
Hình 6-2 : Màn hình giao diện trình giả lập Sony Ericsson - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 6 2 : Màn hình giao diện trình giả lập Sony Ericsson (Trang 132)
Hình 6-3 : Thử nghiệm ứng dụng trên trình giả lập Nokia - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 6 3 : Thử nghiệm ứng dụng trên trình giả lập Nokia (Trang 133)
Hình 6-4 : Kết quả thử nghiệm trên trình giả lập Nokia - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 6 4 : Kết quả thử nghiệm trên trình giả lập Nokia (Trang 134)
Hình 6-8 : Kết quả thử nghiệm trên trình giả lập Samsung - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 6 8 : Kết quả thử nghiệm trên trình giả lập Samsung (Trang 138)
Hình 6-9 : Kết quả thử nghiệm trên J2ME SDK - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 6 9 : Kết quả thử nghiệm trên J2ME SDK (Trang 139)
Hình 6-10 : Các phím di chuyển bản đồ - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
Hình 6 10 : Các phím di chuyển bản đồ (Trang 141)
Hình B-2: Trình giả lập Siemens - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
nh B-2: Trình giả lập Siemens (Trang 157)
Hình B-4 : Trình giả lập Samsung - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
nh B-4 : Trình giả lập Samsung (Trang 161)
Hình B-5 : Nokia Developer’s Suite 2.2 - Xây dựng bản đồ trên điện thoại di động có hỗ trợ java
nh B-5 : Nokia Developer’s Suite 2.2 (Trang 163)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w