Sự kết hợp giữa máy trợ giúp cá nhân PDA và điện thoại di động đã tạo ra một thiết bị mới, thiết bị WID (Wireless Information Device) mà hiện nay được biết nhiều dưới dạng điện thoại thông minh (Smartphone). Các thiết bị WID này với khả năng xử lý của máy tính nhỏ và chức năng liên lạc của điện thoại di động có thể giúp chúng ta xử lý công việc dù đang ở đâu với tính năng lưu trữ, xử lý và truy cập vô tuyến.
190 trang |
Chia sẻ: vietpd | Lượt xem: 1323 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu và nghiên cứu kỹ thuật phát triển ứng dụng trên môi trường symbian os, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KH
OA
C
NT
T –
Đ
H
KH
TN
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG MÁY TÍNH & VT
PHẠM KHẮC HƯNG 0012153
VÕ HỒNG DUYÊN 0012530
TÌM HIỂU VÀ NGHIÊN CỨU KỸ THUẬT
PHÁT TRIỂN ỨNG DỤNG TRÊN MÔI
TRƯỜNG SYMBIAN OS
LUẬN VĂN CỬ NHÂN TIN HỌC
TP.HCM, 2004
KH
OA
C
NT
T –
Đ
H
KH
TN
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG MÁY TÍNH & VT
PHẠM KHẮC HƯNG 0012153
VÕ HỒNG DUYÊN 0012530
TÌM HIỂU VÀ NGHIÊN CỨU KỸ THUẬT
PHÁT TRIỂN ỨNG DỤNG TRÊN MÔI
TRƯỜNG SYMBIAN OS
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
Thạc sĩ ĐỖ HOÀNG CƯỜNG
NIÊN KHÓA 2000 - 2004
KH
OA
C
NT
T –
Đ
H
KH
TN
LỜI CẢM ƠN
Chúng con xin tỏ lòng biết ơn sâu sắc đến ba mẹ và gia đình đã nuôi dưỡng, giáo
dục và tạo điều kiện tốt nhất cho chúng con thực hiện đề tài này.
Chúng em xin chân thành cảm ơn khoa Công nghệ thông tin và quý Thầy, Cô
trong khoa, trường Đại học Khoa học Tự nhiên TpHCM đã tạo điều kiện cho chúng
em học tập và thực hiện luận văn tốt nghiệp này.
Chúng em xin chân thành cảm ơn Thầy Đỗ Hoàng Cường đã tận tình hướng dẫn,
chỉ bảo chúng em trong thời gian thực hiện đề tài.
Chúng em cũng xin chân thành cảm ơn các anh chị, bạn bè đã động viên, giúp đỡ
chúng em vượt qua những khó khăn trong quá trình thực hiện đề tài cũng như trong
suốt những năm học vừa qua.
Mặc dù chúng em đã cố gắng hoàn thành luận văn với tất cả sự nỗ lực của bản
thân, nhưng luận văn chắc chắn không tránh khỏi những thiếu sót nhất định, kính
mong sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các bạn.
Tháng 7 / 2004
Khắc Hưng&Hồng Duyên
KH
OA
C
NT
T –
Đ
H
KH
TN
MỤC LỤC
Trang
Danh sách các bảng...........................................................................................7
Danh sách các hình ...........................................................................................7
Tóm tắt ............................................................................................................10
Chương mở đầu ..............................................................................................11
1 Dẫn nhập..................................................................................................11
2 Hướng nghiên cứu và giới hạn đề tài ......................................................12
3 Mục tiêu của đề tài ..................................................................................13
Phần 1 Tổng quan về hệ điều hành Symbian
Chương 1 Hệ điều hành Symbian..............................................................15
1.1 Hệ điều hành cho thiết bị WID .............................................................16
1.1.1 Đặc điểm của hệ điều hành cho thiết bị WID ...............................16
1.1.2 Các hệ điều hành cho thiết bị WID...............................................17
1.1.3 Symbian – Hệ điều hành hàng đầu cho thiết bị WID ...................18
1.2 Lịch sử hệ điều hành Symbian .............................................................19
1.3 Các dòng điện thoại Symbian...............................................................22
1.4 Các thành phần phần cứng chính trong điện thoại Symbian................24
1.5 Tương lai Symbian ...............................................................................26
Chương 2 Cấu trúc hệ thống hệ điều hành Symbian .................................28
2.1 Cấu trúc hệ điều hành và phần mềm ứng dụng ....................................29
2.1.1 Nhân và E32..................................................................................31
2.1.2 Hệ thống con và API.....................................................................34
2.2 Cấu trúc truyền thông ...........................................................................36
2.3 Tiến trình và tiểu trình trong Symbian .................................................39
2.3.1 Tiến trình.......................................................................................39
2.3.2 Tiểu trình.......................................................................................39
2.3.3 Tiến trình và tiểu trình nhân..........................................................39
4
KH
OA
C
NT
T –
Đ
H
KH
TN
2.3.4 Quản lý và điều phối tiến trình .....................................................40
2.4 Chương trình hoạt động trên Symbian..................................................40
2.4.1 File thực thi ...................................................................................40
2.4.2 Nạp chương trình khi thực thi .......................................................42
2.4.3 Thực thi ứng dụng và server .........................................................42
2.5 Quản lý bộ nhớ .....................................................................................43
2.6 Quản lý nguồn năng lượng ...................................................................46
2.7 Quản lý thời gian ..................................................................................46
2.8 An toàn hệ thống ..................................................................................47
Phần 2 Phát triển ứng dụng đồ họa cho hệ điều hành Symbian
Chương 3 Công cụ và môi trường phát triển ứng dụng.............................50
3.1 Chọn thiết bị .........................................................................................51
3.1.1 Ngôn ngữ lập trình ........................................................................51
3.1.2 Chọn điện thoại .............................................................................52
3.2 Nền hệ thống và các bộ SDK tương ứng ..............................................57
3.2.1 Hệ thống giao diện người dùng.....................................................57
3.2.2 Nền hệ thống .................................................................................58
3.2.3 Bộ công cụ phát triển Symbian SDK............................................59
3.2.3.1 Symbian SDK ........................................................................59
3.2.3.2 Các bộ SDK ...........................................................................60
3.3 Công cụ phát triển ứng dụng ................................................................62
3.3.1 Công cụ tạo dự án ứng dụng mới..................................................62
3.3.2 Công cụ biên dịch .........................................................................63
3.4 Môi trường phát triển tích hợp .............................................................64
3.4.1 MS Visual C++ 6.0 .......................................................................64
3.4.2 Borland C++ Builder 6.0 Nokia Edition & C++ BuilderX...........64
3.4.3 Metrowerks CodeWarrior .............................................................65
5
KH
OA
C
NT
T –
Đ
H
KH
TN
Chương 4 Xây dựng ứng dụng Symbian mới............................................67
4.1 Ứng dụng đồ họa ..................................................................................68
4.1.1 Phân loại........................................................................................68
4.1.2 Cấu trúc ứng dụng đồ họa .............................................................69
4.1.3 Định danh ứng dụng......................................................................71
4.2 File dự án..............................................................................................73
4.2.1 File định nghĩa dự án .mmp ..........................................................73
4.2.2 File mô tả thành phần bld.inf .......................................................76
4.3 Xây dựng dự án ứng dụng mới.............................................................77
4.3.1 Công cụ .........................................................................................78
4.3.2 IDE ..............................................................................................79
4.4 Dự án mẫu HelloWorld được tạo bằng IDE CodeWarrior ..................82
4.4.1 Xây dựng dự án ứng dụng HelloWorld ........................................82
4.4.2 Cấu trúc các lớp chương trình ứng dụng HelloWorld ..................84
4.4.2.1 Mã khởi tạo hoạt động ứng dụng đồ họa...............................84
4.4.2.2 Lớp ứng dụng.........................................................................85
4.4.2.3 Lớp tài liệu.............................................................................86
4.4.2.4 Lớp giao diện ứng dụng.........................................................86
4.4.2.5 Lớp khung nhìn ứng dụng .....................................................88
Chương 5 Lập trình C++ cho ứng dụng Symbian .....................................90
5.1 Chuỗi và descriptor ..............................................................................91
5.1.1 Các loại descriptor ........................................................................91
5.1.2 Sử dụng descriptor ........................................................................94
5.2 Quản lý lỗi và cơ chế cleanup stack .....................................................95
5.2.1 Lỗi lập trình...................................................................................95
5.2.2 Lỗi môi trường ..............................................................................95
5.2.3 Quản lý bộ nhớ và cơ chế cleanup stack.......................................98
5.3 Quản lý sự kiện...................................................................................104
5.3.1 Quản lý sự kiện trong ứng dụng Symbian ..................................104
6
KH
OA
C
NT
T –
Đ
H
KH
TN
5.3.2 Quản lý sự kiện với active object................................................105
5.4 Stream và store ...................................................................................106
5.4.1 Stream .........................................................................................106
5.4.2 Store ............................................................................................109
5.5 Lập trình đồ họa .................................................................................112
5.5.1 Kiến trúc đồ họa..........................................................................112
5.5.2 File tài nguyên.............................................................................113
5.5.3 Các điều khiển trong ứng dụng đồ họa .......................................114
5.6 Quy ước đặt tên trong Symbian..........................................................117
5.6.1 Tên lớp ........................................................................................117
5.6.2 Tên dữ liệu ..................................................................................118
5.6.3 Tên hàm.......................................................................................119
5.6.3 Cấu trúc thư mục dự án...............................................................119
5.7 Xây dựng ứng dụng độc lập thiết bị ...................................................119
Chương 6 Kiểm lỗi, biên dịch và triển khai ứng dụng Symbian .............126
6.1 Giả lập điện thoại Symbian trên PC ...................................................127
6.2 Kiểm lỗi ............................................................................................132
6.2.1 Kiểm lỗi trên Emulator................................................................132
6.2.2 Kiểm lỗi trên điện thoại Symbian ...............................................133
6.2.3 Một số mã lỗi thông dụng trong Symbian ..................................135
6.3 Biên dịch chương trình .......................................................................137
6.3.1 Các loại biên dịch........................................................................137
6.3.2 Biên dịch ứng dụng đồ họa .........................................................139
6.3.2.1 File AIF................................................................................139
6.3.2.2 Biên dịch với các công cụ biên dịch....................................142
6.3.2.3 Biên dịch với IDE................................................................145
6.4 Triển khai ứng dụng ...........................................................................146
6.4.1 Cấu trúc file điều khiển đóng gói .pkg........................................147
6.4.2 Quá trình triển khai ứng dụng.....................................................150
7
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần 3 Ứng dụng từ điển Anh-Việt, Việt-Anh trên điện thoại SE P900
Chương 7 Giới thiệu điện thoại, môi trường, công cụ phát triển ............152
7.1 Điện thoại Sony Ericsson P900..........................................................153
7.1.1 Đặc điểm điện thoại Sony Ericsson P900 ...................................154
7.1.2 Cấu trúc bộ nhớ điện thoại Sony Ericsson P900.........................154
7.2 Nền hệ thống UIQ ..............................................................................156
7.2.1 Các đặc tính của UIQ..................................................................156
7.2.2 Hệ thống giao diện UIQ..............................................................157
7.2.3 Các ứng dụng hệ thống ...............................................................160
7.2.4 Bộ SDK UIQ 2.1 WINSCW .......................................................161
7.3 IDE Metrowerks CodeWarrior for Symbian Personal 2.0 .................162
Chương 8 Xây dựng và cài đặt ứng dụng từ điển trên SE P900 ..............163
8.1 Ứng dụng từ điển Anh Việt, Việt Anh ...............................................164
8.2 Xây dựng chương trình.......................................................................164
8.2.1 Sơ đồ UML cho chương trình ứng dụng.....................................164
8.2.2 Các lớp cài đặt.............................................................................165
8.2.2.1 4 Lớp cơ bản .......................................................................165
8.2.2.2 Lớp xử lý tiếng Việt.............................................................168
8.2.2.3 Lớp phát âm.........................................................................168
8.2.3 File cơ sở dữ liệu từ điển và cách truy xuất ................................168
8.3 Biên dịch và cài đặt chương trình.......................................................169
8.3.1 Biên dịch .....................................................................................169
8.3.2 Cài đặt ứng dụng .........................................................................169
Tổng kết ........................................................................................................174
Tài liệu tham khảo ........................................................................................175
Phụ lục A Các thuật ngữ dùng trong luận văn..............................................176
Phụ lục B Lớp, đối tượng và sơ đồ UML trong lập trình Symbian..............179
Phụ lục C Lập trình Java trên Symbian ........................................................182
8
KH
OA
C
NT
T –
Đ
H
KH
TN
DANH SÁCH CÁC BẢNG
B1.1 Các phiên bản hệ điều hành Symbian 22
B4.1 Các khai báo trong cấu trúc file .mmp 74
B4.2 Các khai báo trong cấu trúc file bld.inf 77
B5.1 Các khai báo trong file tài nguyên 115
B6.1 Các tham số trong lệnh bó abld 144
DANH SÁCH CÁC HÌNH
H1.1 Các thiết bị sử dụng hệ điều hành EPOC 20
H1.2 Các điện thoại Symbian đầu tiên 21
H1.3 Mô hình tham khảo cho Communicator: Quartz và Crystal 24
H1.4 Mô hình tham khảo cho Smartphone: Pearl 24
H2.1 Mô hình các ranh giới 29
H2.2 Mô hình E32 32
H2.3 Mô hình các trình điều khiển thiết bị 33
H2.4 Mô hình các hệ thống con 34
H2.5 Cấu trúc truyền thông 38
H2.6 DLL dùng chung 41
H2.7 Ứng dụng GUI với chương trình nạp Apprun.exe 43
H2.8 Bộ nhớ ROM 43
H2.9 Bộ nhớ RAM 44
H2.10 Vùng nhớ cho các tiến trình 45
H2.11 Kiến trúc bảo mật 48
H3.1 Các điện thoại Symbian dùng bản phím số 54
H3.2 Các điện thoại Symbian dùng màn hình cảm ứng 55
H3.3 Các điện thoại Symbian có bàn phím QWERTY 56
H3.4 Nokia 7700 56
H3.5 Kiến trúc giao diện người dùng trong Symbian 57
9
KH
OA
C
NT
T –
Đ
H
KH
TN
H3.6 IDE VC++ 6.0 64
H3.7 IDE C++ BuilderX 65
H3.8 IDE Metrowerks CodeWarrior 66
H4.1 Sơ đồ các file tài liệu ứng với các ứng dụng file 69
H4.2 Sơ đồ cấu trúc ứng dụng đồ họa 70
H4.3 Tạo dự án mới với MEAD 79
H4.4 Tạo dự án ứng dụng mới với IDE CodeWarrior 80
H4.5 Tạo dự án ứng dụng mới bằng cách import file .mmp 80
H4.6 Tạo dự án mới với IDE C++ BuilderX 81
H4.7 Tạo dự án cho IDE VC++ 6.0 với Nokia Series 60 App Wizard 82
H4.8 Tạo dự án HelloWorld 82
H4.9 Chọn nền hệ thống cho ứng dụng 83
H4.10 Chọn xây dựng ứng dụng HelloWorld 83
H5.1 Mô hình đối tượng TPtrC và TPtr 92
H5.2 Mô hình đối tượng TBufC và TBuf 92
H5.3 Mô hình đối tượng HBufC 93
H5.4 Sơ đồ hệ thống các descriptor 93
H5.5 Sơ đồ active object và các lớp liên hệ 105
H5.6 Sơ đồ các lớp store và các thành phần liên quan 110
H5.7 Cấu trúc store trong file tài liệu độc lập 110
H5.8 Cấu trúc file tài liệu độc lập 111
H5.9 Cấu trúc file tài liệu độc lập cho phép nhúng 111
H5.10 Kiến trúc hệ thống đồ họa 113
H6.1 Emulator cho Nokia 9200 Series 127
H6.2 Emulator cho Series 80 128
H6.3 Emulator cho Series 90 128
H6.4 Emulator cho Series 60 129
H6.5 Emulator cho UIQ 129
H6.6 Sơ đồ biên dịch bằng dòng lệnh 144
10
KH
OA
C
NT
T –
Đ
H
KH
TN
H6.7 Sơ đồ biên dịch ứng dụng cho điện thoại Symbian 145
H6.8 Quá trình tạo file cài đặt .sis 146
H7.1 Sony Ericsson P900 và P800 153
H7.2 P900 khi bản phím số mở, đóng và được tháo ra 154
H7.3 Vùng màn hình điện thoại UIQ 158
H7.4 single-page dialog và multi-page dialog 158
H7.5 Nhập liệu chữ “A” với nhận dạng viết tay và bàn phím ảo 159
H7.6 Application Launcher dạng list và dạng icon 160
H7.7 Installer 161
H7.8 Control Panel 161
H7.9 IDE CodeWarrior Personal 2.0 162
H8.1 Ứng dụng từ điển 164
H8.2 Sơ đồ UML chương trình từ điển TNDic 164
H8.3 Hộp thoại khởi tạo chương trình cài đặt 171
H8.4 Hộp thoại cảnh báo về rủi ro khi cài đặt thiếu chứng thực 172
H8.5 Thông tin ứng dụng sẽ cài đặt 172
H8.6 Ngôn ngữ dùng trong cài đặt 172
H8.7 Ổ đĩa cài đặt chương trình 172
H8.8 Quá trình cài đặt 173
H8.9 Kết thúc cài đặt 174
HB.1 Sơ đồ quan hệ giữa 2 gói API 179
HB.2 Mô hình lớp với UML 180
HB.3 Mô hình quan hệ uses-a với UML 180
HB.4 Mô hình quan hệ has-a với UML 180
HB.5 Mô hình quan hệ is-a với UML 181
HB.6 Mô hình quan hệ implement với UML 181
HB.7 Mô hình quan hệ giới hạn một chiều uses-a với UML 181
HC1 J2ME và các phiên bản của Java 183
HC.2 Sự phát triển Java trên Symbian 184
11
KH
OA
C
NT
T –
Đ
H
KH
TN
TÓM TẮT
Sự kết hợp giữa máy trợ giúp cá nhân PDA và điện thoại di động đã tạo ra một
thiết bị mới, thiết bị WID (Wireless Information Device) mà hiện nay được biết
nhiều dưới dạng điện thoại thông minh (Smartphone). Các thiết bị WID này với khả
năng xử lý của máy tính nhỏ và chức năng liên lạc của điện thoại di động có thể
giúp chúng ta xử lý công việc dù đang ở đâu với tính năng lưu trữ, xử lý và truy cập
vô tuyến. Không chỉ phục vụ cho công việc, các thiết bị WID còn là công cụ giải trí
tuyệt vời với chức năng xem phim, nghe nhạc và chơi game. Đó là lý do tại sao thị
trường của các thiết bị này ngày càng mở rộng và phát triển không ngừng.
Sự ra đời của WID mang lại một sức sống mới cho thị trường điện thoại di động
nói riêng và các thiết bị cầm tay nói ch