天天看點

symbian入門學習

symbian 入門篇

一、symbian簡介

Symbian是一個實時性、多任務的純32位作業系統,具有功耗低、記憶體占用少等特點,非常适合手機等移動裝置使用,經過不斷完善,可以支援GPRS、藍芽、SyncML、以及3G技術。Symbian主要用于高端的智能手機,其開發語言為C++。Symbian 是真正的微核作業系統,所謂“微核”,就是說作業系統隻有很小的一部分是運作在最高優先級的,其他的功能都是以Client-Server的方式提供。

二、symbian開發環境的布置

I.  起點-SDK和IDE的選擇

這裡主要針對S60的開發環境的建立,是以首先為大家列出S60系統的各種版本。因為開發者應該根據需要,選擇自己适合的SDK版本。

1、Series60 第一版                -  Symbian OS 6.1

2、Series60 第二版                -  Symbian OS 7.0s

3、Series60 第二版   Pack 1       -  Symbian OS 7.0s

4、Series60 第二版   Pack 2      -  Symbian OS 8.0a

5、Series60 第二版   Pack 3          -  Symbian OS 8.1a

6、Series60 第三版                -  Symbian OS 9.0

需要要說明的是,Nokia的Symbian/Series60開發包支援的內建開發環境[IDE]工具有很多種,下面列出主要使用的一些IDE:

1、Microsoft Visual Studio 6 / Visual C++ 6

2、Microsoft Visual Studio .NET [2003] / Visual C++ 7

3、Borland C++ Builder 6

4、Borland C++ Builder X 1.0

5、Metrowerks CodeWarrior Studio for Symbian Personal/Professional 2.0/2.5

II.在安裝SDK以前保證下列1-3項先被正确安裝。SDK和IDE要安裝在電腦上的同一個分區。SDK的安裝路徑不能含有空格。

下面詳細說明需要安裝的軟體及其步驟:

1、在安裝SDk之前必須安裝ActivePerl(官方文檔要求安裝Perl 5.6.1 build 531,并說明安裝其他版本可能會有問題

2、安裝JAVA Run-Time1.4.1_02 或者新版本說明:在使用指令行編譯程式的時候事實上是不需要用到JAVA Run-Time1的。但是若要使用SDK的一個強大的工具ApplicationWizard,就必須安裝該元件,同時若要使用Sisar等工具的話,JRE也必不可少。

3、安裝IDE,安裝Microsoft Visual Studio .NET 2003

4、安裝SDK,注意前面所說的SDK的安裝路徑不能含有空格。并且要和IDE裝在同一個分區,這樣可以避免一些麻煩

5、安裝Nokia Developer Suite - Carbide.vs 。這相當于VS2003的一個插件,用于幫助導入或者建立S60工程

相應軟體可在諾基亞首頁下載下傳

III.安裝完畢後在系統環境變量path中加入:

{VS2003的安裝路徑}/Microsoft Visual Studio .NET 2003/Vc7/bin

三、下面可以通過一個例子,進一步了解symbian的開發環境

I. 通過Microsoft Visual Studio.NET 2003

1.進入Microsoft Visual Studio.NET 2003

2.單擊:檔案/import symbian project選擇并打開Symbian/8.0a/S60_2nd _FP2/S60Ex/helloworldbasic/group/helloworldbasic.mmp

Project type 為classic

3.然後單擊next. 在下一對話框中選中ARMI然後确認Finish ,此時就可以打開basic檔案了。

下面運作helloworldbasic這個程式

4.在菜單欄選中生成/生成解決方案(F7),在運作對話框中單擊生成,此時會顯示:

Helloworldbasic - 最新。

---------------------- 完成 ---------------------

                            1成功 0 失敗 0跳過

5.接下來點選調試/開始執行。

此時會自動打開series 6.0的調試模拟器,同時還可發現在調試模拟器的應用程式中多了一個HelloWorldBasic程式

這是一種用Microsoft Visual Studio.NET 2003直接調試的方法,除此之外還可以用windows指令行進行調試

II. 用windows指令行進行調試:

1.找到helloworldbasic檔案夾的位址,

Symbian/8.0a/S60_2nd _FP2/S60Ex/helloworldbasic/group/

2、建構我們的例子,輸入:

bldmake bldfiles

這一步會生成一個檔案ABLD.BAT。

3、編譯和連結,輸入:

abld build wins udeb

這一步會生成供Series 60 調試模拟器使用的檔案。

4、運作,在指令行進入:

Symbian/8.0a/S60_2nd_FP2/epoc32/release/wins/udeb

這個目錄含有剛生成的helloworld.exe檔案。然後輸入:

Helloworld

此時會自動打開series 6.0的調試模拟器,同時還可發現在應用程式中多了一個HelloWorldBasic程式

下面簡單介紹一下以上各步的含義:

當我們運作

bldmake bldfiles

這個指令時,會處理目前目錄下的bld.inf檔案,具體來說會執行以下處理過程:

1、生成目錄

Symbian/8.0a/S60_2nd_FP2/epoc32/BUILD/SYMBIAN/8.0A/S60_2ND_FP2/EXAMPLES/BASICS/HELLOWORLD

2、在這個目錄下,生成一系列的Make檔案,針對各種目标環境。比如VC7.MAKE,CW_IDE.MAKE等等。

3、在目前目錄下生成abld.bat檔案,這個檔案會在随後用到。可以檢視該檔案的内容。但是建議不要手工的更改它的内容。Bldmake指令也支援其他的指令行選項,可以直接輸入bldmake來檢視簡要的介紹,還可以檢視SDK文檔了解詳細資訊。由bldmake處理bld.inf檔案得到的abld.bat檔案,使得abld指令可用。Abld.bat控制着建構一個項目的方方面面。Abld指令的文法非常地靈活,它擁有許多指令行選項,它們的組合涵蓋了各種建構需求。最常用的組合,莫過于abld build 和 abld clean 相關了。

當我們運作

abld build wins udeb

這個指令時,将為wins平台(即通常的VC++環境)生成一個debug版本的程式。具體來說,在

D:/Symbian/8.0a/S60_2nd_FP2/epoc32/BUILD/SYMBIAN/8.0A/S60_2ND_FP2/EXAMPLES/BASICS/HELLOWORLD/HELLOWORLD/WINS/UDEB

和D:/Symbian/8.0a/S60_2nd_FP2/epoc32/release/wins/udeb下面各生成了一些檔案比如Helloworld.exe檔案。

在運作此檔案就可以得到最終的效果了

還要說明一點的是,示例所用的SDK,IDK分别是

SDK:SERIES 60 2ND EDITION SDK FOR SYMBIAN OS  SUPPORTING FEATURE PACK 2  

           SUPPORTING MICROSOFT VISUAL C++  CHINESE SIMPLIFIED EDITION

IDE:Microsoft Visual Studio .NET 2003  

如果嚴格按照以上步驟仍得不到正确的效果可能是版本不同造成的 版本不同可能會有相應的改動

四、 推薦幾個有關symbian的網站

1.Symbian OS官方網站 不用多說,這是Symbian相關資訊的最權威來源。

2.諾基亞論壇 這是最為活躍的移動開發技術社群。尤其是關于Nokia Series系列的資源非常的豐富。 而且,現在還有 諾基亞論壇簡體中文版 這極大的友善了國内的開發者學習相關技術。

3.UIQ的官方網站 UIQ Technology AB成立于1999年,是完全歸Symbian公司所有的一家子公司。他們面向開發移動裝置的UI Platform——UIQ,并授權給那些全球領先的移動裝置制造商。

五、常見單詞縮寫及其含義:

VCL是Visual Component Library的縮寫,即可視元件庫

MFC,微軟基礎類(Microsoft Foundation Classes),

GUI是圖形使用者界面(Graphic User Interface)

IDE是Integrated Device Electronics(電子內建驅動器)的簡稱,是一種硬碟的傳輸接口,它有另一個名稱叫做ATA(AT Attachment),這兩個名詞都有廠商在用,指的是相同的東西。

這裡的IDE指 內建開發環境Integrated Development Environment

DLL即 Dynamic Link Library(動态連結庫)。

API就是 Application Programming Interface,就是作業系統留給應用程式的一個調用接口,應用程式通過調用作業系統的 API 而使作業系統去執行應用程式的指令(動作)

SDK (Software Development Kit),就是“軟體開發工具包”。