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