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 |
Chia sẻ: tue_kc | Lượt xem: 2293 | 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