RConnectionMonitor被SYMBIAN封裝的受不了。
大家詳細(xì)看看OS 內(nèi)核,把好好的一個API封裝的想自殺擬的。
因為這種變態(tài)的封裝使得我們好多參數(shù)都得不到,郁悶之極啊。
如果我們能得到流量,并定位到指定的程序該多好啊。
哈哈。很多事情都往往......但是總是美好的瑕想。
少費話了,看我們?nèi)绾螒?yīng)用RConnectionMonitor這個來統(tǒng)計流量吧。
我們先來看看RConnectionMonitor這個的基本用法。
假定您已經(jīng)習(xí)慣了Symbian的Observer模式。那么請先繼承MConnectionMonitorObserv
er吧
//初始化
void CMonitorNetWork::ConstructL()
{
TInt err = iConnMon.ConnectL();
iConnMon.NotifyEventL(*this);
}
//當(dāng)發(fā)生所有事件時,都可以回調(diào)到這里
//比如新的連接,連接斷開時都會回調(diào)
void CMonitorNetWork::EventL( const CConnMonEventBase &aEvent )
{
case EConnMonCreateConnection:
{
TUint connectionId = eventCreate->ConnectionId();
//所有的新建的連接都會回調(diào)到這里
//我們可以得到連接的索引
//那么連接的索引對于我們來說有什么作用呢?哈哈當(dāng)然有作用。
//讓我們來看看下面的API。KDownlinkData哈哈是不是很驚喜可以得到下載的流量。
//對就是這樣的。讓我們來分析一下這個API。
//aConnectionId 連接索引,0 子連接,KDownlinkData 需要得到屬性的值,iValue所得到的值
//GetUintAttribute( aConnectionId, 0, KDownlinkData, iValue, iStatus);
}
}
//哈哈。我們搞清楚了GetUintAttribute的每一項是不是所有的事情都搞定了呢。
//當(dāng)然不是,在測試中發(fā)現(xiàn)有時候得不到值。
void CMonitorFlow::GetDownLinkData(TUint aConnectionId)
{
iState = EGet;
iMonitor.GetUintAttribute( aConnectionId, 0, KDownlinkData, iValue, iStatus);
SetActive();
}
//注意:在這里每1S種得到一次值,就可以得到相應(yīng)的流量值了。系統(tǒng)刷新的比較慢。我們就忍了吧。
]]>愛上大S,夸夸岳母Symbian
用了一段時間的大S后,發(fā)現(xiàn)自己越來越愛上她了,為了將來的幸福,特意去研究了一下Symbian(岳母大人 ;-DD),不敢獨享,特報告如下:
在說Symbian之前,先說說她的前身EPOC(Electronic Piece of Cheese/使用電子產(chǎn)品時可以像吃乳酪一樣簡單,未婚之前的名字 ;-DD),在演進(jìn)到第五版后正式更名為Symbian。EPOC首次在中國亮相是在2000年Ericsson的R380sc身上,由于其超前的規(guī)格和功能(那時就支持Wap和手寫),當(dāng)時曾經(jīng)引發(fā)了國內(nèi)愛機(jī)迷的深度關(guān)切(區(qū)區(qū)不才,也混入其中),直道現(xiàn)在R380sc都還在愛機(jī)迷的收藏范圍。其實在這之前歐洲就有了不少EPOC的產(chǎn)品,只是在中國不被關(guān)注而已,如Psion(國內(nèi)很少資料的公司,Symbian 的 EPOC 最早由 Psion 開發(fā),現(xiàn)在仍是Symbian的主要股東之一)就出過好幾款專用設(shè)備(應(yīng)該算手持電腦類吧),那個時候EPOC已經(jīng)開始冠上了Symbian EPOC的名字了,而在手機(jī)極度發(fā)達(dá)和追求新功能的日本,也是從99年開始就對EPOC表示了強(qiáng)烈的興趣。
但是由于第一個嘗試將Symbian EPOC用在手機(jī)上的Ericsson市場操作能力和R380sc(包括其CeBIT 2000上推出的Communicator Platform樣機(jī)后流產(chǎn)和MC218手機(jī)套件的不得志)批量生產(chǎn)一度后推,等他上市的時候,暫時失去了應(yīng)有的光環(huán),然后她那天下一統(tǒng)的思路(手機(jī)+PDA)還是得到了業(yè)內(nèi)的一致認(rèn)可。加上Psion從進(jìn)軍職能手機(jī)市場開始,就把Symbian EPOC定性為開放源碼的平臺(這點跟Linux一樣),但是他收取使用廠商的授權(quán)費用,而且各個廠商都可以根據(jù)要求提出修改意見,正是這樣,才使得EPOC趨于完美,吸引了Ericsson、Nokia、Motorola、philphs、Matsushita(松下子公司) 等公司建立了Symbian聯(lián)盟(目前手機(jī)屆5個老大都是該聯(lián)盟的成員),一同攜手將Symbian電話推出市場,出現(xiàn)了現(xiàn)在Symbian到處開花的局面。 現(xiàn)在獲得Symbian系統(tǒng)授權(quán)的廠商有愛立信、建伍、摩托羅拉、諾基亞、松下、Psion、三洋、西門子、三星和索尼等。
得益于Symbian的開源和開放,Symbian甚至獲得了IT巨頭IBM和Sun的關(guān)注,所以在第5版開始就率先在手機(jī)上實現(xiàn)了Java虛擬機(jī),為Symbian再次注入了強(qiáng)心劑!使得在其上的開發(fā)投入獲得了進(jìn)一步的保證(移植能力),接下來與PC巨頭IBM合作(2000年2月)無線企業(yè)應(yīng)用,使得2000年成為Symbian初露鋒芒,成為CeBIT 2000的一大亮點。各個廠商更是磨拳擦掌,躍躍欲試,當(dāng)年就定下了Symbian今后的三大發(fā)展方向:分別用于智能手機(jī)、筆式輸入通訊器和鍵盤輸入通訊器。三種產(chǎn)品的開發(fā)代號分別為Pearl(珍珠),Quartz(石英)和Crystal(水晶)。每種系列都采用Symbian核心平臺80%的代碼。不同系列之間的區(qū)別主要在于用戶接口(例如:筆式或鍵盤式輸入)和屏幕大小。
下面我們來看看Symbian到底有什么長處,值得大家為此去付出。Psion在進(jìn)軍智能手機(jī)之前是PDA的研發(fā)公司,所以至今Symbian還有著PDA的特點,加上前面提到的三個發(fā)展方向,在使用80%核心代碼的情況下各自發(fā)展,所以在很多技術(shù)上面是都有著人有我優(yōu),人無我優(yōu)的特點,必將成為2.5G和3G當(dāng)之無愧的主流,主要優(yōu)勢總結(jié)如下:
* 開放和開源,這點于Linux有著異曲同工的妙處,從目前Linux的技術(shù)發(fā)展就能看到;
* 逐步完善的C++ API編程支持,使得整個系統(tǒng)的開發(fā)完全建立在C++高效和高能上;
* 非常健全的核心-強(qiáng)大的對象導(dǎo)向系統(tǒng)、企業(yè)用標(biāo)準(zhǔn)通信傳輸協(xié)議以及完美的sun java語言;
* 設(shè)備間靈活的移植能力,除了Java應(yīng)用本身的移植能力以外,基于C++的程序大部分也能在設(shè)備間公用;
* 同其他同等硬件條件的系統(tǒng)來比,具有不管是低階的多工和高階的使用界面來看都具有快速的數(shù)據(jù)存取能力,
* 經(jīng)濟(jì)地使用電池,低電源和斷點的保護(hù)能力強(qiáng);
* 在小型的裝置上擁有強(qiáng)大支持網(wǎng)絡(luò)、通信、無線連接等開放和兼容能力;
* 底層支持國際統(tǒng)一文字編碼Unicode。
說完優(yōu)點,再來說說缺點吧: Symbian只做操作系統(tǒng),不提供用戶界面的做法讓手機(jī)廠商頭痛,一般情況下手機(jī)廠商目前只能搭配著接受Nokia的Series系列界面,而Nokia的野心、在陣營中的霸氣(正準(zhǔn)備買下郁郁不得志的Psion擁有之股份 )過早暴露使得其他手機(jī)廠商心猿意馬,比如西門子開始使用M$的平臺、Moto開始用Linux、而三星干脆所以平臺全上(CE、Palm、Linux),而Sony Ericsson干脆自己做起UIQ界面(基于Quartz),使得陣營不穩(wěn)定,影響了消費者的信心。
最后,作為補(bǔ)充,針對很多N迷一直把Symbian硬說為N的產(chǎn)品,下面引用Nokia網(wǎng)站的原文,看看他對Symbian的解釋:
“Symbian的EPOC技術(shù)為諸如通信器和智能電話的無線信息設(shè)備的OEM廠商提供全套解決方案。Symbian為愛立信、Matsushita、摩托羅拉、諾基亞和Psion公司所有,致力于推廣用于無線信息設(shè)備與無線網(wǎng)絡(luò)、內(nèi)容服務(wù)、信息處理的交互式運作和企業(yè)整體解決方案的標(biāo)準(zhǔn)。總部設(shè)在倫敦,并在日本東京和Kanazawa、瑞典Ronneby、英國劍橋和美國舊金山灣地區(qū)設(shè)有辦事處。它的股份為愛立信、Mitrushita、摩托羅拉、諾基亞和Psion公司所持有。公司網(wǎng)址:www.symbian.com”
“Symbian和EPOCS標(biāo)志是Symbian公司的商標(biāo)貨注冊商標(biāo)。所有其他商標(biāo)和注冊商標(biāo)是其各自所有者的法律財產(chǎn)。”
----原文引自:http://www.nokia.com.cn/news/news990526.html
Java知識問答
什么是 Java 虛擬機(jī)?
JJava 虛擬機(jī)是一個解釋程序,它可以解釋執(zhí)行網(wǎng)上下載的符合 Java 二進(jìn)制標(biāo)準(zhǔn)的應(yīng)用程序, Sun 公司把 Java 虛擬機(jī)分成三個檔次,企業(yè)版用于服務(wù)器( J2EE ),標(biāo)準(zhǔn)版用于臺式機(jī) (J2SE) ,微型版用于嵌入式設(shè)備 (J2ME) 。其中,微型版中的 K-Java 虛擬機(jī)主要用于手機(jī)和 PDA 。
什么是 Java 2 平臺微型版( J2ME ) ?
Java 2 平臺微型版( J2ME )是 Java 2 平臺的一種,這個程序的目標(biāo)平臺是消費電子和嵌入式設(shè)備。 J2ME 技術(shù)包括一個虛擬機(jī)和一組適合消費和嵌入式電子設(shè)備的運行環(huán)境的經(jīng)過剪裁的 API 。 J2ME 目前提供了兩套配置( Configuration ),即 CLDC 和 CDC 。其中 CLDC 用于手機(jī),與 MIDP 配合使用。
什么是 J2ME 的配置( Configuration ) ?
J2ME 技術(shù)有兩個設(shè)計重點,應(yīng)用程序以及如何將這個應(yīng)用程序放在一個使用環(huán)境中。不同的應(yīng)用程序和不同的使用環(huán)境對虛擬機(jī)和底層 API 有不同的要求。目前有兩種配置( Configuration ),一種適合那些能夠給予 Java 應(yīng)用程序運行 128 - 512K 內(nèi)存的設(shè)備,簡稱 CLDC ( Connected Limited Device Configuration ),另一種適合那些能夠給予 Java 應(yīng)用程序運行 512K 以上的設(shè)備 (Connected Device Configuration) 。配置( Configuration )具有蘊(yùn)含關(guān)系,即在比較苛刻的配置( Configuration )上運行的應(yīng)用程序可以在比較寬松的配置( Configuration )上運行,反過來不行。
目前有兩個標(biāo)準(zhǔn) CLDC 1.0 ( JSR 30 )和 CLDC 1.1(JSR 139) , CLDC 1.1 兼容 CLDC 1.0 。
什么是 Profile?
Profile 是一個運行環(huán)境規(guī)格說明書,詳細(xì)定義 Java 應(yīng)用程序接口( API ),這些 API 與所定義的配置( Configuration )相適應(yīng),這些 API 在為一種特定的設(shè)備提供完備運行環(huán)境時是必須的。 Profile 既指定 API ,也要基于特定的配置( Configuration )。所謂一個 Profile 必須是完備的是指:按照規(guī)格說明書編寫的應(yīng)用程序在指定的運行環(huán)境中運行時不需要任何其他 Java 類。制作 Profile 的過程可以被認(rèn)為是從一個比較大的 API 列表中挑選出一組 API, 從而形成完備運行環(huán)境的過程。通過設(shè)計和集成 Profile 總是可以滿足不同設(shè)備的需求。
什么是 MIDP ?
MIDP(Mobile Information Device Profile) 是移動信息設(shè)備專用的 Profile 。它基于 CLDC ,是今天各種移動信息設(shè)備(尤其是手機(jī))的 Java 運行環(huán)境。 MIDP 提供了移動應(yīng)用所需的核心應(yīng)用功能,包括:用戶接口,網(wǎng)絡(luò)連接、本地數(shù)據(jù)存儲以及應(yīng)用程序的生命期管理,是一個打包的標(biāo)準(zhǔn) Java 運行環(huán)境 API 集合。
MIDP 有兩個標(biāo)準(zhǔn),一個是 1.0(JSR37) ,這個標(biāo)準(zhǔn)雖然發(fā)布時間比較長了,但是仍然是主流,比較新的標(biāo)準(zhǔn)是 2.0(JSR118) ,這個標(biāo)準(zhǔn)主要是解決安全機(jī)制標(biāo)準(zhǔn)化問題(把 http 變成了 https ,增加了 SSL 安全協(xié)議層),另外增加了一部分多媒體功能以及游戲的鍵盤支持等。
MIDP 2.0和MIDP 1.0之間的區(qū)別是什么?
• 增強(qiáng)用戶接口
GUI 中的彈出 ChoiceGroup 的當(dāng)前選擇有了視覺提示。
GUI 中的 Item 有了它自己的命令集。
GUI 中的 Alert Screen 有了抽象命令( Abstract Command )。
布局( Layout )功能更靈活了。
• 媒體支持
戰(zhàn)敗者的命運
如果我們把時間翻回到一年前,Symbian在當(dāng)時還是當(dāng)然的王者。IDC數(shù)據(jù)顯示,2009年上半年,在全球智能手機(jī)市場中,諾基亞主導(dǎo)的Symbian占據(jù)46.4%份額。接下來,才是RIM黑莓19.9%,蘋果11.7%,以及微軟WindowsMobile的11%。從這個數(shù)字我們不難看出,在2009年上半年,黑莓、蘋果以及WindowsMobile加起來的市場份額,才將將抗得住Symbian。
但在接下來的時間里,Symbian遇到了強(qiáng)度空前的挑戰(zhàn),其中最強(qiáng)勁的兩個對手,是蘋果iPhone和谷歌的Android。
雖然經(jīng)過了一系列的互訴侵權(quán)官司,iPhone的市場份額變得越來越大。到iPhone4發(fā)布時,已經(jīng)沒有任何一款手機(jī)產(chǎn)品能夠跟蘋果iPhone4一樣受到了如此多人的高度關(guān)注。不論是預(yù)訂首日因大量用戶的訂購而導(dǎo)致的系統(tǒng)癱瘓,還是發(fā)售首日各地的搶購一空,都說明了它空前的人氣。
而從技術(shù)角度來看,iPhone4正面的3.5英寸屏幕雖然在時下來看已經(jīng)比較常見,但因為采用了IPS屏幕材質(zhì)以及高達(dá)960×640像素的分辨率,讓它的顯示效果已經(jīng)處于目前手機(jī)行業(yè)的頂級水平。除此之外,與前幾代產(chǎn)品相比,iPhone4極具顛覆性的外觀設(shè)計和僅為9.3毫米的機(jī)身厚度,更是讓它的外觀更具吸引力。不僅如此,全新的iOS4操作系統(tǒng)更是讓它的操控體驗和拓展性有了不小的提高。
而在iPhone4之前,Android超越目前幾乎所有其它智能系統(tǒng),成為最受矚目的焦點。我們甚至可以說,正是Android智能系統(tǒng)的崛起使得諾基亞市場份額開始下滑。
可以說,有了iPhoneOS和Android,Symbian的噩夢才剛剛開始。但如果說此時的Symbian就此退出,確實還為時尚早。
禍起蕭墻
面對iPhoneOS和Android的圍攻,Symbian在一開始確實選擇了反擊,其中一條重要的措施,就是將Symbian開源。如果此時Symbian的所有者諾基亞公司選擇進(jìn)行頑強(qiáng)抵抗,那么我們可以預(yù)見事情的結(jié)果:就算Symbian的市場份額進(jìn)一步下滑,但瘦死的駱駝比馬大,Symbian依然可以獨據(jù)一方,并且有翻盤的機(jī)會。但此時偏偏有了MeeGo。
有了諾基亞和英特爾的支持,MeeGo的發(fā)展完全可以用一日千里來形容。MeeGo雖然誕生于今年二月份,但它繼承了Linux的底蘊(yùn)。3月,英特爾向開發(fā)人員發(fā)布了第一個版本的MeeGo操作系統(tǒng)開發(fā)版,其中一個版本用于配置英特爾Atom處理器的上網(wǎng)本,另一個版本用于諾基亞的N900智能手機(jī)。到了4月的IDF2010時,MeeGo講座會場人潮攢動,在每場講座的問答環(huán)節(jié),現(xiàn)場Linux開發(fā)人員的提問都是相當(dāng)有水準(zhǔn),很多技術(shù)人員都是參與Linux多年的項目牛人和編程高手。5月份,MeeGo1.0正式版發(fā)布并提供下載。
至此,Symbian這個在外戰(zhàn)中不斷失利的系統(tǒng),在“內(nèi)戰(zhàn)”的競爭中被淘汰,已是不可避免的事情了。事實際上,當(dāng)Symbian3發(fā)布時,Symbian的危機(jī)已達(dá)到了高潮。因為雖然Symbian3被評價為一個不錯的系統(tǒng),但除了一款X10,搭載Symbian3的新機(jī)型卻遲遲不見發(fā)布。
此外,還有一個因素不容互視。這就是手機(jī)已經(jīng)越來越像一臺小型隨身電腦,而非只是單一功能的手機(jī)。客戶不僅用手機(jī)來打電話或發(fā)短信,同時也會收發(fā)e-mail、瀏覽網(wǎng)頁,玩游戲等。他們希望從程序商店挑選新軟件,而不只是廠商所供應(yīng)的一點點程序。
在這一點上,Android與iOS雖然用在手機(jī),但都還是跟個人電腦有那么一絲連結(jié),不像Symbian是完全從扎根于手機(jī)。從這個角度考慮,Symbian的落敗是正常的。而MeeGo在這一點時,卻完全具備與Android與iOS對抗的資本。
但另一方面,Symbian完全退出智能手機(jī)還為時尚早。根據(jù)最近公布的《第二季移動開發(fā)者調(diào)查》,在被問及對蘋果的iOS、Google的Android、Palm的WebOS、微軟的Phone7、諾基亞的Symbian/Meego,以及RIM的BlackBerry的意見時。高達(dá)90%的受訪者對開發(fā)iPhone應(yīng)用程序躍躍欲試,另有81%對開發(fā)Android手機(jī)軟件興趣濃厚。34%的受訪者對BlackBerry有興趣,27%屬意WindowsPhone,受Symbian和WebOS吸引的開發(fā)者目前居少數(shù)。
但一個不可忽視的數(shù)字是,還是有15%的開發(fā)者選擇了Symbian,而只有11%的開發(fā)者選擇了MeeGo。也許是因為這樣的擔(dān)心,諾基亞宣布,Symbian系統(tǒng)仍將用于諾基亞、三星、索尼愛立信的低端手機(jī)
]]>我們被告之Nokia會在不久的將來讓Qt兼容Android。
Nokia也許真的不會直接開發(fā)基于Android平臺的設(shè)備,但對于開發(fā)人員來說,Nokia會讓他們在Android上的開發(fā)工作更加簡單。因為Qt支持多數(shù)主流平臺,開發(fā)人員可以用Qt進(jìn)行開發(fā),然后移植到諸如Symbian, Android甚至iPhone平臺上。
諾基亞雄心勃勃的“跨平臺”開發(fā)策略由以下的動作可窺見一斑。
去年一月份,Nokia斥資1.53億美元購買了Trolltech公司,Qt的創(chuàng)建者。基于Qt的流行程序包括了Skype, Google Earth和Last.fm在線音樂播放軟件。今年一月,Nokia讓Qt支持LGPL 2.1授權(quán),將它推向開源。這實質(zhì)上讓開發(fā)人員得以免費使用它。但任有一些不開源的Qt授權(quán)。 (譯注:LGPL授權(quán)的限制強(qiáng)度處于GPL和BSD之間,也為Mozilla和OpenOffice等程序所采用)
(還有一個東西叫Hybrid Qt,開發(fā)人員可以通過它開發(fā)同時支持瀏覽器和本地程序功能的程序,調(diào)用Common Services API和為Webkit瀏覽器進(jìn)行優(yōu)化的QTCore庫。不過,這方面沒多少和Android相關(guān)的消息,但Nokia下了很大力氣讓它支持Symbian S60, S40, Maemo和各種桌面操作系統(tǒng)。)
關(guān)于Nokia是不是考慮拋棄現(xiàn)有的Symbian操作系統(tǒng)的猜測很多。但Nokia說衛(wèi)報報道的Nokia將在9月份的NWC大會(Nokia World Conference)上推出Android系統(tǒng)觸屏手機(jī)的謠言毫無根據(jù)。
Nokia的確正面臨著極大壓力,必須得做點什么。它仍占有大約40%的手機(jī)市場,但它在智能手機(jī)市場所占份額正在下滑。iPhone賣得火熱,不過它不開源。Google Android也賣的不錯,有多款產(chǎn)品將在未來幾個月內(nèi)進(jìn)軍市場。因為Android開源,這就允許其它手機(jī)制造商,包括Nokia,也可以推出Android系統(tǒng)手機(jī)。
當(dāng)Nokia擁抱Android的故事出現(xiàn)時,我們接觸了Symbian基金會主席Lee Williams。他不想對Nokia是否正在研發(fā)Android手機(jī)作出評論,而讓Nokia作出回應(yīng),但他說了Symbian也將擁抱Qt。他說這將在2010年成為Symbian平臺的關(guān)鍵部分,讓Symbian提供一個超越競爭對手的操作系統(tǒng)(而且免費,完全開放)。他說Qt會在近期支持Android。下面是他的郵件中的一段(我們認(rèn)為的重點用粗體標(biāo)出):
整個Symbian平臺的下一代UI都將采用新的Direct UI,并保留全世界最廣泛應(yīng)用的Focused UI,支持多種屏幕分辨率和硬件規(guī)格,包括手勢操作和新的傳感器架構(gòu),采用一整套開放標(biāo)準(zhǔn)和行業(yè)事實標(biāo)準(zhǔn),包括融合了Webkit的新QT內(nèi)核,沒錯,還有強(qiáng)大的硬件圖形加速能力……Qt針對便攜產(chǎn)品,將應(yīng)用在很多平臺上,開發(fā)人員無疑會很樂于看到Qt應(yīng)用在Android、 iPhone、Windows Mobile……
此外,我們在一月份恰巧采訪到了諾基亞Qt軟件部門的技術(shù)主管Benoit Schillings,以下是部分采訪內(nèi)容:
VB: 讓開發(fā)人員使用Qt對諾基亞有什么好處?
Benoit:好處在于創(chuàng)造和發(fā)明——用Qt的開發(fā)人員越多,就會有越多的實用軟件和服務(wù)可以容易地移植到諾基亞的手持設(shè)備上。
VB: 讓我們來看看這一舉動背后諾基亞的策略。諾基亞有了Trolltech Qt, Maemo和Symbian。Qt對于Maemo和Symbian的關(guān)系有什么樣的影響?
Benoit: Qt是跨平臺架構(gòu),開發(fā)人員在做Maemo或Symbian頂層開發(fā)的時候可以使用同一套API,從而簡化開發(fā)任務(wù),減少對多平臺細(xì)節(jié)了解的需要。當(dāng)然,Qt也能很好地支持PC或其它設(shè)備的軟件編寫,這也是個優(yōu)勢。
VB: 為Qt增加更自由的LGPL v2.1授權(quán),目的是不是針對桌面領(lǐng)域?
Benoit: PC市場和嵌入式設(shè)備的區(qū)別正變得模糊。我們的確認(rèn)為新的授權(quán)能夠讓Qt應(yīng)用在所有的平臺上。
VB: 你最近花很多時間整合Qt和Symbian(S60)操作系統(tǒng),Qt對S60來說有多重要?
Benoit: Qt是開發(fā)社區(qū)中知名的編程架構(gòu),讓它運行在Symbian上,就能為Qt社區(qū)開啟一扇門,讓他們的工作能夠面向更大量的設(shè)備。對Symbian來說,這也是軟件編寫的另一個途徑,和PC、嵌入式世界的編程更加一致。
]]>第一步是準(zhǔn)備幾個軟件:visual studio VC++6.0(最好是打上sp6補(bǔ)丁的);ActivePerl,我用的是
安裝順序只要是按照我上面說的順序,理論上就沒有問題,當(dāng)然還需要注意的一點就是這四個軟件最好安裝在同一個盤符里。個人意見:C盤最好了。
如果你已經(jīng)按照上面的順序安裝好了這四個軟件,那么你已經(jīng)成功了一半,因為我相信只是找全這些開發(fā)工具就夠費時間的了(比如論壇注冊激活等等),這時只要將C:\Symbian\7.0s\Series60_v20\Series60Tools\applicationwizard下的avkonappwiz_v20.awx和avkonappwiz_v20.hlp兩個文件拷貝到C:\VC6\Common\MSDev98\Template下就可以在VC6的環(huán)境下創(chuàng)建s60的工程了(在工程一欄里可以看見),聰明的讀者應(yīng)該一眼可以看出上面所寫的路徑是我自己機(jī)器上的路徑,因人而異。
用VC6開發(fā)S60工程的時候如果有一個專門的工具欄會方便很多,其實只要將C:\Symbian\7.0s\Series60_v20\Series60Tools\epoctoolbar下的epoctools.dll文件拷貝到C:\VC6\Common\MSDev98\AddIns下面,然后打開VC6,在View->Customize中選擇Add-ins and Macro Files標(biāo)簽,將EPOC toolbar Add-in選中就可以了!
做好這些以后,相信你已經(jīng)迫不及待創(chuàng)建一個S60的工程了吧,放心去做吧,按照默認(rèn)的配置直接點擊Finish就可以了,大功告成!
等等。。。報錯了,說什么the specified project could not be inserted into the current workspace。檢查一下環(huán)境變量吧,環(huán)境變量的問題似乎也是網(wǎng)上討論最多的問題之一,廢話不多說,我把我覺得重要的列一下吧:(讀者根據(jù)自己的安裝情況適當(dāng)調(diào)整,很簡單的)
classpath :c:\Java\jdk
EPOCROOT(全部大寫) :\Symbian\7.0s\Series60_v20\(注意不寫盤符最后以‘\’結(jié)束)
JAVA_HOME :c:\Java\jdk
Path:
C:\Program Files\Common Files\SYMBIAN\Tools ;
C:\VC6\VC98\Bin;
C:\Perl\bin\;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
C:\Java\jdk
關(guān)于Path這個環(huán)境變量有很多是在軟件安裝(比如安裝perl)的時候就自動配置好了,但是如果讀者在裝好之后發(fā)現(xiàn)有問題,最好還是關(guān)注一下這個變量是否正確了:)
這時用打開cmd模式敲epoc回車,看看有什么提示,要是直接就彈出一個手機(jī)模擬器,就表示沒有問題。如果說缺少什么.dll就有點麻煩,我遇到的情況是缺少mspdb60.dll,無奈只好到網(wǎng)上下載了一個,扔在了C:\WINDOWS\system32目錄下就好了。(這里提供一個網(wǎng)站http://www.dll-files.com)。
這個時候確實應(yīng)該可以成功的創(chuàng)建一個s60的工程了,(別問我commenframework.h怎么寫,到Examples\basics\commenframework下面去找!),嘗試這去點擊一下工具欄里提供的按鈕,編譯,寫一個控制臺程序(注意.mmp文件的修改,是app還是exe),再寫一個有UI的程序(注意選擇程序時選擇C:\Symbian\7.0s\Series60_v20\Epoc32\release\wins\udeb\epoc.exe要么怎么讓你之前用cmd模式嘗試運行epoc呢)。
多了就不多說了,如果運行期間還是提示缺少什么.dll的話,個人意見首先看看C:\Symbian\7.0s\Series60_v20\Epoc32\release\wins\udeb里面有沒有(一般情況是有的)。
]]>第一步是準(zhǔn)備幾個軟件:visual studio VC++6.0(最好是打上sp6補(bǔ)丁的);ActivePerl,我用的是
安裝順序只要是按照我上面說的順序,理論上就沒有問題,當(dāng)然還需要注意的一點就是這四個軟件最好安裝在同一個盤符里。個人意見:C盤最好了。
如果你已經(jīng)按照上面的順序安裝好了這四個軟件,那么你已經(jīng)成功了一半,因為我相信只是找全這些開發(fā)工具就夠費時間的了(比如論壇注冊激活等等),這時只要將C:\Symbian\7.0s\Series60_v20\Series60Tools\applicationwizard下的avkonappwiz_v20.awx和avkonappwiz_v20.hlp兩個文件拷貝到C:\VC6\Common\MSDev98\Template下就可以在VC6的環(huán)境下創(chuàng)建s60的工程了(在工程一欄里可以看見),聰明的讀者應(yīng)該一眼可以看出上面所寫的路徑是我自己機(jī)器上的路徑,因人而異。
用VC6開發(fā)S60工程的時候如果有一個專門的工具欄會方便很多,其實只要將C:\Symbian\7.0s\Series60_v20\Series60Tools\epoctoolbar下的epoctools.dll文件拷貝到C:\VC6\Common\MSDev98\AddIns下面,然后打開VC6,在View->Customize中選擇Add-ins and Macro Files標(biāo)簽,將EPOC toolbar Add-in選中就可以了!
做好這些以后,相信你已經(jīng)迫不及待創(chuàng)建一個S60的工程了吧,放心去做吧,按照默認(rèn)的配置直接點擊Finish就可以了,大功告成!
等等。。。報錯了,說什么the specified project could not be inserted into the current workspace。檢查一下環(huán)境變量吧,環(huán)境變量的問題似乎也是網(wǎng)上討論最多的問題之一,廢話不多說,我把我覺得重要的列一下吧:(讀者根據(jù)自己的安裝情況適當(dāng)調(diào)整,很簡單的)
classpath :c:\Java\jdk
EPOCROOT(全部大寫) :\Symbian\7.0s\Series60_v20\(注意不寫盤符最后以‘\’結(jié)束)
JAVA_HOME :c:\Java\jdk
Path:
C:\Program Files\Common Files\SYMBIAN\Tools ;
C:\VC6\VC98\Bin;
C:\Perl\bin\;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
C:\Java\jdk
關(guān)于Path這個環(huán)境變量有很多是在軟件安裝(比如安裝perl)的時候就自動配置好了,但是如果讀者在裝好之后發(fā)現(xiàn)有問題,最好還是關(guān)注一下這個變量是否正確了:)
這時用打開cmd模式敲epoc回車,看看有什么提示,要是直接就彈出一個手機(jī)模擬器,就表示沒有問題。如果說缺少什么.dll就有點麻煩,我遇到的情況是缺少mspdb60.dll,無奈只好到網(wǎng)上下載了一個,扔在了C:\WINDOWS\system32目錄下就好了。(這里提供一個網(wǎng)站http://www.dll-files.com)。
這個時候確實應(yīng)該可以成功的創(chuàng)建一個s60的工程了,(別問我commenframework.h怎么寫,到Examples\basics\commenframework下面去找!),嘗試這去點擊一下工具欄里提供的按鈕,編譯,寫一個控制臺程序(注意.mmp文件的修改,是app還是exe),再寫一個有UI的程序(注意選擇程序時選擇C:\Symbian\7.0s\Series60_v20\Epoc32\release\wins\udeb\epoc.exe要么怎么讓你之前用cmd模式嘗試運行epoc呢)。
多了就不多說了,如果運行期間還是提示缺少什么.dll的話,個人意見首先看看C:\Symbian\7.0s\Series60_v20\Epoc32\release\wins\udeb里面有沒有(一般情況是有的)。
]]>以下內(nèi)容含腳本,或可能導(dǎo)致頁面不正常的代碼 |
---|
說明:上面顯示的是代碼內(nèi)容。您可以先檢查過代碼沒問題,或修改之后再運行. |
Symbian OS: 文本數(shù)據(jù)及二進(jìn)制數(shù)據(jù)的描述符介紹| 6 |