本文從零開始講述了進(jìn)行smartphone開發(fā)的整個(gè)過程,通過本文的閱讀,你可以從中獲得:
1、 安裝smartphone的開發(fā)環(huán)境
2、 配置smartphone的開發(fā)環(huán)境
3、 配置模擬器。
4、 連接模擬器到ActiveSync。
5、 一個(gè)通用性好、擴(kuò)展性強(qiáng)的smartphone編程框架。
6、 在smartphone窗口中繪制文本,使用消息提示框等。
7、 安裝我們的smartphone程序。
下面所有描述均以Microsoft smartphone 2003 簡(jiǎn)體中文版操作平臺(tái)為例。
安裝開發(fā)環(huán)境 目前有兩種開發(fā)環(huán)境可供選擇,一種基于C++,另一種則是基于.NET架構(gòu)的VB.net和C#,鑒于C++的靈活,結(jié)構(gòu)相對(duì)比較清晰(最重要的一點(diǎn)是我在C++下面的開發(fā)經(jīng)驗(yàn)要比在VS.NET上多一些),在下面的例子本文將選用第一種方案。
一、C++開發(fā)環(huán)境
1、安裝ActiveSync 3.7.1
這個(gè)軟件用于連接及同步桌面windows系統(tǒng)和smartphone設(shè)備,連接成功后,你會(huì)在桌面上看到一個(gè)smartphone設(shè)備的虛擬目錄,你可以在桌面windows下對(duì)這個(gè)目錄下的內(nèi)容進(jìn)行修改,所有的修改會(huì)同步更新到smartphone設(shè)備上。
2、安裝Microsoft eMbedded C++ 4.0 和Microsoft eMbedded C++ 4.0 SP3
目前最新的有Microsoft eMbedded C++ 4.0 SP4,也可以安裝。
3、安裝SDK for Windows Mobile? 2003-based Smartphones
不用多說,所有smartphone相關(guān)的內(nèi)容都由它提供。
4、安裝 Localized Emulation Images for Windows Mobile? 2003-based Smartphone
對(duì)于Mobie設(shè)備開發(fā)而言,模擬器是非常重要的,它用來模擬真實(shí)的smartphone設(shè)備,讓你能夠在Windows桌面平臺(tái)上調(diào)試驗(yàn)證你的程序而不需要連接到一個(gè)真實(shí)設(shè)備,在smartphone的sdk中已經(jīng)包含了一個(gè)英文的模擬器,這里我們要安裝的是一個(gè)簡(jiǎn)體中文的版本,安裝文件是Smartphone 2003 SDK Chinese Simplified Emulation Images,它讓我們可以在模擬器上顯示中文內(nèi)容。
5、Windows Mobile Developer Power Toys for smartphone
這里面提供了一些幫助你開發(fā)和調(diào)試的工具,常用的有"Emulator ActiveSync Connection Tool",可以讓你連接ActiveSync到我們的模擬器,這樣我們就可以在桌面端實(shí)時(shí)顯示完整的目錄結(jié)構(gòu);還有"ActiveSync Remote Display",一個(gè)有趣的工具,可以將你的smartphone顯示屏幕同步顯示在桌面窗口中。
安裝注意: 進(jìn)行安裝時(shí),1到3是必須安裝的,并且,牢記不要改變1~3的順序,也不能改變安裝程序所指定的默認(rèn)路徑,否則一旦安裝失敗,你可能需要重新安裝操作系統(tǒng)才能解決問題(痛苦呢),這主要是因?yàn)?"Microsoft Windows CE platform manager 4.0"不能被完全卸載的緣故。
建議你在安裝了Microsoft eMbedded C++ 4.0后,馬上啟動(dòng)它看一下,如果不能啟動(dòng),就不用再向下進(jìn)行了,不要使用Windows自帶的卸載程序,到網(wǎng)上找比較強(qiáng)大的卸載工具來卸載eMbedded C++,然后重新安裝即可。
二、VB.net或C#開發(fā)環(huán)境
1、安裝ActiveSync 3.7.1
2、安裝VS.net 2003
3、安裝SDK for Windows Mobile? 2003-based Smartphones
4、安裝 Localized Emulation Images for Windows Mobile 2003-based Smartphone
5、安裝Windows Mobile Developer Power Toys for smartphone
其中,1~3是必須安裝的,4和5可選安裝,原因前面已經(jīng)說明了。
因?yàn)橄旅媾渲瞄_發(fā)環(huán)境我都是以C++環(huán)境而言的,因此,如果你使用VS.NET開發(fā),你會(huì)發(fā)覺有些地方會(huì)有差異,但涉及的基本概念和原理都是一樣的。
對(duì)于VS.NET,你可以在 工具-〉選項(xiàng)-〉設(shè)備工具-〉設(shè)備里面發(fā)現(xiàn)并配置你的模擬器。祝你好運(yùn)。
配置開發(fā)環(huán)境 1、配置模擬器
1) 啟動(dòng)Microsoft eMbedded C++ 4.0
2) 選擇菜單tools->configure platform manager...
在Smartphone 2003中新增加一個(gè)設(shè)備CHS_SMARTPHONE 2003 Emulator
3) 選中新增的設(shè)備,點(diǎn)擊properties…
選擇Transpor為"TCP/IP Transport for Windows CE";選擇Startup為"Emulator Startup Server",如下:
4) 配置Emulator Startup Server
在Image中選擇CHS Smartphone 2003(Virtual Radio),其余保持不變
5) 返回Device Properties對(duì)話框,點(diǎn)擊test
如果配置正確的話,模擬器會(huì)被啟動(dòng)起來,如下:
6) 模擬器配置完成。
2、連接ActiveSync到模擬器
配置好模擬器后,我們已經(jīng)可以進(jìn)行開發(fā)了,但因?yàn)橹挥蠥ctiveSync能夠展示出設(shè)備的目錄結(jié)構(gòu),因此只有使ActiveSync連接了模擬器,那個(gè)模擬器在開發(fā)中才能夠代替一臺(tái)真正的smartphone手機(jī)。
將ActiveSync連接到模擬器一共有兩種辦法,一種是通過串口進(jìn)行環(huán)回,需要使用null modem cable連接,另一種是使用以太網(wǎng)卡的Virtual Switch服務(wù),讓ActiveSync以為模擬器是從以太網(wǎng)接口卡連接進(jìn)來的真實(shí)設(shè)備,因?yàn)槭褂肰irtual Switch速度快,也不需要硬件電纜,因此我們以這種連接方式為例。
鑒于這一部分是個(gè)難點(diǎn),在我們開發(fā)時(shí),很多同事都碰到了配置不成功的情況,因此,此處將列出詳細(xì)的步驟:
1) virtual switch服務(wù)確認(rèn)
打開你的網(wǎng)絡(luò)鄰居,觀察在"本地連接"的屬性對(duì)話框,確認(rèn)有如下服務(wù):"virtual PC Emulated Ethernet Switch",這是你安裝模擬器的時(shí)候安裝程序自動(dòng)幫你安裝的,如果沒有發(fā)現(xiàn),請(qǐng)重新安裝smartphone 2003 SDK。
2) 配置模擬器使用virtual switch服務(wù)
啟動(dòng)Microsoft eMbedded C++ 4.0,菜單tools->configure platform manager...->CHS_SMARTPHONE 2003 emulator->Emulator Startup Server:
3) 配置你的ActiveSync能夠通過以太網(wǎng)連接設(shè)備
打開ActiveSync,菜單 文件-〉連接設(shè)置…,選擇允許通過網(wǎng)絡(luò)(以太網(wǎng))以及遠(yuǎn)程訪問服務(wù)器(RAS)與此臺(tái)計(jì)算機(jī)建立連接。
4) 啟動(dòng)模擬器
注意,我們的中文模擬器需要從EC++內(nèi)部啟動(dòng),因?yàn)橥獠縎DK菜單上的模擬器是安裝SDK時(shí)默認(rèn)安裝的英文模擬器。
5) 連接ActiveSync與模擬器
1)、首先,進(jìn)入SDK工具:
2)、然后在命令行輸入:
emuascfg /sp "smartphone 2003" "chs_smartphone 2003 emulartor"
其中"smartphone 2003"是操作平臺(tái)名,"chs_smartphone 2003 emulartor"是設(shè)備/模擬器名。等待運(yùn)行結(jié)束后,關(guān)閉命令窗口。
6) 進(jìn)入模擬器,打開ActiveSync程序,選擇同步
這時(shí),你能看到你安裝的ActiveSync在任務(wù)欄有了反應(yīng),最終,模擬器上顯示已連接。
結(jié)束 此時(shí),模擬器可以通過以太網(wǎng)接口利用virtual switch服務(wù)連接到ActiveSync上去了。
我們可以把這個(gè)模擬器當(dāng)作一個(gè)真的設(shè)備對(duì)待,可以給它安裝各種軟件,可以給它定義安裝主屏幕等等,對(duì)于開發(fā)來說,我們可以使用ActiveSync的瀏覽功能看到smartphone的目錄結(jié)構(gòu),在開發(fā)涉及到文件改變的程序時(shí)非常有幫助。