symbian系統開發教程_第1頁
symbian系統開發教程_第2頁
symbian系統開發教程_第3頁
symbian系統開發教程_第4頁
symbian系統開發教程_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、symbian 系統開發教程(一)第一章:Symbian OS 簡介謝興enigma19971hotmailSymbian系統簡介當前有很多運行SymbianOS,數量甚至超出您的想象。到目前為止已經有超過7500萬100多種型號的運行SymbianOS。這些大局部都形態迥異:有的配有鍵盤有的采用筆控輸入;有的配備TFT 彩色屏幕,有的那么配備黑白LC 顯示屏;有的擅長于音樂播放,有的專注于電子游戲、圖像處理甚至電視功能;有的面向個人消費者,有的專門針關于商務用戶;有的是為單手操作設計的,有的是為雙手操作設計的種類繁多不一而足SymbianOS受到廣闊消費者的喜愛僅2005 年就售出3400

2、萬部SymbianOS這相當于每不到一秒鐘就有一部SymbianOS被出售。網絡運行商同樣青睞 Symbian OS。全球有250 多個移動網絡運行商選擇了SymbianOS。一切這些都說明現市面上有成千上萬的是鑒于SymbianOS 的,所以為symbian系統開發的應用程序會得到廣泛的應用。現在已經有5400 多種商業性應用軟件可供SymbianOS應用。本教程旨在為您提供一些編寫SymbianOS應用程序的入門知識。希望它會關于您有所裨益,為開發SymbianOS 應用程序打下一個良好的根底。開發語言從開發初期起,SymbianOS就是專門為移動而設計的,因此從彈性的電源管理(resil

3、ientpower-management)到內存資源的謹慎使用,全都是為了滿足操作系統的特定需求。作為SymbianOS的開發人員,您將受益于SymbianOS這樣一個專門為移動設備而創立并且隨著市場一起開展的開發平臺。Symbian OS 最“根本的編程語言是一種改良的 C+SymbianOSC+經過特殊設計與優化,以利于降低電池能耗和內存使用。比方,為了節約電池耗電,一切Symbian OS 程序都是鑒于事件(event-base) 的,而當沒有任何程序進行事件處理時 就進入休眠您在開發軟件時也可以使用JavaPython使用Visual Basic和帶AppForgesCrossfire

4、的C#PerlOPL和AobeFlash,但是SymbianOSC+ 是最強大它允許最大限度的利用操作系統提供的一切功能也是最快捷因為它直接以編譯碼運行而無需在運行時進行解譯的語言這也就是為什么我們在本書中選擇C+ 來向您演示如何進行SymbianOS 開發的原因。好了,閑言少敘,讓我們言歸正傳。準備工作首先您需要有一臺電腦能創立并且測試在SymbianOS上運行的應用程序。這也就是說電腦要有一個較快的CPU處理器至少1.5GHz和相當大的RAM512MB或更大以及一個大容量硬盤至少有2GB剩余空間。該電腦必需能運行Winows2000或XP操作系統然后您需要開發軟件來幫助您編寫代碼并且進行編

5、譯這可經過包含編輯程序(eitor)編譯程序(compiler) 和鏈接程序(linker) 的集成開發環境(IE)來完成。在這推薦兩種適合SymbianOS程序開發的IE。關于于開發非商業用途的SymbianOS應用程序,Nokia的Carbie.c+Express 版本是最理想不過了,它建立在EclipseIE 的根底上供免費下載關于于使用VisualStuio.NET2003的程序員來說,也可選擇Carbie.vs。這是一套鑒于Microsoft VisualStuio.NET2003IE 的工具,用于開發S60 和Series80 軟件。您還需要軟件開發包(SK),專門用來編寫和創立S

6、ymbianOS應用程序鑒于不同類型有不同版本的SK 供選擇,具體使用哪個SK 請見以下幾頁的說明。如果您還沒有決定具體的類型或平臺而無法確定選擇哪個SK,我們建議您一開始可使用S60 和UIQ SK。如果您想為最新款的如Nokia3250、E60、E61、N71、N80、N91、N73或N93編寫應用程序,那就選擇鑒于SymbianOSv9的UIQ3或S60第三版要么您就選擇更低版本的UIQ2.1 S60 Symbian OS Symbian OS 9.1 版本Symbian OS 9.1 9.1SymbianOSIE SK上找到這些工具。S60 平臺S60 平臺是一個完整的應用程序包pac

7、kageSymbian 開發工具。S60 (UI) 經過精心的設計,方便用戶使用,便于單手操作。從用戶的角度可見,該平臺最大的特點在于它的用戶界面:大的彩屏和各種輸入鍵(兩個軟件鍵, 位的導航鍵,和幾個專用的鍵)。 單手操作和大彩屏的優點能使應用程序開發者提供更有吸引力的內容和提供更方便的導航功能,同時增加用戶使用 時的愉快體驗。目前,s60 平臺上已經存在各種各樣的應用軟件. 其中最重要的有:高級智能 應用程序,個人信息管理應用程序PIM(例如, 簿,日歷, 相冊), 短信, 網頁瀏覽, 電子郵件和應用程序安裝引擎,它能夠讓您自由地從電腦上下載軟件到您的 上。S60 第三版本支持兩種不同的外

8、觀QVGAPortrait(240 x320)QVGA Lanscape(320 x240)SKSymbianOS 的 外型各異,用戶界面(UI) 也不盡相同。為了給特定的用戶界SKSymbian OS 的 采用的是 S60 S60 S60 SK Symbian OS 十分重要:S60 Symbian OS v9.1S60 3 SymbianOSv8.1 S60 2 SymbianOSS60 1 Symbian OS S60 Symbian OS v7.0sS60 Symbian OS v6.1您可在以下網站查到每一系列 S60SK所包含的型號列表:symbian/eveloper/sks/s

9、ks_series60.asp其它大局部鑒于SymbianOS的采用筆控輸入的UIQ 用戶界面以下網站列出鑒于各版本的UIQSK 的機型symbian/eveloper/sks/sks_uiq.asp您可以到以Nokia的網站下載SKforum.nokiaCarbie.c+ 集成開發環境IE前面已經提到了各種集成開發環境,這里我們主要介紹 Carbie.c+Carbie.c+的集成開發環境(IE)Eclipse 3Eclipse 處理symbian c+ Symbian 工程的插件。這些插件分為以下幾類:C/C+開發工具箱CTEclipsesymbian具集Symbiansymbianecli

10、pseEclipseC+SymbianSymbian工具鏈的支持。Nokia Nokia Symbian C+編譯器,symbian Carbie.c+高級特性。很鮮明,因為 Carbie.c+是根本的 Eclipse 集成開發環境,開發者可以進一步定制其它的商業或免費的插件,比方說,一個版本控制系統,一個 UML 建模系統等。Carbie.c+的集成開發環境和 Eclipse 開發環境十分類似,如下列圖所示,因為 Carbie.c+是設計用于symbian c+c/c+工程視圖,這個視symbianc+工程源文件、頭文件,資源文件。eclipse 的其他著述。開發環境的構建JK5.0Acti

11、vePerl5.6.1以上版本Symbiansk第三步:安裝Carbie.c+1.2 版本。Carbie有不同的版本。其中Express版是免費安裝的,但不支持UI設計功能,也不支持在上調試的功能。注意:這幾個文件需要放在一個目錄下面。否那么,在編譯程序的進程中,可能會出現難以預料的錯誤。文件目錄的布局SKIE UI 局是怎樣的。當工程增長到一定程度的時候,好的文件目錄布局將有助于幫助跟蹤代碼的變更。工程中包含了各種不同類型的文件,囊括源文件和其他類型的文件,我們通常將這些文件分開來存放,下面我們簡短地介紹這些文件。資源文件, .bmp .wav 文件, 會和產品代碼分開來存放。所以,一個典范

12、的 UI 應用程序會猶如下這樣一些目錄結構和文件。文件目錄存放文件類型ata (S60)存放資源規格文件(.rss)Gfx (S60)應用程序資源文件,例如圖片和聲音文件。Group(.mmp bl.inf)Images (UIQ)應用程序資源文件,例如圖片。Inc(typically .h, .hrh .inl)rsrc (UIQ)存放資源規格文件 (.rss, .ra)src.CPP 文件Test存放測試代碼在 group 目錄下面,有兩個重要的文件,這兩個文件都與創立 Symbian 工程相關: 如果,需要在命令行編譯工程,必需創立如下兩個工程文件:(.mmpmake files 組件描

13、述文件(bl.inf),這個文件列出了一組相關的工程并且包含一些編譯指令. CoeWarrior 和 Carbie.c+ IE 下面詳細描述這些文件的格式。組件component描述文件bl.infBl.infmmp何編譯工具所需要的文件。該文件分為多個節,其中,mmp 文件列表在 PRJ_MMPFILES mmpblbl.inf文件。/ 目標平臺PRJ_PLATFORMS WINSCWGCCE/ 從工程中輸出的文件PRJ_EXPORTS/ None/ 工程定義文件PRJ_MMPFILESfilebrowseapp.mmp/ 工程定義文件測試代碼用PRJ_TESTMMPFILES.testFi

14、leBrowseTest.mmp在上面的例子中PRJ_PLATFORMS平臺和 GCC-E 平臺的執行代碼。 當您用 CoeWarrior 為模擬器編譯代碼的時候,您使用的WINSCW 平臺WINSCW Winows, in a Single process,CoeWarrior編譯。平臺的名稱用來標識最終的可執行代碼所運行的那個平臺。 所以, 當上面的代碼被編譯完后,可執行程序被放在 epoc32releasewinscw 目錄下面(根據是調試ebug版本還是釋放release版本,被放在 ueb 或 urel 子目錄下面)。如果代碼是針關于 硬件的,需要選用 GCCE 平臺。這時,最終的可

15、執行代碼被放到epoc32releasegcce目錄下面。工程描述文件mmp 文件中的每個語句都以一個關鍵字開頭。下面是一個典范的 mmp 文件的例子。/ filebrowseapp.mmpTARGETfilebrowseapp.exeTARGETTYPEexeUI0 x100039CE0 xE80000A6VENORI0#ifef WINSCW CAPABILITYAllFiles/AllFilesonemulatorsincenosigningisrequire #elseCAPABILITYNONE/Nocapabilitiesonharware-otherwiseSISsigning

16、isrequire#enifSOURCEPATH SOURCE SOURCE SOURCE SOURCE SOURCESYSTEMINCLUE USERINCLUESOURCEPATHSTART RESOURCE TARGETPATH HEAERENSTART TARGETPATH EN.src FileBrowseAppUi.cpp FileBrowseocument.cpp FileBrowseApplication.cpp FileBrowseBaseView.cpp RFsEngine.cppepoc32inclue.inc.atafilebrowseapp.rssresourceap

17、psfilebrowseapp_reg.rssprivate10003A3FappsSTARTRESOURCETARGETPATHresourceappsLANGSCHEAER ENSTART BITMAP filebrowseapp.mbm TARGETPATH resourceapps HEAERSOURCEPATH .gfxSOURCE C16 foler.bmp SOURCE C16 file.bmp SOURCE 8 mask.bmp ENLIBRARYeuser.libefsrv.libcone.libeikcore.libeikcoctl.libeiklg.libegul.lib

18、eikctl.lib apparc.libLIBRARY bafl.libLIBRARY avkon.libCommonEngine.lib下面簡單地描述每個關鍵字的作用:TARGET該關鍵字指明了目標文件exe 或 ll 文件的名稱。TARGETTYPEll,exe 或是其他的插件pluginUI目標通常指可以執行的.exe 或.ll UIUI 用來標識組件,第一個UI 上是 UI2,這個值進一步指明了目標的類型,上面例子中,值0 x100039CE指明了目標SymbianUI每個應用程序來說都是唯一的。它標識了這個應用程序的注冊資源文件和該程序的安裝包文件.pkg, Symbian 據庫中

19、為您的應用程序分配一個 。可到 Symbian UI SK 中的例子:文件系統瀏覽應用程序filesystem browserUI 0 xE80000A6, 要在您的最終產品中使用它。SECUREI這是個可選的關鍵了,上面的例子中沒有出現。該關鍵字為應用程序定義了平安標示符,用UI3 字。VENORI該關鍵字是在 Symbian OS v9.1 版本新增的。用來指定軟件提供商的 I 號。該關鍵字不是必需的,可省略。CAPABILITY這是 Symbian OS 9.1 新增加的關鍵字。該關鍵字指明了應用程序的權限或稱作能力,如: 察看系統目錄。大上面的例子中 ,應用程序在模擬器上和在 上被分配

20、了不同的能力capabilityAllFiles 的權限比在 上運行時,能看到更多AllFiles 能力的程序不能看到Sym 程序只有在經過認證certificate以后才能獲得 AllFiles 我們在這一章的后面會講到。SOURCEPATH和 SOURCESOURCE 關鍵字指明了有哪些源文件和資源文件需要編譯,而 SOURCEPATH mmp SYSTEMINCLUE這個關鍵字指定了系統頭文件的位置,系統頭文件通常用#inclue語句包含。USERINCLUE該關鍵字的作用類似于 SYSTEMINCLUE,它指明了在用戶自定義頭文件所在的位置。START RESOURCEENSTARTR

21、ESOURCE 關鍵字說明了一個信息塊的開始,這些信息指明了如何編譯資源文件。EN 標示該信息塊結束。TARGETPATH: 由于平安方面的考慮,一切的可執行代碼exe ll都從 上的sysbin TARGETPATH 關鍵字僅僅用來指定編譯后的資源文件的位置。HEAER這是一個可選的關鍵字,當它被使用的時候,系統將會在 epoc32inclue路徑下創立資源頭文件.rsg。這個頭文件包含了允許以 C+代碼引用特定資源的標識符。LIBRARY這個關鍵字列出了應用程序需要鏈接的庫文件。STATICLIBRARY該關鍵字用來指定需要被靜態鏈接的庫文件 (庫文件中的代碼會被鏈接到您的程序中,而不是需

22、要時才裝載到內存)。START BITMAPEN這一節包含了應用程序圖標所使用的位圖bitmap,以及如何將這些位圖編譯成.mbmSymbian 系統專有的圖像格式的方式。EPOCSTACKSIZESymbianOS版本中,缺省的棧0X5000 v9.1 0 x2000。為了增加棧的大小,可以使用該關0 x5000 , 模擬器無效。EPOCHEAPSIZE該關鍵字也是可選的,我們上面的例子中并且未用到。這個關鍵字指定了應用程序可以使用的最大、最小堆空間。缺省情況下,4K 為最小的尺寸,1M 為最大的尺寸。HellowWorl創立工程Carbie file-New-SymbianOSC+proj

23、ect,圖所示的關于話框:我們選擇帶用戶界面設計器的圖形用戶界面應用程序Carbie Express 版本不支持用戶界面設計的功能。然后點擊“下一步按鈕。出現下面的關于話框:sk s60_3r_FP1 sk按下一步,繼續:選擇一個空的界面,這樣我們可以自由地在上面添加控件。下面的步驟一直按“下一步, 直到完成。在模擬器上運行和調試工程建立完成后,就可以構建buil工程了。在將程序放到 上運行之前,我們通常需要先在模擬器上運行、調試程序。模擬器是 SK 附帶的一個軟件,能夠模擬真實 的運行情況。在工程透視圖中,選中工程,點擊右鍵,將活動構建設置為 Emulator ebug(Winscw)。如下

24、列圖所示:這樣,編譯出來的程序版本才是針關于模擬器的。設置后,可以構建buil工程了:在工程 透視圖中選中工程,點擊右鍵,選擇“buil Target 最后,點擊工具欄上的運行按鈕,選擇RunAs-1RunSymbianOSApplicationCarbie啟動模擬器,這個進程需要持續幾十秒到幾分種,依賴機器的配置。在模擬器啟后,點擊模擬器上的軟件鍵,模擬器會出現下面的界面:選擇 Installe 選項后,可以看到應用程序的圖標:在模擬器上點擊按鈕,運行該程序。在上運行和調試根本概念能夠在模擬器上運行、調試程序后,您可能想要在真實的上運行您的程序。但這之前,先需要搞清以下幾個根本概念:GCCE

25、ARM版本:在真實設備上運行的程序版本不同于我們在模擬器上運行的程序版本,在設GCCEARMGCCESK ARM ARM GCCE版本的程序,但需要付費。.sis文件和.pkg:GCCESymbian.sis.sisexe,ll,rss文件,和一些 接受應用程序時所必需的信息例如:語言種類,應用程序的UI sispkg文件,pkg文件中包含了一些有用的信息,囊括將工程文件拷貝到 的哪個目錄下面, 程序的版本號等。簽名(sign):在開發s603r版本的應用程序時,一切的.sis文件在安裝到之前,必需被簽名如果您的程序沒有用到capability 或只用到了關于一切的用戶都開放的功能utilit

26、y,您可以使用自簽名認證SelfSignecertificate。當在自己的上調試程序時,這種方法特別管用。 機上調試代理on-eviceebugagent:理程序經過藍牙或 USB 串行鏈路與調試器通信,在 Carbie.c+到接口的作用。調試代理提供以下功能:Symbian 系統上作為調試代理。Symbian系統提供一個穩定的集成的接口能被用來在真實的設備上調試應用程序sis文件。使用機上調試代理, Carbie.c+ 程序,這使得調試進程更為容易。機上調試代理可以在一切的 S60 3r UIQ 2n UIQ 3r 版本的設備上。編譯、運行應用程序的 版本在清楚這些根本的概念后,下面我們看

27、看,如何編譯和運行 GCCE 版本的應用程序:GCCE版本.Symbian 安裝文件(.sis)。給.sis文件簽名。s60 sis文件。運行該應用程序。首先,我們按下面的步驟,在 Carbie 中,編譯 GCCE 版本和創立 sis 文件。ProjectProperties 選項.在屬性關于話框上, C/C+Buil。Configuration S603.0GCCEUREL。OK。ProjectBuilProject 如下列圖所示:Carbie根據工程的設置,創立了一個能在上運行的版本。如果編譯的過中沒有出錯,可以在目錄Symbian9.2S60_3r_FP1Epoc32releasegcc

28、eurel 中找到已經編譯好的可執行文件然后,可以進行下一步:生成sis文件。sis 文件夾中的 .pkg ,在彈出菜單中選擇:buil PKG file如下列圖所示:如果邊編譯的進程沒有出錯,可以在 sis 文件夾中找到經過簽名的.sis 文件和擴展名為.cer 證書文件和擴展名為.key Carbie 自動生成的。將經過簽名的.sisxUSB接口下載到 WAP,郵件附件紅外然后用文件管理器安裝,如果安裝的時候沒有錯誤提示,我們就可以在 上運行程序了。在上調試在真實的 設備上調試比在模擬器上調試越發準確,而且不必使用昂貴的硬件調試設備。前面我們提到過,在 上調試, 需要安裝調試代理,有兩不同

29、的機上調試代理,訣別為:Application TRK 和 System TRKApplicationSystem TRK不但支持應用程序的調試,還支持有限的 ROM 它來調試設備驅動程序。現在,我們來看看:如何在上安裝調試代理軟件翻開.Carbiepluginscom.nokia.Carbie.trk.support_9, trks60 目錄,可以看到有一個 s60_3_1_app_trk_2_7.sisx 文件,該文件就是調試代理ebug agent的安裝程序,下面我們經過 USB 接口或紅外、藍牙將這個程序下載到 上安裝。步驟如下:將電腦和設備經過USB接口連接。在識別出U

30、SB連接線后,設置,讓它從PC上接受文件。選擇USBMoeFileTransfer,然后按OK鍵,這時有通知消息出現:將處離線狀態。OK 軟件鍵確認該消息。SISX MMC 卡。用“平安刪除硬件的方式斷開和PC 之間的USB連接。在上,用文件管理器安裝SISX文件。在安裝好調試軟件后,現在就可以開始調試程序了。PC和的通信接口有兩種:藍牙和USB,由于大多數的PC機中只有USB接口,下我們就以USB連接方式來調試程序。USB連接軟件,例如,S60NokiaPC 套件。用USB線連接Pc 和。S60PCUSB連接模式。下載APPTRK或SystemTRKSISX 文件到上如果在已經下載安裝過該調

31、試代理這一步可省略在PC 上,翻開設備管理,找到S60USB的條目,如下列圖所示:記下端口號在我們的例子中為COM5,后面我們要用到。在的USB模式列表上選擇PC套件模式。然后在上啟動AppTRK,將連接方式設置為USB,如下列圖所示:選擇“back,然后重新啟動 App TRK。Carbie 集成開發環境上IE如下列圖:調試按鈕,選擇“ebug,Symbian OSApp TRK,雙擊此項,launch Configuration如下列圖所示: portcom5必需是我們前面在設備管理器中所記錄下來的值。另外,在Installation 面板中,需要指明要安裝的文件,這個文件就是我們在前面生成的經過簽名的 文件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論