symbian操作系統(tǒng) 入門篇
一、symbian簡介
Symbian是一個實時性、多任務的純32位操作系統(tǒng),具有功耗低、內存占用少等特點,非常適合手機等移動設備使用,經(jīng)過不斷完善,可以支持GPRS、藍芽、SyncML、以及3G技術。Symbian主要用于高端的智能手機,其開發(fā)語言為C++。Symbian 是真正的微核操作系統(tǒng),所謂“微核”,就是說操作系統(tǒng)只有很小的一部分是運行在最高優(yōu)先級的,其他的功能都是以Client-Server的方式提供。
二、symbian開發(fā)環(huán)境的布置
I. 起點-SDK和IDE的選擇
這里主要針對S60的開發(fā)環(huán)境的建立,因此首先為大家列出S60系統(tǒng)的各種版本。因為開發(fā)者應該根據(jù)需要,選擇自己適合的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開發(fā)包支持的集成開發(fā)環(huán)境[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要安裝在電腦上的同一個分區(qū)。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裝在同一個分區(qū),這樣可以避免一些麻煩
5、安裝Nokia Developer Suite - Carbide.vs 。這相當于VS2003的一個插件,用于幫助導入或者建立S60工程
相應軟件可在諾基亞主頁下載
III.安裝完畢后在系統(tǒng)環(huán)境變量path中加入:
{VS2003的安裝路徑}\Microsoft Visual Studio .NET 2003\Vc7\bin
三、下面可以通過一個例子,進一步了解symbian的開發(fā)環(huán)境
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.接下來點擊調試/開始執(zhí)行。
此時會自動打開series 6.0的調試模擬器,同時還可發(fā)現(xiàn)在調試模擬器的應用程序中多了一個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的調試模擬器,同時還可發(fā)現(xiàn)在應用程序中多了一個HelloWorldBasic程序
下面簡單介紹一下以上各步的含義:
當我們運行
bldmake bldfiles
這個命令時,會處理當前目錄下的bld.inf文件,具體來說會執(zhí)行以下處理過程:
1、生成目錄
Symbian\8.0a\S60_2nd_FP2\epoc32\BUILD\SYMBIAN\8.0A\S60_2ND_FP2\EXAMPLES\BASICS\HELLOWORLD
2、在這個目錄下,生成一系列的Make文件,針對各種目標環(huán)境。比如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++環(huán)境)生成一個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的網(wǎng)站
1.Symbian OS官方網(wǎng)站 不用多說,這是Symbian相關信息的最權威來源。
2.諾基亞論壇 這是最為活躍的移動開發(fā)技術社區(qū)。尤其是關于Nokia Series系列的資源非常的豐富。 而且,現(xiàn)在還有 諾基亞論壇簡體中文版 這極大的方便了國內的開發(fā)者學習相關技術。
3.UIQ的官方網(wǎng)站 UIQ Technology AB成立于1999年,是完全歸Symbian公司所有的一家子公司。他們面向開發(fā)移動設備的UI Platform——UIQ,并授權給那些全球領先的移動設備制造商。
五、常見單詞縮寫及其含義:
VCL是Visual Component Library的縮寫,即可視組件庫
MFC,微軟基礎類(Microsoft Foundation Classes),
GUI是圖形用戶界面(Graphic User Interface)
IDE是Integrated Device Electronics(電子集成驅動器)的簡稱,是一種硬盤的傳輸接口,它有另一個名稱叫做ATA(AT Attachment),這兩個名詞都有廠商在用,指的是相同的東西。
這里的IDE指 集成開發(fā)環(huán)境Integrated Development Environment
DLL即 Dynamic Link Library(動態(tài)鏈接庫)。
API就是 Application Programming Interface,就是操作系統(tǒng)留給應用程序的一個調用接口,應用程序通過調用操作系統(tǒng)的 API 而使操作系統(tǒng)去執(zhí)行應用程序的命令(動作)
SDK (Software Development Kit),就是“軟件開發(fā)工具包”。