Cách cài đặt và sử dụng trình giả lập này tương tự như đối với trình giả lập Samsung.
C:\j2mewtk2.0\bin\emulator.exe -Xdevice:UnicodeColorPhone -Xdescriptor:"C:\ HoChiMinhCity_Map\HoChiMinhCity_Map.jad"
Hình 6-9 : Kết quả thử nghiệm trên J2ME SDK Lưu ý :
Xin xem phần tiếp theo để cấu hình cho trình giả lập hiển thị được font chữ
6.2. Vấn đề hỗ trợ tiếng Việt có dấu :
6.2.1. Hiển thị tiếng Việt trên máy ảo :
Đa số các trình giả lập điện thoại di động hiện nay không hỗ trợ hiển thị
tiếng Việt có dấu (bảng mã Unicode). Cụ thể, trong các trình giả lập được đề tài thử
nghiệm như trên, chỉ có trình giả lập của hãng Siemens là hiển thị tốt Unicode còn các trình giả lập khác (Nokia, Sony Ericsson, Samsung) không hỗ trợ.
Đối với trình giả lập chuẩn của Sun Microsystems (Sun Wireless Toolkit), các điện thoại ảo được cung cấp mặc định không hỗ trợ Unicode. Tuy nhiên, chúng ta có thể cấu hình để tạo một điện thoại ảo khác hiển thị đúng font chữ tiếng Việt nhằm sử dụng cho quá trình phát triển ứng dụng bằng cách sau :
1. Vào thư mục cài đặt bộ công cụ, di chuyển đến thư mục j2mewtk2.0\ wtklib \devices\
2. Chép thư mục DefaultColorPhone và đổi tên thành UnicodeColorPhone.
3. Trong thư mục UnicodeColorPhone vừa tạo, đổi tên tập tin
DefaultColorPhone.properties thành UnicodeColorPhone.properties. 4. Dùng trình soạn thảo văn bản (Notepad) mở tập tin
UnicodeColorPhone.properties, thay thế từ “SansSerif” thành “Arial” trong
tất cả các dòng định nghĩa font chữ.
6.2.2. Hiển thị tiếng Việt trên thiết bị thật :
Việc có hiển thị được tiếng Việt trên điện thoại di động hay không là do nhà sản xuất quyết định. May mắn là đa số các điện thoại di động trên thị trường Việt Nam hiện nay đều hiển thị tốt tiếng Việt Unicode (mặc dù trên thiết bị giả lập không hiển thịđúng).
Tuy nhiên, riêng đối với các điện thoại Nokia series 60 sử dụng hệđiều hành Symbian thì chúng ta phải tự cài đặt font tiếng Việt cho thiết bị này. Việc cài đặt cũng khá đơn giản qua 2 bước sau :
1. Chép tập tin “tahoma.gdr” vào thư mục “C:\Systems\Font” 2. Khởi động lại máy.
6.3 Hướng dẫn sử dụng chương trình :
6.3.1. Chức năng duyệt bản đồ
Di chuyển bản đồ :
Để di chuyển bản đồ, chúng ta sử dụng các phím theo sơđồ sau :
Ù
Hình 6-10 : Các phím di chuyển bản đồ
Phím 1 : di chuyển bản đồ lên góc trên bên trái
Phím 2 : di chuyển bản đồ lên trên
Phím 3 : di chuyển bản đồ lên góc trên bên phải
Phím 4 : di chuyển bản đồ sang trái
Phím 6 : di chuyển bản đồ sang phải
Phím 7 : di chuyển bản đồ xuống góc dưới bên trái
Phím 8 : di chuyển bản đồ xuống dưới
Phím 9 : di chuyển bản đồ xuống góc dưới bên phải
Phóng to – thu nhỏ bản đồ :
Phím * : phóng to
Phím # : thu nhỏ
6.3.2. Chức năng tra cứu địa điểm, tên đường :
Tra cứu các địa danh – địa điểm :
Để tra cứu các địa danh, địa điểm, chúng ta thực hiện theo các bước sau :
Bước 1 :
Bước 2 :
Chọn loại địa điểm cần tìm, ví dụ : chợ, bệnh viện, trường học v.v…
Bước 3 :
Trên màn hình sẽ xuất hiện một danh sách tên các địa điểm. Ở bước này, chúng ta có thể dùng các phím mũi tên để chọn tên địa điểm cần đến. Để nhanh hơn, có thể nhập tên địa điểm cần tìm trong hộp nhập “Tên
địa điểm”, khi đó, trong danh sách sẽ chỉ hiển thị những địa
điểm nào có tên gần giống với chuỗi ký tự vừa được nhập vào.
Lưu ý : chuỗi ký tự được nhập vào là chuỗi tiếng Việt không dấu và không phân biệt chữ hoa hay chữ thường.
Bước 4 :
Sau khi tìm thấy tên địa điểm cần đến, nhấn phím chọn, màn hình sẽ
Hình 6-11 : Kết quả tìm địa điểm
Tra cứu tên đường :
Việc tra cứu tên đường được thực hiện theo các bước sau :
Bước 1 :
Chọn chức năng tra cứu tên đường (menu “Tìm tên đường”)
Bước 2 :
Trên màn hình chính sẽ xuất hiện danh sách tất cả các tên đường. Nhập tên đường (hoặc một phần tên đường) cần tìm vào trong textbox “Tên
Hình 6-12 : Màn hình tra cứu tên đường
Lúc này, trong danh sách sẽ hiển thị 10 tên đường đầu tiên thỏa điều kiện cần tìm (hiển thị các tên đường có chứa những từ được nhập vào). Nếu tên đường cần tìm xuất hiện trong danh sách, sang bước 4.
Bước 3 :
Nếu số đường thỏa điều kiện lọc nhiều hơn 10 (1 trang trong danh sách chỉ
chứa 10 tên đường), chọn menu chính, sau đó chọn “Trang kế” để xem trang tiếp theo hoặc chọn “Trang trước” để xem lại 10 tên đường trước đó.
Khi tên đường cần tìm xuất hiện, chọn tên đường này trong danh sách, sau
đó nhấn nút chọn để trở về màn hình chính. Cung đường đầu tiên của đường này sẽ
xuất hiện trên màn hình.
Hình 6-13 : Kết quả tra cứu tên đường
6.3.3. Chức năng tìm đường đi ngắn nhất giữa 2 điểm :
Việc tìm đường đi ngắn nhất giữa 2 điểm được thực hiện qua 3 bước chính : 1. Chọn vị trí bắt đầu đoạn đường cần tìm
2. Chọn vị trí kết thúc đoạn đường cần tìm (vị trí cần đi đến) 3. Yêu cầu tìm đường.
Con trỏ - Di chuyển con trỏ :
Con trỏ được hiển thị trên màn hình dưới dạng một chữ thập (+) màu
đỏ, dùng để xác định một vị trí trên màn hình.
Để di chuyển con trỏ, chúng ta sử dụng cụm phím mũi tên trên điện thoại. Hướng của mũi tên cũng là hướng di chuyển con trỏ.
Chọn vị trí bắt đầu – vị trí kết thúc :
Để chọn vị trí bắt đầu (vị trí kết thúc) của đoạn đường cần tìm, đầu tiên, di chuyển con trỏ đến vị trí sẽđược chọn, sau đó chọn menu “Vị trí bắt đầu” (“Vị trí kết thúc”).
Nếu việc đánh dấu vị trí được thực hiện thành công, trên màn hình sẽ xuất hiện một ô vuông màu xanh tương ứng với vị trí bắt đầu hoặc ô vuông màu đỏ
tương ứng với vị trí kết thúc.
Hình 6-14 : Màn hình chọn vị trí
Lưu ý, việc lựa chọn vị trí chỉ hợp lệ khi con trỏ nằm ngay trên cung đường hoặc chỉ lệch một khoảng nhỏ.
Yêu cầu tìm đường :
Trước khi yêu cầu chương trình tìm đường đi ngắn nhất, người sử dụng bắt buộc phải lựa chọn đầy đủ cả vị trí bắt đầu và vị trí kết thúc, nếu chưa chọn, chương trình sẽ thông báo lỗi.
Yêu cầu tìm đường ngắn nhất bằng cách chọn menu “Đường ngắn nhất”
Thời gian chờ đợi chương trình tìm giải pháp tối ưu nhất là tương đối ngắn. Tuy nhiên, đối với các điện thoại có cấu hình không cao hoặc khoảng cách giữa 2 vị
trí cần tìm rất xa nhau có thể khiến người sử dụng phải chờ đợi, nếu không cần tìm
Sau khi tìm được đường đi ngắn nhất, chương trình sẽ thông báo kết quả
tương tự như hình bên dưới. Chúng ta có thể dùng các phím mũi tên để xem kết quả. Chọn lệnh “Trở về” để trở về màn hình chính. Trên bản đồ lúc này sẽ xuất hiện một đường màu hồng kẻ từ vị trí bắt đầu đến vị trí kết thúc nhằm mô tả các đoạn
đường đã được tìm thấy.
Hình 6-15 : Kết quả tìm đường đi ngắn nhất
Các chức năng khác :
Hiển thị lại kết quả tìm đường :
Khi cần xem lại hướng dẫn tìm đường (dòng chữ mô tả kết quả tìm đường), nhấn phím số 5.
Lưu ý :
Mỗi khi người sử dụng chọn lại nút bắt đầu hay nút kết thúc thì kết quả tìm đường cũ sẽ bị xóa.
Di chuyển đến vị trí bắt đầu, vị trí kết thúc :
Để di chuyển nhanh đến vị trí bắt đầu hoặc vị trí kết thúc
đoạn đường cần tìm, nhấn phím số 0. Nhấn lần thứ nhất sẽ di
chuyển đến vị trí bắt đầu. Nhấn lần thứ hai sẽ di chuyển đến vị trí kết thúc và lần lượt như vậy.
Xóa kết quả tìm đường :
Để xóa kết quả tìm đường, xóa nút bắt đầu và nút kết thúc, chọn menu “Xóa kết quả.
6.3.4. Chức năng trợ giúp, hướng dẫn sử dụng :
Hướng dẫn sử dụng chương trình
Để xem hướng dẫn sử dụng chương trình, chọn menu “Hướng dẫn”.
Trên màn hình xuất hiện danh sách các nội dung được hướng dẫn,
Hình 6-16 : Màn hình hướng dẫn sử dụng
Nhấn nút “Trở về” để quay lại màn hình chính.
Hướng dẫn sử dụng chương trình
Để xem thông tin về chương trình, chọn menu “Thông tin”
Hình 6-17 : Màn hình xem thông tin chương trình
Chương 7: TỔNG KẾT – ĐÁNH GIÁ
7.1. Ưu điểm :
Nhìn chung, chương trình đã hoàn thành tốt các yêu cầu cơ bản được đặt ra,
đã xây dựng được một phần mềm ứng dụng chạy được trên nhiều điện thoại di động phổ biến trên thị trường. Phần mềm đã hỗ trợ cho người sử dụng xem bản đồ, tra cứu thông tin nhiều loại địa điểm, tra cứu theo tên đường và giúp người sử dụng xác
định lộ trình ngắn nhất giữa hai địa điểm. Hiệu suất của chương trình tương đối khá, việc đọc dữ liệu, vẽ bản đồ được thực hiện nhanh, tốc độ tìm giải pháp xác định lộ
trình ngắn nhất là có thể chấp nhận được, không gây phản cảm cho người sử dụng. Ngoài ra, việc bố trí các phím chức năng, sự liên kết giữa các màn hình và chức năng tìm kiếm được xây dựng khá hợp lý cùng với giao diện tiếng Việt giúp cho người dùng dễ dàng làm quen với chương trình.
7.2. Khuyết điểm :
Do quỹ thời gian thực hiện đề tài không nhiều, nhóm thực hiện đề tài cũng chưa có kinh nghiệm lập trình trên điện thoại di động cùng với sự hạn chế của thiết bị này nên chương trình cũng còn một vài hạn chế cần khắc phục như :
Chưa giải quyết triệt để sự xung đột, chồng lên nhau giữa các tên đường tại một số giao lộ.
Dữ liệu cho bản đồ còn chưa đầy đủ, một số con đường nhỏ chưa có tên, thông tin về các đường một chiều và các luật giao thông hiện hành chưa được cập nhật, các dữ liệu về những công trình công cộng còn thiếu.
Nhóm thực hiện không có điều kiện để chạy thử chương trình trên nhiều dòng điện thoại của nhiều hãng khác nhau nên có thể chương trình còn một số lỗi tiềm ẩn (mỗi hãng sản xuất có cách cài đặt chuẩn J2ME khác nhau).
Cấu hình tối thiểu để có thể chạy được ứng dụng (khoảng 250KB cho bộ
nhớ Heap, hỗ trợ tập tin JAR trên 148KB) cũng chưa dễđược đáp ứng đối với một số loại điện thoại có cấu hình thấp.
7.3. Hướng mở rộng :
Để chương trình hoàn thiện hơn nữa, có thể mở rộng trên một số vấn đề sau :
Bổ sung cơ sở dữ liệu cho đầy đủ hơn. Điều này thật ra cũng không khó nếu được nhiều người sử dụng quan tâm và cùng góp sức thực hiện. Cụ thể, khi tìm lộ trình qua những con đường không có tên, chương trình sẽ hiển thị mã số của
đường, ví dụ [2005]. Khi đó, nếu một người sử dụng biết được tên của đường này sẽ
gởi phản hồi về cho nhóm thực hiện để bổ sung.
Nếu sau này, điều kiện về phần cứng cho phép, chúng ta có thể bổ sung thêm cho chương trình tính năng tra cứu, hiển thị các tuyến xe buýt,…
Có thể kết hợp với một trang WAP để nhận thông tin về các điểm kẹt xe, các đoạn đường đang được sửa chữa, nâng cấp hoặc các đoạn đường tạm thời bị
cấm rồi đánh dấu trên bản đồ và thông báo cho người sử dụng biết, gợi ý cho họ các tuyến đường để tránh những điểm đó.
Phụ lục A : CÁC THUẬT NGỮĐƯỢC SỬ DỤNG
2G : Thế hệ thứ hai của công nghệ mạng không dây. Mạng 2G sử dụng công nghệ
chuyển mạch.
2.5G : Thế hệ tiếp theo của công nghệ không dây 2G. Mạng 2.5G không thay thế
mạng 2G mà chỉ cung cấp thêm dịch vụ dữ liệu gói tin cho các mạng 2G.
3G : Thế hệ thứ 3 của công nghệ mạng không dây. Mạng 3G sử dụng công nghệ
chuyển mạch gói.
Abstract Window Toolkit : Định nghĩa các thành phần giao diện đồ họa cho các chương trình Java.
application management system : Phần mềm có sẵn trên thiết bị di động, có chức năng điều khiển sự thực thi của các ứng dụng khác trên thiết bị.
attribute : thông tin về một đặc tính của MIDlet. Mỗi thông tin là một cặp tên-giá trị, tên dịnh nghĩa thuộc tính là gì, giá trị cho biết thông tin về thuộc tính.
character encoding set : một ánh xạ giữa các ký tự viết và mẫu các dãy bit, thường
được gọi là charset.
command : đại diện cho một hành động của người dùng. MIDP định nghĩa một lớp có tên là Command để tiếp nhận và xử lý các giao tiếp của người dùng với ứng dụng.
compatibility verification : quy trình xác định tính tương thích của ứng dụng thiết bịđược cài đặt.
compact virtual machine (CVM) : một máy ảo Java hỗ trợ các đặc điểm giống như máy ảo của J2SE nhưng được thiết kếđặc biệt cho các thiết bị nhúng.
configuration : đặc tả của một nền Java bao gồm một tập các đặc tính của máy ảo Java và các API cho một họ các thiết bị.
Connected Device Configuration (CDC) : một đặc tả J2ME hỗ trợ cho các thiết bị
di dộng.
Connected, Limited Device Configuration (CLDC) : một đặc tả J2ME hỗ trợ cho các thiết bị di dộng cá nhân với tài nguyên ít.
double buffering : kỹ thuật lập trình đồ họa sử dụng đồng thời hai vùng đệm để vẽ. Trước hết, chương trình vẽ lên một đối tượng đồ họa, sau đó sẽ chuyển nội dung của đối tượng này lên đối tượng chính chứ không vẽ trực tiếp lên đối tượng chính.
event listener : một lớp Java được định nghĩa bởi MIDP, lớp này được sử dụng để
lắng nghe sự kiện từ người dùng. Nếu một sự kiện xảy ra, MIDP sẽ gọi một phương thức trên đối tượng này để báo tin.
foundation profile : một profile được thiết kết để cài đặt CDC.
generic connection framework : một tập các giao diện MIDP và một lớp hỗ trợ
cho khả năng kết nối mạng của ứng dụng MIDP.
global positioning system (GPS) : một hệ thống thông tin địa lý dựa vào vệ tinh để
chuyển thông tin cho đối tượng nhận.
high-level API : tập các API dành cho việc tạo lập các đối tượng giao diện cấp cao
như Textbox, Form,…
Internationalization : làm cho một chương trình máy tính có khả năng thực thi trên nhiều ngôn ngữ, nhiều nền văn hóa.
Java 2 Micro Edition (J2ME) : một trong 3 nền Java được định nghĩa bởi Sun Microsystems, hỗ trợ cho các thiết bị di động.
Java application manager : một trình quản lý ứng dụng Java hỗ trợ cho việc điều khiển các ứng dụng Java khác trên thiết bị di động.
Kilobyte Virtual Machine (KVM) : một máy ảo Java được thiết kế để dùng với CLDC. Nó hỗ trợ một tập con các đặc điểm của máy ảo Java chuẩn.
Listener : xem event listener.
low-level API : các API hỗ trợ lập trình giao diện cho phép thao tác đối tượng ở
mức thấp
MIDlet : một ứng dụng cần nền MIDP để chạy.
MIDlet suite : một nhóm các MIDlet dùng chung tài nguyên, các MIDlet trong cùng một bộ phải được đóng gói với nhau để cung cấp cho thiết bị.
over-the-air : thuật ngữ này được dùng để chỉ việc tìm và download các ứng dụng thông qua mạng không dây.
personal profile : một profile J2ME được thiết kếđể cài đặt CDC.
profile : một đặc tả cho tập các lớp ở mức cao của một họ các thiết bị. Một profile cài đặt theo cấu hình của J2ME.
Personal Digital Assistant Profile (PDAP) : một J2ME profile được thiết kếđể cài