Symbian和C++ SDK開發(fā)入門之工具
在微軟、Borland和Metrowerks的多種IDE的功能之間目前有一些值得注意的差別。對后兩種開發(fā)環(huán)境的增強(qiáng)正在進(jìn)行之中。 EMCC軟件有限公司把所有的三種廠商的IDE都作為自己開發(fā)活動(dòng)的基礎(chǔ)。我們也每天使用命令行工具——并不是因?yàn)槲覀冊?,而是由于我們目前只能這樣做。這是為目標(biāo)設(shè)備建立程序和自動(dòng)化通宵編譯過程的基本操作。C++BuilderX和CodeWarrior IDE現(xiàn)在可以用于為目標(biāo)設(shè)備建立程序——但并不是所有的基本的建立操作都受到全部IDE的支持。
在寫作本文的時(shí)候,開發(fā)任何Series 60項(xiàng)目的最容易的和最通用的出發(fā)點(diǎn)是定義一對bld.inf和.mmp項(xiàng)目文件。在EMCC軟件公司,這些文件用于任何特定IDE項(xiàng)目文件的生成過程,并且可以在任何需要的命令行建立過程中使用。這種方法也是Symbian和Nokia在它們的SDK和文檔中提供的每個(gè)簡單的項(xiàng)目目前所采用的方法。在目前情況不斷變化的情況下使用專用的IDE是不可行的。各種情況很快就會發(fā)生變化,而這正式Symbian OS和Series 60開發(fā)人員的真實(shí)生活。
在本文的剩余部分中,我們使用HelloWorld示例項(xiàng)目來演示Series 60模擬器的開發(fā)、調(diào)試和部署過程的所有步驟。
我們也提供了示例應(yīng)用程序需要的其它的所有文件——例如頭文件(.h)、源文件(.cpp)和用戶界面資源文件(.rss)。
你可以使用Series 60模擬器測試該應(yīng)用程序,或者在某個(gè)IDE中啟動(dòng)它,或者從命令行提示符上運(yùn)行它。但是,在模擬器上調(diào)試應(yīng)用程序必須在IDE內(nèi)部進(jìn)行。
在模擬器上開發(fā)、運(yùn)行、測試和調(diào)試應(yīng)用程序之后,一般你都希望在目標(biāo)設(shè)備上建立和運(yùn)行該程序。因此我們還演示了如何為目標(biāo)設(shè)備建立示例應(yīng)用程序,如何部署它,并在目標(biāo)Series 60硬件上運(yùn)行它。
Series 60模擬器
Series 60應(yīng)用程序的開發(fā)、調(diào)試和最初的測試一般都在PC模擬器上進(jìn)行,該模擬器提供了一種基于微軟Windows的Series 60設(shè)備的實(shí)現(xiàn)。在大多數(shù)情形中你會發(fā)現(xiàn)基于模擬器的開發(fā)過程與在真實(shí)的設(shè)備上運(yùn)行的應(yīng)用程序的操作是非常相似的;因此你的主要工作在硬件設(shè)備可以使用之前就可以進(jìn)行了。模擬器的精確界面與提供的圖形會有很大的不同,它依賴于你使用的目標(biāo)平臺、Series 60的版本和所選擇的IDE。此外,還可能添加或刪除一些按鈕或其它的操作元素以模擬現(xiàn)實(shí)的設(shè)備的配置。同樣,模擬器上可以使用的應(yīng)用程序也依賴于平臺的版本和設(shè)備廠商的選擇。
模擬器和真實(shí)的設(shè)備之間有些差異無法避免。真實(shí)的Series 60設(shè)備可能帶有硬件附件(例如照相頭)和其它特性(例如后臺振動(dòng))。因此有時(shí)候硬件對于開發(fā)和測試是必要的。此外,基于PC的模擬器不能精確地模擬精確計(jì)時(shí)、應(yīng)用程序性能和內(nèi)存管理的問題。
對于基于PC的開發(fā),編輯/編譯/建立周期是基于微軟Windows開發(fā)工具集的。但是,與依賴Win32或MFC類庫進(jìn)行鏈接和建立不同,開發(fā)者將依賴于Series 60 SDK安裝的頭文件和PC格式的類庫來進(jìn)行鏈接和建立。作為結(jié)果的Windows格式的二進(jìn)制可執(zhí)行文件就可以在以PC的模擬器上運(yùn)行了。
在開發(fā)過程中,特定IDE的項(xiàng)目文件管理著所有的鏈接和建立細(xì)節(jié)信息。它同時(shí)確保了建立操作的所有輸出和其它需要的資源文件(例如應(yīng)用程序資源文件)都被放到了適當(dāng)?shù)奈恢靡怨┰谀M器環(huán)境下進(jìn)行運(yùn)行和調(diào)試。
根據(jù)圖1-2,Series 60顯示屏邏輯上被分成三個(gè)區(qū)域:狀態(tài)塊、主塊和控制塊。
圖. Series 60模擬器
狀態(tài)塊是屏幕頂部的刻度條(在模擬器上是藍(lán)色的)加上它上面的區(qū)域。主塊是屏幕中間的,位于狀態(tài)條和屏幕底部之間的軟按鍵(soft key)標(biāo)簽之間的部分??刂茐K是緊接著主快,包含了軟按鍵標(biāo)簽。
狀態(tài)塊可以顯示當(dāng)前應(yīng)用程序的信息和設(shè)備的一些普通信息(例如信號強(qiáng)度和電池情況)。它在大多數(shù)情形中是可視的,但是有時(shí)候是隱藏的。例如很多游戲就使用了整個(gè)屏幕。
主塊是屏幕的主要區(qū)域,應(yīng)用程序可以在這兒顯示數(shù)據(jù)。典型情況下,這個(gè)區(qū)域作為客戶端矩形引用,它通常被應(yīng)用程序的數(shù)據(jù)顯示所填滿。
控制塊占據(jù)了屏幕的下部,它顯示了與兩個(gè)軟按鍵相關(guān)的標(biāo)簽,并根據(jù)需要顯示滾動(dòng)條。與狀態(tài)塊類似,控制塊有時(shí)候也可以隱藏。在這種情況下,在 Series 60中樣式指導(dǎo)假定用戶可以使用Options菜單(左邊的軟按鍵的默認(rèn)的標(biāo)簽),即使它是不可視的(請參考Series 60 SDK文檔提供的“Nokia Series 60游戲UI樣式指導(dǎo)”)。
控制塊下面的兩個(gè)按鈕分別是左和右軟按鍵,用于選擇當(dāng)前關(guān)聯(lián)的Options菜單或標(biāo)記的操作。四路導(dǎo)航按鍵可以上下左右滾動(dòng),如果按下(點(diǎn)擊)中間就可以進(jìn)行選擇。
你可以通過PC鼠標(biāo)或光標(biāo)按鍵在顯示屏上的對象之間進(jìn)行導(dǎo)航,從而與模擬器交互操作。我們可以直接地使用鼠標(biāo)點(diǎn)擊來選擇文件夾或其它顯示的對象,而不需要使用四路導(dǎo)航按鍵(僅僅在模擬器上可行)。我們可以使用PC鍵盤進(jìn)行數(shù)據(jù)輸入,或者通過點(diǎn)擊模擬器上的12位鍵區(qū)來輸入。因此與模擬器的交互操作是類似于、但并不是完全與使用真實(shí)的Series 60一樣的——在真實(shí)的設(shè)備上沒有筆輸入,因此所有的移動(dòng)和選擇都是通過光標(biāo)導(dǎo)航完成的。
【編輯推薦】