2 Hướng nghiên cứu và giới hạn đề tài
7.1.1 Đặc điểm điện thoại SonyEricsson P900
P900 là sản phẩm mới nhất của nhà sản xuất Sony Ericsson sử dụng hệ điều hành Symbian. Từ những thành công mà điện thoại P800, điện thoại đầu tiên sử
dụng HĐH Symbian với nền hệ thống UIQ, tháng 11 năm 2003, Sony Ericsson tung ra sản phẩm P900 kế thừa tất cả những ưu điểm của P800 và bổ sung những tính năng mới.
H7.1 Sony Ericsson P900 và P800
P900 sử dụng nền hệ thống UIQ 2.1 (P800 sử dụng UIQ 2.0) hỗ trợ các tính năng mới như tạo skin, themes riêng và hỗ trợ quay phim, chụp hình, ghi âm không giới hạn (chỉ phụ thuộc dung lượng bộ nhớ). P900 hỗ trợ kết nối máy tính qua cổng USB ngoài các cổng truyền thống như RS232, hồng ngoại, bluetooth.
P900 có một bản phím số tạo thành 2 màn hình với kích thước và cách nhập liệu khác nhau. Khi đóng bản phím số, màn hình có kích thước 40x40mm, độ phân giải 208x208 pixel với cách nhập liệu như các điện thoại di động thông thường và không thể sử dụng bút stylus, màn hình không là màn hình cảm ứng. Khi bản phím số mở, màn hình mở rộng với kích thước 40x61mm, độ phân giải 208x320 pixel với cách nhập liệu bằng bút stylus qua màn hình cảm ứng. Độ phân giải màu mà P900 hỗ trợ là 65536 màu (16 bit màu).
KHOA CNTT –
ĐH KHTN
H7.2 P900 khi bản phím số mở, đóng và được tháo ra
Ngoài ra P900 còn hỗ trợ một số nút nhấn gắn bên 2 thân máy phục vụ cho các chức năng riêng như Jog Dial (bánh xe bên thân trái trên với 5 cách sử dụng cho các mục đích khác nhau: lên, xuống, trái, phải và ấn), nút browser phục vụ cho chức năng truy cấp nhanh Internet, nút CommuniCam dùng cho chức năng chụp hình, quay phim nhanh và nút tắt, mở máy.
P900 hỗ trợ lập trình với các ngôn ngữ C++, Java (Personal Java, Java MIDP / CLCD 2.0), và AppForge Mobile VB (kèm phần booster). Các ứng dụng thường chỉ được sử dụng với bản phím số mở, bản phím số đóng chỉ dùng cho các ứng dụng thoại và một sốứng dụng chuyên dụng do nhà sản xuất cung cấp sẵn.
7.1.2 Cấu trúc bộ nhớđiện thoại SE P900
Một trong những phần đặc biệt là cấu trúc bộ nhớ của P900. P900 cung cấp các loại bộ nhớ khác nhau và phong phú hơn nhiều, chuyên biệt hơn so với mô hình của Symbian mà chúng ta đã xem ở chương 2.
•Ổ Z: ROM
Nó chứa hệđiều hành và các ứng dụng (firmware) do nhà sản xuất cấp khi xuất máy. Trên P900 có một số ứng dụng dựng sẵn như: CommuniCorder (quay phim, chụp hình), Picture (xem ảnh), Video (xem phim), Music player (nghe nhạc), Internet, Mesage (nhắn tin), Contact (danh bạ cho người dùng), Phone, Calendar (lịch), Task (lưu các tác vụ cho người dùng trong ngày), Joster (ghi chép), Control
KHOA CNTT –
ĐH KHTN
Panel (cấu hình hệ thống), File Manager (quản lý file), Calculator (máy tính), trò chơi, v.v... Bộ nhớ này là Flash memory. Đối với các hoạt động thông thường trong hệ thống, đây là bộ nhớ chỉ đọc. Nhưng chúng có thểđược xóa và ghi lại qua dịch vụ cập nhật trực tiếp từ trang web dịch vụ của nhà sản xuất điện thoại Sony Ericsson (http://www.sonyericsson.com/updateservice/P900/frameset.htm) hay tại các trung tâm dịch vụ với phiên bản CDA phù hợp.
•Ổ A: ROM
Ổ A là một ổ ROM chỉ đọc khác. Nó chứa các thuộc tính ứng dụng phụ
thuộc theo quốc gia hay vùng điện thoại được bán như: trang web chủ trong Web brower, themes mặc định, chuông chuẩn, màu chuẩn, hình động khi tắt, mở máy, ... Các thuộc tính này phụ thuộc trên phiên bản CDA. Chúng ta không thểđổi nội dung
ổđĩa này được. Đó là lý do khi cập nhật firmware phải lấy đúng với phiên bản CDA của máy.
•Ổ C: Lưu trữ
Ổ C giống nhưđĩa cứng trên máy tính cá nhân. Chúng ta có thể dùng nó để
lưu trữ các loại file và ứng dụng khác nhau. Hệ thống dùng nó để lưu trữ các cấu hình và cơ sở dữ liệu (như cơ sở dữ liệu cho ứng dụng Contact). Chúng ta hoàn toàn có thể xóa, sửa trên nó. Do đó để bảo vệ các ứng dụng và thông tin cấu hình, thư
mục System đã được ẩn với người dùng. Trên P900, kích thước ổ C là 16MB (P800:12MB). Ổ C: cũng là ổ flash nên dữ liệu sẽ không bị mất khi pin hết hay khi ta thay pin.
•Ổ D: Thẻ nhớ
Đĩa D là một thẻ nhớ dạng Memory Stick Duo được gắn vào bên hông phải của máy. Về cơ bản, nó được xem là bộ nhớ mở rộng cho bộ nhớ ổ C. Chúng ta có thể lưu trữ ứng dụng và các loại file trên nó. Hiện P900 hỗ trợ tối đa 128MB bộ
nhớ.
• Bộ nhớ RAM
Bộ nhớ này thực hiện như RAM trên máy tính của chúng ta. Nó phục vụ
KHOA CNTT –
ĐH KHTN
thi. P900 hỗ trợ RAM 16MB trong đó 6-8MB cho các tiến trình ứng dụng và phần còn lại cho hệđiều hành.
7.2 Nền hệ thống UIQ
7.2.1 Các đặc tính của UIQ
UIQ là nền hệ thống được thiết kế cho mô hình tham khảo Quartz, một loại Communicator giao tiếp qua màn hình cảm ứng với màn hình phân giải theo chuẩn 1/4 VGA-ngang 208 (hoặc 240) pixel và cao 320 pixel (1 pixel khoảng 0,28 mm2).
UIQ là thiết kế chuẩn cho dòng Communicator Quartz nhưng các thiết bị này
được thiết kế và sản xuất bởi nhiều nhà sản xuất khác nhau. Và để phục vụ cho các mục đích kinh doanh họ thường bổ sung nhiều phần cứng chuyên dụng, các chức năng bổ sung cho các sản phẩm của mình tạo ra nhiều điện thoại Symbian dòng Quartz dùng UIQ có kiểu dáng và chức năng khác nhau bên cạnh những thiết kế
truyền thống cho UIQ. Sự khác nhau này tạo sự phong phú cho các điện thoại dòng UIQ. Là những người phát triển ứng dụng cho các điện thoại Symbian dùng UIQ (và cả trên các nền hệ thống khác nữa), chúng ta phải lưu ý những API mà chúng ta dùng trong lâp trình là cho nền hệ thống chung hay cho riêng loại điện thoại nào, để
xác định ứng dụng của chúng ta có chạy được trên tất cả các điện thoại cùng nền hệ
thống hay không hay chỉ là cho riêng một hay hai loại điện thoại nhất định.
Với thiết kế giao tiếp chính qua màn hình cảm ứng với bút Stylus, mục tiêu chính trên các điện thoại dùng UIQ là truy xuất, tìm kiếm thông tin. Các ứng dụng trên Symbian phần lớn để được thiết kế theo dạng liệt kê danh sách để phục vụ cho mục đích này. Nhưng với nhập liệu, UIQ cũng hỗ trợ sử dụng dễ dàng. Ngày, số được nhập liệu qua các điều khiển dùng bút thân thiện, trong khi văn bản có thể
nhập liệu qua nhận dạng chữ cái viết tay và một bàn phím ảo trên màn hình.
Theo đúng thiết kế của HĐH Symbian 7.0, UIQ dấu toàn bộ file hệ thống với người dùng điều này đảm bảo cho sự an toàn hoạt động cho điện thoại Symbian, tránh những rủi ro đáng tiếc do người dùng gây ra.
KHOA CNTT –
ĐH KHTN
7.2.2 Hệ thống giao diện UIQ
Phần giao diện trong UIQ gồm tầng Uikon-tầng giao diện chung do Symbian cung cấp và tầng Qikon-đặc tả các thành phần giao tiếp và đồ họa cho riêng UIQ bao gồm phần Look-And-Feel cài đặt các chức năng đặc trưng UIQ.
• Vùng màn hình
Vùng màn hình thường được chia làm 5 phần theo thứ tự như sau:
- Application picker: Điều khiển dùng để chuyển đổi giữa các ứng dụng.
Điều khiển này thuộc quyền quản lý của shell (shell trên UIQ gọi là Application Launcher). Điều khiển này luôn luôn tồn tại, được dùng để chuyển ứng dụng đang mở hay nạp các ứng dụng mặc định do nhà sản xuất quy định trên thanh Application picker.
- Menu bar: Chứa menu ứng dụng, phục vụ cho các chức năng ứng dụng. Menu ứng dụng luôn tồn tại trong mọi ứng dụng trên UIQ.
- Client area: vùng hiển thị chính cho ứng dụng, còn được gọi là vùng
ứng dụng.
- Button bar: Thanh công cụ chứa các điều khiển là các nút nhấn. Mỗi button bar sẽ gắn liền với một cửa sổ hiển thị (mỗi ứng dụng có nhiều cửa sổ hiển thị khác nhau). Đây là điều khiển tùy chọn, không phải cửa sổ hiển thị nào cũng bắt buộc phải có button bar.
- Status bar: Hiển thị thông tin trạng thái của thiết bị như trình trạng pin, giờ và tình trạng sóng. Điều khiển này cũng do shell quản lý, và các điều khiển trên nó sẽ khác nhau tùy theo nhà sản xuất.
KHOA CNTT –
ĐH KHTN
H7.3 Vùng màn hình điện thoại UIQ
• Hộp thoại
UIQ cung cấp các dạng hộp thoại (dialog) chuẩn của Symbian bao gồm: Query dialog, Single-page dialog, Multi-page dialog. Các dialog này đều được hiển thị nằm ở phần dưới cửa sổ hiển thị ứng dụng. Các dialog này có thể chứa các điều khiển chuẩn như các loại button, list box, combo box, text editor,.. và một nút nhấn trả về khung nhìn của ứng dụng.
KHOA CNTT –
ĐH KHTN
• Nhập liệu văn bản với UIQ
Do nhập liệu bằng bút stylus nên UIQ hỗ trợ 2 kiểu nhập liệu đặc biệt. Kiểu nhập liệu chính là nhận dạng chữ cái viết tay và một kiểu nhập liệu phụ là bàn phím
ảo. Khi trên một khung nhập liệu xuất hiện con trỏ nhập văn bản (caret) ở giữa màn hình bên phải xuất hiện một hình tam giác và trên status bar xuất hiện biểu tượng bàn phím. Lúc này ta có thể nhập các ký tự cho khung nhập liệu.
- Nhận dạng viết tay (handwriting recognition): được thể hiện bởi hình tam giác. Để nhập ký tự, chúng ta dùng bút stylus viết trực tiếp lên màn hình. Các chữ
cái và số có thể viết theo cách thông thường, trong khi các ký tự khác có quy ước riêng. Mũi tam giác chắn màn hình thành hai nửa: nếu ký tự là chữ cái và được viết
ở vùng trên thì chữ sẽ là chữ hoa, nếu được viết ở vùng dưới là chữ thường.
H7.5 Nhập liệu chữ “A” với nhận dạng viết tay và bàn phím ảo
- Bàn phím ảo (virtual keyboard): bàn phím ảo ở dưới dạng một dialog
được nạp bằng cách chọn biểu tượng bàn phím trên thanh status bar. Biểu tượng này chỉ hiển thị khi một khung có thể nhập văn bản được chọn (focus). Lúc này ta có thể
nhập văn bản bằng cách chọn các ký tự có trên bàn phím ảo. Trên dialog bàn phím
ảo có một khung đồng bộ ký tự nhập với khung nhập liệu của ứng dụng, có tên cho chúng ta biết đang nhập cho khung nhập nào. Khi trên vùng hiển thị có nhiều khung nhập thì trên bàn phím ảo có 2 mũi tên để chuyển trực tiếp khung nhập từ bàn phím
KHOA CNTT –
ĐH KHTN
• Vùng hiển thịứng dụng
Mỗi ứng dụng có nhiều cửa sổ hiển thị (view) khác nhau phục vụ cho các mục đích sử dụng khác nhau. Cửa sổ hiển thịđầu tiên khi ứng dụng bắt đầu thi hành gọi là cửa sổ hiển thị cơ sở (base view). Theo thiết kế UIQ, mỗi view sẽ phục vụ
chức năng nhập liệu và xử lý riêng, và dữ liệu sẽ được lưu khi chuyển sang view khác. Khi một view được mở lại , nó sẽ phục hồi những gì đã lưu trước đó. Điều này làm cho người dùng không thể phân biệt giữa ứng dụng được nạp từđầu và ứng dụng được tái hoạt động hoặc giữa chuyển khỏi một ứng dụng (sang một ứng dụng khác bằng điều khiển “::” trên Application picker nhưng không đóng ứng dụng này) và đóng ứng dụng đó. Khi cần vùng nhớ, UIQ sẽ mới đóng ứng dụng hiện không dùng. Do đó người dùng không cần đóng ứng dụng một cách tường minh. Vì vậy UIQ không khuyến khích chức năng đóng ứng dụng trên menu. Thông thường chức năng đóng ứng dụng chỉ dùng cho Emulator ở chếđộ debug.
Đặc biệt, với UIQ, chúng ta có thể chuyển từ view trên ứng dụng này sang view trên ứng dụng khác nhờ các hàm chức năng bên dưới gọi là DNL (Direct Navigation Link).
7.2.3 Các ứng dụng hệ thống
- Application Launcher: quản lý tất cả các ứng dụng hiện có trong hệ thống. Các ứng dụng được hiển thị trong khung nhìn Application Launcher theo dạng các icon hoặc theo dạng danh sách (list).
KHOA CNTT –
ĐH KHTN
- Installer: chương trình cài đặt và gỡ bỏ ứng dụng được nạp từ menu của Application Launcher.
H7.7 Installer
- Control Panel: ứng dụng thiết lập các cài đặt hệ thống, được hiển thị dưới dạng các dialog.
H7.8 Control Panel 7.2.4 Bộ SDK UIQ 2.1 WINSCW
UIQ 2.1 là bộ SDK được sử dụng để phát triển các ứng dụng cho các điện thoại dùng nền hệ thống UIQ 2.1 (SE P900, BenQ P300 và Motorola A1000). So với UIQ 2.0, UIQ 2.1 hỗ trợ phần tạo hiệu ứng cho giao diện themes, skin, đa phương tiện (multimedia), hỗ trợ MIDP 2.0 thay cho MIDP 1.0, v.v…
SDK UIQ 2.1 WINSCW là bộ SDK hỗ trợ phát triển ứng dụng trên môi trường IDE Metrowerks CodeWarrior bao gồm các gói công cụ phát triển cho C++ và Java (JavaPhone, PersonalJava và MIDP 2.0).
KHOA CNTT –
ĐH KHTN
7.3 IDE Metrowerks CodeWarrior for Symbian Personal 2.0
IDE CodeWarrior do công ty Metrowerks, một công ty thành viên của Motorola phát triển. IDE CodeWarrior cho ứng dụng Symbian có 3 bản phân phối là Personal, Professional và OEM. Hiện nay cùng với Borland C++ BuilderX, CodeWarrior là IDE hàng đầu để phát triển ứng dụng trên Symbian. IDE CodeWarrior cung cấp đầy đủ các công cụđể soạn thảo, kiểm lỗi, biên dịch, liên kết và đóng gói ứng dụng.
Phiên bản chúng tôi sử dụng là CodeWarrior for Symbian Personal 2.0 đầy đủ
các công cụ để xây dựng và phát triển ứng dụng Symbian nhưng thiếu hỗ trợ kiểm lỗi trực tiếp trên điện thoại Symbian, bản phân phối Professional và OEM mới có.
KHOA CNTT –
ĐH KHTN
CHƯƠNG 8
XÂY DỰNG VÀ CÀI ĐẶT TỪ ĐIỂN TRÊN
ĐIỆN THOẠI SONY ERICSSON P900
Ứng dụng từđiển Anh Việt, Việt Anh Xây dựng chương trình
Sơ đồ UML cho chương trình ứng dụng Các lớp cài đặt
4 Lớp cơ bản
Lớp xử lý tiếng Việt Lớp phát âm
File cơ sở dữ liệu từđiển và cách truy xuất Biên dịch và cài đặt chương trình
Biên dịch
KHOA CNTT –
ĐH KHTN
8.1 Ứng dụng từđiển Anh Việt, Việt Anh
Ứng dụng từđiển Anh Việt, Việt Anh được phát triển cho hệđiều hành Symbian trên nền hệ thống UIQ 2.1 và được cài đặt cụ thể trên điện thoại Sony Ericsson P900. Tuy nhiên các loại điện thoại UIQ khác như Sony Ericsson P800 (UIQ 2.0) vẫn có thể sử dụng được.
Mục tiêu của ứng dụng là công cụ phục vụ cho tra từ với 2 phần Anh Việt và Việt Anh. Để tra từ người dùng nhập từ cần tra qua nhận dạng viết tay hay bàn phím
ảo vào khung nhập. Tương ứng với các từ người dùng nhập, danh sách các từ tương tự sẽ được hiện ra và để tra từ, người dùng có thể chọn từ mình muốn tra từ danh sách này. Kết quả tra nghĩa sẽđược thể hiện trên một khung hiển thị.
Đối với từđiển Anh-Việt, một số từ sẽ có phần phát âm đi kèm.
Đối với từ điển Việt Anh, một bộ gõ tiếng Việt được tích hợp sẵn trong chương trình. Người dùng có thể chọn 2 kiểu gõ thông dụng là Vni và Telex.
• Chương trình:
KHOA CNTT –
ĐH KHTN
8.2 Xây dựng chương trình
8.2.1 Sơđồ UML cho chương trình ứng dụng
H8.2 Sơđồ UML chương trình từđiển TNDic 8.2.2 Các lớp cài đặt
8.2.2.1 4 Lớp cơ bản trong kiến trúc ứng dụng chương trình đồ họa
• Mã khởi tạo hoạt động ứng dụng đồ họa: Như mọi ứng dụng đồ họa khác trên Symbian (vốn là một thư viên đa hình), ứng dụng từ điển cũng bao gồm mã khởi tạo ứng dụng được lưu trữ trong file Dictionary.cpp.
EXPORT_C CApaApplication* NewApplication() {
return new CDicApplication; }
• Lớp ứng dụng: CDicApplication. Nhiệm vụ của lớp này là khởi tạo đối tượng tài liệu cho ứng dụng. Lớp được cài đặt trong file DicApplication.cpp
CApaDocument* CDicApplication::CreateDocumentL() {
return new (ELeave) CDicDocument(*this); }
• Lớp tài liệu: CDicDocument. Ứng dụng từđiển TNDic không phải là ứng dụng file mặc dù trong ứng dụng có truy xuất file. Do đó nhiệm vụ chính của lớp
KHOA CNTT –
ĐH KHTN