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

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.

pdf190 trang | Chia sẻ: vietpd | Lượt xem: 1206 | Lượt tải: 0download
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