Luận văn, khóa luận, chuyên đề, tiểu luận, quản trị, khoa học, tự nhiên, kinh tế
KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 KHOA CNTT – ĐH KHTN 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 . thực hiện đề tài: " ;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& quot;. Với đề tài nghiên cứu này, chúng tôi mong. nhất hiện nay trên WID, chúng tôi đã thực hiện đề tài: " ;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 ". Đề