初學(xué)j2me必讀網(wǎng)友學(xué)習(xí)筆記Java認(rèn)證考試
應(yīng)用開發(fā)環(huán)境的選擇和配置
2003年三月份,我剛開始接觸了手機游戲的開發(fā)。開發(fā)手機上的游戲程序,最初僅僅只是出于興趣愛好,利用業(yè)余時間自己陸陸續(xù)續(xù)的也寫了一些Code,得到了一些經(jīng)驗,本來是想敝帚自珍的,但是朋友的鼓勵,使我決定把自己的一點點心得體會寫出來,藉以告慰我在學(xué)習(xí)中所陣亡的千千萬萬腦細(xì)胞,也為和我一樣在黑暗的艱難摸索人們中提供一些微不足道的幫助吧。
由于我本人對于手機應(yīng)用程序的開發(fā)也是初學(xué),如果在文章中出現(xiàn)什么問題,還望各位讀者海涵。很多人都在網(wǎng)上問我,開發(fā)手機應(yīng)用程序是不是一定要買一個真正的手機平臺,我的看法是剛開始學(xué)習(xí)的時候不一定要買手機,先在網(wǎng)上多看多問,把平臺的開發(fā)環(huán)境配置好,在模擬器上先單兵操練,不過我建議如果你真的需要把你的作品產(chǎn)品化的時候,最好配備一個真實的手機平臺用來測試,因為在模擬器的運行環(huán)境中用很多的運行效果和真實的設(shè)備環(huán)境還是有很大的出入,在模擬器平臺上運行得很好的程序未必在真實的設(shè)備上就OK,更何況你也一定跟我一樣很期盼能夠隨時隨地地拿出手機Show一把自己的程序。
如何選擇開發(fā)的工具也是許多人在準(zhǔn)備學(xué)習(xí)前奔走相問的,不過這個也實在不好回答,在當(dāng)前主流的手機開發(fā)平臺上基本上是戰(zhàn)國時代,諸侯們紛紛你方歌罷我登場,各有各的好處,各有各的弊端,僅我所知道的,當(dāng)前智能手機的操作系統(tǒng)主要為微軟的SmartPhone(這是基于WinCE平臺的),Symbian(這是為諾基亞,索愛,西門子等各大手機廠商所支持的)還有Brew(這是高通公司的)等,下面我就單從程序人員的角度聊一聊如何選擇這幾種開發(fā)平臺。
如果你是一個優(yōu)秀的Windows程序設(shè)計人員,而且對于MS情有獨鐘,OK,你可以試一試基于WinCE平臺的SmartPhone的開發(fā),快到微軟的網(wǎng)站上下載他free的eMbedded Visual C 4.0和SmartPhone的模擬器,安裝好以后,你就可以在熟悉的Visual C 的環(huán)境下工作了,甚至喜歡C#的同志們可以選用Visual Studio .Net 2003 并且在這個環(huán)境下開始你的工作,一切都是那么的熟悉。至于缺點么,恩,就是啟動和運行模擬器太慢了,調(diào)試一個程序你還是需要付出一些耐心的,呵呵。
如果你和我一樣手機都是Nokia 60系列的,那就可以考慮學(xué)習(xí)Symbian了,Symbian是一家由各主要無線通信技術(shù)公司持股的軟件公司,它提供一個智能化的手機平臺SymbianOS,主要有諾基亞,西門子,索愛等,他是微軟在智能手機平臺的最大競爭者。
Symbain同時支持C 開發(fā)和Java開發(fā)。不過學(xué)習(xí)Symbian上面C 的開發(fā)也是需要一個艱難痛苦的歷程,你可以先在Nokia的開發(fā)人員站點上下載Nokia 相關(guān)與Symbain的開發(fā)工具nS60_sdk系列,安裝后可以集成到VC6的環(huán)境中,在安裝的時候也是有幾項需要特別注意的(安裝的問題,在論壇上詢問的也特別多)。
首先,你要保證你的操作系統(tǒng)是Windows2000 SP2 或者以上的配置;
第二,你需要在你的VC6上安裝SP3以上的補丁,(呵呵,我裝的是SP5大概有幾百兆吧?.)
第三,安裝nS60_sdk的時候要考慮裝在C盤上,這個么在網(wǎng)上說法不一,不過如果你和我一樣剛剛安裝的時候有過失敗的紀(jì)錄,那么病急亂投醫(yī),也會把它安裝在C盤的;
第四,也是最重要的一定要保證你的 nS60_sdk的統(tǒng)一盤符上也安裝了Perl和JDK1.3,因為nS60_sdk1.2并沒有帶著兩個東東,所以我安裝的是nS60_sdk1.0
最后,一定要注意特別保證你生成應(yīng)用程序的路徑盤符要和nS60_sdk1.0一樣,(在我這里當(dāng)然也就是C盤了)也要保證系統(tǒng)的環(huán)境變量Path中存在這幾個工具的路徑。
當(dāng)這些都配置好了,你就可以拷貝AvkonAppWiz.awx 和 AvkonAppWiz.hlp 文件到 Visual C template (c:\Program Files\Microsoft Visual Studio\Common\MsDev98\Template)目錄下,然后啟動你的VC6,按照向?qū)нx擇Nokia 60 SDK,然后一步一步地走下去,點擊確定就可以生成你的應(yīng)用程序框架了,夷,不好,怎么看到了 “c:\Symbian\6.1\Series60\epoc32\build\test\group\test\wins\test.dsw The specified project could not be inserted into the current workspace.”這個錯誤,千萬別緊張,很多人都碰到過,回頭再看看有什么地方設(shè)置的不對,特別要注意環(huán)境路徑的配置呀。
好了,接下去就可以正式進入學(xué)習(xí)開發(fā)了,Nokia 60 SDK自帶的幫助和實例也許會對你有很好的幫助的。 據(jù)說國外有高手可以把這個SDK安裝配置在VS.NET上開發(fā),呵呵,真是厲害,至少我還沒有成功過。
以上為Nokia60系列的開發(fā)步驟,如果你需要開發(fā)索愛的P800(這也是我夢寐以求的一款好機子),可以下載他的工具UIQ來開發(fā)。
Brew是我一個好朋友的開發(fā)利器,它是高通公司推出的無線二進制運行開發(fā)操作環(huán)境,也必須要在高通的特定的硬件平臺上運行。在朋友的幫助下,我在高通的網(wǎng)站下載了他的BREW_SDK_20zn ,他的開發(fā)環(huán)境也是基于VC6的(呵呵,微軟一定很后悔為什么把開發(fā)工具做的那么通用,搞得對手們紛紛拿來就用),在進入向?qū)纱a框架時你會發(fā)現(xiàn)Brew突然需要你填入一個ClassID,這是為了保證在機器中的注冊信息唯一,如果你做的是測試程序的話,你可以利用Brew SDK自帶的工具MIF編輯器來生成相應(yīng)的ClassID,并運行在模擬器上。
但是如果你需要運行在實際的平臺設(shè)備上,你就必須要注冊到高通的網(wǎng)站上,成為他的開發(fā)者,當(dāng)然還要每年都向他繳納一定的會費(是$),然后才可以從他的站點上得到實際的ClassID,并且在硬件環(huán)境上測試,否則你就只能通過MIF編輯器生成本地ClassID在模擬器上跑著玩了,真是生財有道呀。
Brew的開發(fā)模式基本上與Symbain很類似,都是在VC的開發(fā)環(huán)境中編譯代碼,生成一個完整動態(tài)庫,然后通過運行模擬器的可執(zhí)行程序加載動態(tài)庫,就可以調(diào)試你做好應(yīng)用程序邏輯了,如果調(diào)試通過,就可以通過相關(guān)的工具再編譯成底層硬件設(shè)備可執(zhí)行的二進制代碼,譬如ARM等,通過打包下載就可以運行在你的手機上。
OK,至于他們兩個的不同之處么,唔… Brew是純粹的C語言開發(fā)的,它通過一套獨特的機制模擬了類似于COM的體系框架;而Symbian呢,則是完全的c ,他自身在內(nèi)部實現(xiàn)了一整套的類庫體系(非常類似于MFC)來開發(fā)實際在Symbain上跑的應(yīng)用程序。他們的類庫為了各自適應(yīng)自己的平臺所提供的功能,還是有相當(dāng)?shù)牟煌?/p>
其實,Symbain和Brew作為嵌入式系統(tǒng)開發(fā)的體系結(jié)構(gòu),都是依托于C 思想建立的,在他們的應(yīng)用程序框架中能看到許多C 思想的影響烙印。譬如,我在學(xué)習(xí)Brew的時候腦海中一直都有一個COM的原型(他的很多組件的加載和運行都是非常像的),而在學(xué)習(xí)Symbian的對象內(nèi)存管理機制的時候,也看出了它在對于利用C 的內(nèi)部機制力圖實現(xiàn)一個類似于Java一樣能對內(nèi)存自動管理、分配、清除的模型,用來保證它的內(nèi)存管理絕對安全。
【編輯推薦】