Như tên gọi, điện thoại di động là thiết bị nhỏ gọn, được thiết kế phục vụ chủ yếu cho nhu cầu liên lạc và giải trí của người dùng khi “di chuyển”. Bộ xử lý cũng như khả năng lưu trữ của điện thoại di động kém xa so với máy tính để bàn. Ngoài ra việc lập trình ứng dụng trên điện thoại cũng có những khác biệt và khó khăn so với với lập trình trên máy tính.
                
              
                                            
                                
            
                       
            
                 145 trang
145 trang | 
Chia sẻ: tue_kc | Lượt xem: 2438 | Lượt tải: 5 
              
            Bạn đang xem trước 20 trang tài liệu NGHIÊN CỨU VÀ XÂY DỰNG  ỨNG DỤNG TỪ ĐIỂN  TRÊN ĐIỆN THOẠI DI ĐỘNG, để 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 CÔNG NGHỆ PHẦN MỀM 
 BÙI TẤN LỘC - 0112013 
 CAO THÁI PHƯƠNG THANH - 0112031 
NGHIÊN CỨU VÀ XÂY DỰNG 
ỨNG DỤNG TỪ ĐIỂN 
TRÊN ĐIỆN THOẠI DI ĐỘNG 
KHÓA LUẬN CỬ NHÂN TIN HỌC 
GIÁO VIÊN HƯỚNG DẪN 
Th.S NGUYỄN TẤN TRẦN MINH KHANG 
Th.S TRẦN MINH TRIẾT 
NIÊN KHÓA 2001 - 2005
LỜI CÁM ƠN 
Chúng em xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học 
Khoa học Tự nhiên, Đại học Quốc gia Tp. Hồ Chí Minh đã tạo điều kiện thuận lợi 
cho chúng em học tập và thực hiện đề tài tốt nghiệp này. 
Chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Nguyễn Tấn Trần Minh 
Khang, thầy Trần Minh Triết đã tận tình hướng dẫn, chỉ bảo chúng em trong quá 
trình thực hiện đề tài. 
Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa Công nghệ Thông 
tin đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những 
năm học vừa qua. 
Chúng con xin chân thành cảm ơn Ông Bà, Cha Mẹ đã luôn động viên, ủng hộ 
vật chất lẫn tinh thần trong suốt thời gian qua. 
Chúng em xin cảm ơn sự quan tâm, giúp đỡ và ủng hộ của anh chị, bạn bè trong 
quá trình thực hiện khóa luận. 
Mặc dù đã cố gắng hoàn thành khóa luận trong phạm vi và khả năng cho phép 
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Chúng em rất mong nhận 
được sự thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô và các bạn. 
 Tp. Hồ Chí Minh, tháng 07 năm 2005 
 Nhóm sinh viên thực hiện 
 Bùi Tấn Lộc – Cao Thái Phương Thanh
Lời nói đầu 
Công nghệ thông tin đang trở thành một phần quan trọng của cuộc sống. Các 
thiết bị kĩ thuật cao ngày càng gần gũi với mọi hoạt động của con người. Đặc biệt 
những năm gần đây, các thiết bị không dây - với ưu thế nhỏ gọn, dễ mang chuyển – 
đã chứng tỏ được lợi ích to lớn cho người sử dụng. Trong đó điện thoại di động, 
với các chức năng liên lạc, nổi bật lên như một thiết bị “không thể thiếu” trong cuộc 
sống của nhiều người. Với sự phát triển nhanh chóng của công nghệ sản xuất thiết 
bị không dây, điện thoại di động đã trở thành phương tiện đa chức năng (nghe nhạc, 
chơi trò chơi, nhắc lịch làm việc…) phục vụ cho nhu cầu của người sử dụng mọi 
lúc, mọi nơi. 
Hệ điều hành Symbian là một hệ điều hành được thiết kế riêng để hoạt động tối 
ưu trên các thiết bị di động vốn hạn chế về tài nguyên. Trên môi trường Symbian có 
thể xây dựng hàng loạt ứng dụng tương tự máy tính cá nhân như: trình nghe nhạc 
MP3, trình xem phim .AVI, ứng dụng văn phòng (hỗ trợ tập tin MS Word, MS 
Excel…), các trò chơi 3D… Vì vậy sự ra đời của dòng điện thoại thông minh sử 
dụng hệ điều hành Symbian với kiểu dáng tương đối nhỏ gọn, thiết kế đẹp mắt và 
những ứng dụng hữu ích đã tạo ra một bước ngoặt mới trong thị trường điện thoại di 
động. Đồng thời mở ra một hướng phát triển mới đầy hứa hẹn cho các công ty phần 
mềm. 
Bên cạnh đó, trong cuộc sống hiện nay, nhu cầu học tập, trao đổi kiến thức, 
cũng như làm việc bằng ngoại ngữ là hết sức cần thiết. Sẽ rất tiện lợi nếu có một bộ 
từ điển đa ngôn ngữ với đầy đủ chức năng, ngữ nghĩa nhưng nhỏ gọn, dễ mang 
chuyển. 
Vì những lý do trên, nhóm chúng em quyết tâm thực hiện đề tài “Nghiên cứu 
và xây dựng ứng dụng từ điển trên điện thoại di động” 
1 
MỤC LỤC 
Chương 1 Mở đầu ..................................................................................................... 9 
1.1 Nhu cầu thực tế và lý do thực hiện đề tài ......................................................... 9 
1.2 Mục tiêu của đề tài ......................................................................................... 10 
1.3 Nội dung khóa luận ........................................................................................ 11 
Chương 2 Tổng quan về hệ điều hành Symbian và điện thoại thông minh 
Series 60.................................................................................................................... 12 
2.1 Giới thiệu hệ điều hành Symbian ................................................................... 12 
2.1.1 Công ty Symbian và hệ điều hành Symbian .......................................................12 
2.1.2 Các mô hình thiết bị sử dụng hệ điều hành Symbian .........................................14 
2.1.3 Các thành phần phần cứng chính trong điện thoại Symbian ..............................15 
2.2 Điện thoại thông minh Symbian Series 60..................................................... 17 
2.2.1 Giới thiệu ............................................................................................................17 
2.2.2 Các tiêu chuẩn phần cứng của sản phẩm Series 60 ............................................18 
Chương 3 Môi trường lập trình và vấn đề chính khi xây dựng ứng dụng từ 
điển trên Series 60 ................................................................................................... 19 
3.1 Phát triển ứng dụng trên điện thoại Series 60 ................................................ 19 
3.1.1 Series 60 Developer Platform.............................................................................19 
3.1.2 Các ngôn ngữ lập trình trên Series 60 Developer Platform................................21 
3.2 Series 60 Application Framework.................................................................. 23 
3.2.1 Series 60 Application Structure ..........................................................................23 
3.2.2 Các loại ứng dụng trên điện thoại Series 60 .......................................................24 
3.3 Vấn đề chính khi xây dựng ứng dụng từ điển trên Series 60 ......................... 25 
3.3.1 Một số hạn chế phần cứng của điện thoại di động Series 60..............................26 
3.3.2 Các yêu cầu cơ bản của một ứng dụng từ điển ...................................................26 
3.3.3 Kết luận...............................................................................................................27 
Chương 4 Kĩ thuật lập trình C++ trên Symbian.................................................. 28 
4.1 Quản lý lỗi ...................................................................................................... 28 
4.1.1 Lỗi lập trình ........................................................................................................28 
4.1.2 Lỗi thiếu tài nguyên ............................................................................................29 
4.2 Chuỗi .............................................................................................................. 37 
4.2.1 Khái niệm............................................................................................................37 
4.2.2 Phân loại .............................................................................................................38 
4.3 Mảng............................................................................................................... 42 
4.3.1 Mảng tĩnh............................................................................................................42 
4.3.2 Mảng động ..........................................................................................................42 
4.4 Mảng chuỗi ..................................................................................................... 47 
4.4.1 Khái niệm............................................................................................................47 
Chương 5 Các giải pháp chính cho việc xây dựng từ điển trên điện thoại di 
động Series 60 .......................................................................................................... 49 
5.1 Tổ chức cấu trúc dữ liệu lưu trữ ..................................................................... 49 
2 
5.1.1 Tổ chức các mục từ có kích thước bằng nhau ....................................................50 
5.1.2 Tổ chức các mục từ có kích thước biến động .....................................................51 
5.2 Tổ chức nén dữ liệu........................................................................................ 52 
5.2.1 Nén toàn bộ dữ liệu.............................................................................................52 
5.2.2 Nén từng khối dữ liệu .........................................................................................52 
5.2.3 Chuẩn nén Dictzip ..............................................................................................53 
5.2.4 Những khó khăn khi áp dụng Dictzip trên điện thọai di động............................54 
5.2.5 Chuẩn nén Dictzip# ............................................................................................55 
5.3 Tổ chức cấu trúc dữ liệu hỗ trợ cho việc tìm kiếm nhanh.............................. 57 
5.3.1 Tổ chức tập tin nghĩa ..........................................................................................58 
5.3.2 Tổ chức tập tin chỉ mục ......................................................................................59 
5.3.3 Tổ chức băm tập tin chỉ mục ..............................................................................60 
Chương 6 Các kỹ thuật xử lý ứng dụng................................................................ 64 
6.1 Font chữ tiếng Việt ......................................................................................... 64 
6.2 Bàn phím máy điện thoại................................................................................ 66 
6.3 Các control của hệ điều hành Symbian .......................................................... 68 
6.3.1 Mô hình MVC.....................................................................................................68 
6.3.2 Phân loại controls trong Symbian.......................................................................69 
6.3.3 Sử dụng control...................................................................................................70 
6.3.4 Control observers................................................................................................73 
6.4 Kỹ thuật tra cứu tự nhiên................................................................................ 73 
6.4.1 Sắp xếp các mục từ tăng dần theo thứ tự bảng chữ cái Việt Nam......................73 
6.4.2 Tối ưu số lượng các mục từ được nạp ................................................................76 
6.4.3 Tùy biến cách thức tra cứu của người sử dụng...................................................76 
6.5 Kỹ thuật phát âm ............................................................................................ 77 
6.5.1 Những giới hạn khi xây dựng thư viện phát âm .................................................77 
6.5.2 Text To Speech Offline.......................................................................................79 
6.5.3 Text To Speech Online .......................................................................................79 
Chương 7 Phân tích thiết kế ứng dụng từ điển .................................................... 81 
7.1 Giới thiệu........................................................................................................ 81 
7.2 Mô hình Use-Case .......................................................................................... 81 
7.2.1 Mô hình Use-Case ..............................................................................................81 
7.2.2 Đặc tả các Use-Case chính..................................................................................82 
7.3 Thiết kế lớp đối tượng .................................................................................... 87 
7.4 Thiết kế xử lý.................................................................................................. 89 
7.4.1 Danh sách các xử lý chính ..................................................................................89 
7.4.2 Mô tả các xử lý chính .........................................................................................90 
7.5 Thiết kế giao diện ........................................................................................... 97 
7.5.1 Màn hình tra từ ...................................................................................................98 
7.5.2 Màn hình hiển thị nghĩa ......................................................................................98 
7.5.3 Menu chính .........................................................................................................99 
7.5.4 Màn hình cài đặt .................................................................................................99 
Chương 8 Ứng dụng hỗ trợ quản lý dữ liệu trên Desktop ................................ 100 
8.1 Giới thiệu...................................................................................................... 100 
3 
8.2 Mô hình Use-Case ........................................................................................ 100 
8.2.1 Mô hình Use-Case ............................................................................................100 
8.2.2 Đặc tả một số Use-Case chính ..........................................................................101 
8.3 Thiết kế lớp................................................................................................... 106 
8.3.1 Sơ đồ lớp...........................................................................................................106 
8.3.2 Mô tả các lớp chính...........................................................................................106 
8.4 Thiết kế xử lý................................................................................................ 107 
8.4.1 Danh sách các xử lý chính ................................................................................107 
8.4.2 Mô tả một số xử lý chính ..................................................................................107 
8.5 Các màn hình giao diện ................................................................................ 109 
8.5.1 Danh sách các màn hình giao diện....................................................................109 
8.5.2 Mô tả các màn hình giao diện...........................................................................110 
Chương 9 Cài đặt và thử nghiệm......................................................................... 112 
9.1 Môi trường phát triển ................................................................................... 112 
9.2 Mô hình cài đặt ............................................................................................. 113 
9.3 Hướng dẫn sử dụng ...................................................................................... 114 
9.3.1 Yêu cầu phần cứng ...........................................................................................114 
9.3.2 Cài đặt ...............................................................................................................114 
9.3.3 Hướng dẫn sử dụng chương trình Mobile Dictionary ......................................115 
9.3.4 Hướng dẫn sử dụng chương trình Dictionary Manager....................................117 
9.4 Thử nghiệm .................................................................................................. 121 
9.4.1 Kết quả thử nghiệm hoạt động của ứng dụng ...................................................121 
9.4.2 So sánh với các từ điển hiện có trên thị trường ................................................121 
Chương 10 Tổng kết.............................................................................................. 123 
10.1 Một số kết quả đạt được ............................................................................. 123 
10.2 Hướng phát triển......................................................................................... 124 
Phụ lục A SDKs và ứng dụng HelloWorld ..................................................... 125 
A.1 SDKs (Software Development Kits) ....................................................... 125 
A.2 Hướng dẫn cài đặt SDKs cho Series 60. (Một và nhiều SDK) ............... 126 
A.3 Biên dịch và cài đặt ví dụ HelloWorld.................................................... 127 
Phụ lục B Khái niệm cơ bản khi lập trình C++ trên hệ điều hành Symbian132 
B.1 Các qui ước đặt tên.................................................................................. 132 
B.2 Kiểu dữ liệu cơ bản ................................................................................. 135 
Phụ lục C Chuẩn nén Dictzip#......................................................................... 137 
Phụ lục D Các bộ dữ liệu của từ điển.............................................................. 139 
Tài liệu tham khảo ................................................................................................ 141 
4 
DANH MỤC CÁC HÌNH 
Hình 1.1 Nhu cầu từ điển di động........................................................................................10 
Hình 2.1 Các cổ đông của công ty Symbian........................................................................12 
Hình 2.2 Các nhà sản xuất có giấy phép sử dụng hệ điều hành Symbian ...........................13 
Hình 2.3 Communicator áp dụng mô hình Crystal ..............................................................14 
Hình 2.4Communicator áp dụng mô hình Quartz................................................................15 
Hình 2.5 Smartphone áp dụng mô hình Pearl ......................................................................15 
Hình 2.6 Điện thoại thông minh Symbian Series 60 ...........................................................17 
Hình 2.7 Màn hình điện thoại Series 60 ..............................................................................18 
Hình 2.8 Bàn phím điện thoại Series 60 ..............................................................................18 
Hình 3.1 Application Structure............................................................................................23 
Hình 3.2 Một ứng dụng dialog base ....................................................................................24 
Hình 3.3 Một ứng dụng controls..........................................................................................25 
Hình 3.4 Một ứng dụng Application / View architecture ....................................................25 
Hình 4.1 Chuỗi không thể thay đổi......................................................................................39 
Hình 4.2 Chuỗi có thể thay dổi ............................................................................................39 
Hình 4.3Chuỗi cấp phát trên heap .......................................................................................40 
Hình 4.4 Con trỏ chuỗi không thể thay đổi..........................................................................40 
Hình 4.5 Con trỏ chuỗi có thể thay đổi................................................................................40 
Hình 4.6 Cây kế thừa các lớp descriptor..............................................................................41 
Hình 4.7 Sức chứa và độ phân hạt của mảng.......................................................................43 
Hình 4.8 Mảng cùng kích thước, liên tục ............................................................................44 
Hình 4.9 Mảng cùng kích thước, phân đoạn........................................................................44 
Hình 4.10 Mảng khác kích thước, liên tục...........................................................................45 
Hình 4.11 Mảng khác kích thước, phân đoạn......................................................................45 
Hình 4.12 Mảng packed, liên tục.........................................................................................45 
Hình 4.13 Mảng chuỗi không thể thay đổi ..........................................................................47 
H