KHOA CNTT – H KHTN TRNG I HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN B MÔN MNG MÁY TÍNH & VT PHM KHC HNG 0012153 VÕ HNG DUYÊN 0012530 TÌM HIU VÀ NGHIÊN CU K THUT PHÁT TRIN NG DNG TRÊN MÔI TRNG SYMBIAN OS LUN VN C NHÂN TIN HC TP.HCM, 2004 KHOA CNTT – H KHTN TRNG I HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN B MÔN MNG MÁY TÍNH & VT PHM KHC HNG 0012153 VÕ HNG DUYÊN 0012530 TÌM HIU VÀ NGHIÊN CU K THUT PHÁT TRIN NG DNG TRÊN MÔI TRNG SYMBIAN OS LUN VN C NHÂN TIN HC GIÁO VIÊN HNG DN Thc s HOÀNG CNG NIÊN KHÓA 2000 - 2004 KHOA CNTT – H KHTN LI CM N Chúng con xin t lòng bit n sâu sc đn ba m và gia đình đã nuôi dng, giáo dc và to điu kin tt nht cho chúng con thc hin đ tài này. Chúng em xin chân thành cm n khoa Công ngh thông tin và quý Thy, Cô trong khoa, trng i hc Khoa hc T nhiên TpHCM đã to điu kin cho chúng em hc tp và thc hin lun vn tt nghip này. Chúng em xin chân thành cm n Thy Hoàng Cng đã tn tình hng dn, ch bo chúng em trong thi gian thc hin đ tài. Chúng em cng xin chân thành cm n các anh ch, bn bè đã đng viên, giúp đ chúng em vt qua nhng khó khn trong quá trình thc hin đ tài cng nh trong sut nhng nm hc va qua. Mc dù chúng em đã c gng hoàn thành lun vn vi tt c s n lc ca bn thân, nhng lun vn chc chn không tránh khi nhng thiu sót nht đnh, kính mong s cm thông và tn tình ch bo ca quý Thy Cô và các bn. Tháng 7 / 2004 Khc Hng&Hng Duyên KHOA CNTT – H KHTN MC LC Trang Danh sách các bng 7 Danh sách các hình 7 Tóm tt 10 Chng m đu 11 1 Dn nhp 11 2 Hng nghiên cu và gii hn đ tài 12 3 Mc tiêu ca đ tài 13 Phn 1 Tng quan v h điu hành Symbian Chng 1 H điu hành Symbian 15 1.1 H điu hành cho thit b WID 16 1.1.1 c đim ca h điu hành cho thit b WID 16 1.1.2 Các h điu hành cho thit b WID 17 1.1.3 Symbian – H điu hành hàng đu cho thit b WID 18 1.2 Lch s h điu hành Symbian 19 1.3 Các dòng đin thoi Symbian 22 1.4 Các thành phn phn cng chính trong đin thoi Symbian 24 1.5 Tng lai Symbian 26 Chng 2 Cu trúc h thng h điu hành Symbian 28 2.1 Cu trúc h điu hành và phn mm ng dng 29 2.1.1 Nhân và E32 31 2.1.2 H thng con và API 34 2.2 Cu trúc truyn thông 36 2.3 Tin trình và tiu trình trong Symbian 39 2.3.1 Tin trình 39 2.3.2 Tiu trình 39 2.3.3 Tin trình và tiu trình nhân 39 4 KHOA CNTT – H KHTN 2.3.4 Qun lý và điu phi tin trình 40 2.4 Chng trình hot đng trên Symbian 40 2.4.1 File thc thi 40 2.4.2 Np chng trình khi thc thi 42 2.4.3 Thc thi ng dng và server 42 2.5 Qun lý b nh 43 2.6 Qun lý ngun nng lng 46 2.7 Qun lý thi gian 46 2.8 An toàn h thng 47 Phn 2 Phát trin ng dng đ ha cho h điu hành Symbian Chng 3 Công c và môi trng phát trin ng dng 50 3.1 Chn thit b 51 3.1.1 Ngôn ng lp trình 51 3.1.2 Chn đin thoi 52 3.2 Nn h thng và các b SDK tng ng 57 3.2.1 H thng giao din ngi dùng 57 3.2.2 Nn h thng 58 3.2.3 B công c phát trin 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 trin ng dng 62 3.3.1 Công c to d án ng dng mi 62 3.3.2 Công c biên dch 63 3.4 Môi trng phát trin tích hp 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 Chng 4 Xây dng ng dng Symbian mi 67 4.1 ng dng đ ha 68 4.1.1 Phân loi 68 4.1.2 Cu trúc ng dng đ ha 69 4.1.3 nh danh ng dng 71 4.2 File d án 73 4.2.1 File đnh ngha d án .mmp 73 4.2.2 File mô t thành phn bld.inf 76 4.3 Xây dng d án ng dng mi 77 4.3.1 Công c 78 4.3.2 IDE 79 4.4 D án mu HelloWorld đc to bng IDE CodeWarrior 82 4.4.1 Xây dng d án ng dng HelloWorld 82 4.4.2 Cu trúc các lp chng trình ng dng HelloWorld 84 4.4.2.1 Mã khi to hot đng ng dng đ ha 84 4.4.2.2 Lp ng dng 85 4.4.2.3 Lp tài liu 86 4.4.2.4 Lp giao din ng dng 86 4.4.2.5 Lp khung nhìn ng dng 88 Chng 5 Lp trình C++ cho ng dng Symbian 90 5.1 Chui và descriptor 91 5.1.1 Các loi descriptor 91 5.1.2 S dng descriptor 94 5.2 Qun lý li và c ch cleanup stack 95 5.2.1 Li lp trình 95 5.2.2 Li môi trng 95 5.2.3 Qun lý b nh và c ch cleanup stack 98 5.3 Qun lý s kin 104 5.3.1 Qun lý s kin trong ng dng Symbian 104 6 KHOA CNTT – H KHTN 5.3.2 Qun lý s kin vi active object 105 5.4 Stream và store 106 5.4.1 Stream 106 5.4.2 Store 109 5.5 Lp trình đ ha 112 5.5.1 Kin trúc đ ha 112 5.5.2 File tài nguyên 113 5.5.3 Các điu khin trong ng dng đ ha 114 5.6 Quy c đt tên trong Symbian 117 5.6.1 Tên lp 117 5.6.2 Tên d liu 118 5.6.3 Tên hàm 119 5.6.3 Cu trúc th mc d án 119 5.7 Xây dng ng dng đc lp thit b 119 Chng 6 Kim li, biên dch và trin khai ng dng Symbian 126 6.1 Gi lp đin thoi Symbian trên PC 127 6.2 Kim li 132 6.2.1 Kim li trên Emulator 132 6.2.2 Kim li trên đin thoi Symbian 133 6.2.3 Mt s mã li thông dng trong Symbian 135 6.3 Biên dch chng trình 137 6.3.1 Các loi biên dch 137 6.3.2 Biên dch ng dng đ ha 139 6.3.2.1 File AIF 139 6.3.2.2 Biên dch vi các công c biên dch 142 6.3.2.3 Biên dch vi IDE 145 6.4 Trin khai ng dng 146 6.4.1 Cu trúc file điu khin đóng gói .pkg 147 6.4.2 Quá trình trin khai ng dng 150 7 KHOA CNTT – H KHTN Phn 3 ng dng t đin Anh-Vit, Vit-Anh trên đin thoi SE P900 Chng 7 Gii thiu đin thoi, môi trng, công c phát trin 152 7.1 in thoi Sony Ericsson P900 153 7.1.1 c đim đin thoi Sony Ericsson P900 154 7.1.2 Cu trúc b nh đin thoi Sony Ericsson P900 154 7.2 Nn h thng UIQ 156 7.2.1 Các đc tính ca UIQ 156 7.2.2 H thng giao din UIQ 157 7.2.3 Các ng dng h thng 160 7.2.4 B SDK UIQ 2.1 WINSCW 161 7.3 IDE Metrowerks CodeWarrior for Symbian Personal 2.0 162 Chng 8 Xây dng và cài đt ng dng t đin trên SE P900 163 8.1 ng dng t đin Anh Vit, Vit Anh 164 8.2 Xây dng chng trình 164 8.2.1 S đ UML cho chng trình ng dng 164 8.2.2 Các lp cài đt 165 8.2.2.1 4 Lp c bn 165 8.2.2.2 Lp x lý ting Vit 168 8.2.2.3 Lp phát âm 168 8.2.3 File c s d liu t đin và cách truy xut 168 8.3 Biên dch và cài đt chng trình 169 8.3.1 Biên dch 169 8.3.2 Cài đt ng dng 169 Tng kt 174 Tài liu tham kho 175 Ph lc A Các thut ng dùng trong lun vn 176 Ph lc B Lp, đi tng và s đ UML trong lp trình Symbian 179 Ph lc C Lp trình Java trên Symbian 182 8 KHOA CNTT – H KHTN DANH SÁCH CÁC BNG B1.1 Các phiên bn h điu hành Symbian 22 B4.1 Các khai báo trong cu trúc file .mmp 74 B4.2 Các khai báo trong cu 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 lnh bó abld 144 DANH SÁCH CÁC HÌNH H1.1 Các thit b s dng h điu hành EPOC 20 H1.2 Các đin thoi Symbian đu tiên 21 H1.3 Mô hình tham kho cho Communicator: Quartz và Crystal 24 H1.4 Mô hình tham kho cho Smartphone: Pearl 24 H2.1 Mô hình các ranh gii 29 H2.2 Mô hình E32 32 H2.3 Mô hình các trình điu khin thit b 33 H2.4 Mô hình các h thng con 34 H2.5 Cu trúc truyn thông 38 H2.6 DLL dùng chung 41 H2.7 ng dng GUI vi chng trình np Apprun.exe 43 H2.8 B nh ROM 43 H2.9 B nh RAM 44 H2.10 Vùng nh cho các tin trình 45 H2.11 Kin trúc bo mt 48 H3.1 Các đin thoi Symbian dùng bn phím s 54 H3.2 Các đin thoi Symbian dùng màn hình cm ng 55 H3.3 Các đin thoi Symbian có bàn phím QWERTY 56 H3.4 Nokia 7700 56 H3.5 Kin trúc giao din ngi 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 liu ng vi các ng dng file 69 H4.2 S đ cu trúc ng dng đ ha 70 H4.3 To d án mi vi MEAD 79 H4.4 To d án ng dng mi vi IDE CodeWarrior 80 H4.5 To d án ng dng mi bng cách import file .mmp 80 H4.6 To d án mi vi IDE C++ BuilderX 81 H4.7 To d án cho IDE VC++ 6.0 vi Nokia Series 60 App Wizard 82 H4.8 To d án HelloWorld 82 H4.9 Chn nn h thng cho ng dng 83 H4.10 Chn xây dng ng dng HelloWorld 83 H5.1 Mô hình đi tng TPtrC và TPtr 92 H5.2 Mô hình đi tng TBufC và TBuf 92 H5.3 Mô hình đi tng HBufC 93 H5.4 S đ h thng các descriptor 93 H5.5 S đ active object và các lp liên h 105 H5.6 S đ các lp store và các thành phn liên quan 110 H5.7 Cu trúc store trong file tài liu đc lp 110 H5.8 Cu trúc file tài liu đc lp 111 H5.9 Cu trúc file tài liu đc lp cho phép nhúng 111 H5.10 Kin trúc h thng đ ha 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 dch bng dòng lnh 144 10 . NHIÊN KHOA CÔNG NGH THÔNG TIN B MÔN MNG MÁY TÍNH & VT PHM KHC HNG 0012153 VÕ HNG DUYÊN 0012530 TÌM HIU VÀ NGHIÊN CU K THUT PHÁT TRIN NG DNG. NHIÊN KHOA CÔNG NGH THÔNG TIN B MÔN MNG MÁY TÍNH & VT PHM KHC HNG 0012153 VÕ HNG DUYÊN 0012530 TÌM HIU VÀ NGHIÊN CU K THUT PHÁT TRIN NG DNG