[摘要] 本文論述了如何在PDA上進行應用系統的開發并用一個簡單的實例探討了在WinCE操作系統上進行應用系統開發的一般步驟和應注意的問題。
[關鍵詞] PDA WinCE操作系統 開發
近幾年,PDA以其體積小、攜帶方便、迅捷移動辦公等特點,已得到廣泛的應用,隨著PDA硬件水平的不斷提高,其應用系統的開發也越來越受到關注。由于PDA自身的特點決定它成為了無線網絡應用的主要終端設備。PDA的無線上網方式有三種:
在短距離內的紅外對接方式和藍牙技術;
在局域網范圍內采用無線站點與局域網連接;
在廣域網范圍內通過蜂窩接入技術的無線連接。
目前PDA上的操作系統有Palm OS和WinCE。在Windows平臺上開發基于WinCE的應用程序一般采用EVC,EVB或者VS.NET。占統治地位的WinCE操作系統的界面具有Windows的友好性,熟悉Windows編程的開發人員,可很快掌握其應用程序開發。下面就WinCE操作系統上應用系統開發的一般步驟和問題進行探討。
一、構建開發環境
安裝PDA應用程序開發環境(Win2000下,安裝Embedded Visual C++為例)。
1.安裝Microsoft ActiveSync 3.7。
2.安裝Embedded Visual C++ 4.0。
3.安裝Embedded VC4.0 SP3和Embedded VC4.0 SP4。
4.安裝Visual Studio .NET 2003(可選)
5.安裝Pocket PC 2003 SDK。
安裝成功的EVC開發環境同VC6.0的用戶界面基本相同,配置時在Tool目錄下選擇Configure Platform Manager,會彈出裝載運行設備的界面,在裝有Pocket PC 2003后屏幕上出現POCKET PC 2003的樹狀選項,系統自動添加了實際設備和模擬設備。為在中文環境下運行,可點擊Add Device增加一個新設備,改名為POCKET PC 2003 Emulator (CHS)。在Properties中設置屬性,在Transport中選擇TCP或IP Transport for Windows CE傳輸方式,在Startup中選擇Emulator Startup Server以模擬器的方式啟動。最后,根據不同的CPU類型選擇不同的編譯器即可完成設置。
二、一個簡單的示例
下面是一個最簡單的“Hello World”程序開發事例:
先新建一個工程,在工程選項中選擇WCE Pocket PC 2003 Application,輸入項目名稱HelloWorldPrj(CPU全部選中)。選擇A Typical “Hello World” Application,點擊Finish。
打開工作區,在界面中打開HelloWorldPrj.cpp文件。接下來轉入到消息處理函數:LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam),此函數的應用程序對于WM_PAINT消息進行了以下處理:
case WM_PAINT:RECT rt;
hdc = BeginPaint(hWnd, ps);
GetClientRect(hWnd, rt);
LoadString(g_hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
DrawText(hdc, szHello, _tcslen(szHello), rt,
DT_SINGLELINE | DT_VCENTER | DT_CENTER);
EndPaint(hWnd, ps);break;
其中IDS_HELLO是預定義的字符串資源,通過LoadString函數導入到szHello變量中然后利用DrawText函數進行屏幕繪制。最后選擇編譯設備進行編譯可得到運行結果。
三、開發過程中的注意事項
1.EVC的環境和VC6.0非常相似,但EVC中的類庫只是VC6.0中類庫的一個子集,且有些SDK函數庫也不盡相同,需要留意幫助文檔。
2.在模擬器上調試的程序為保證在實際設備上也能正常。調試時要能調用任何桌面操作系統的動態鏈接庫函數,注意第一次將非Unicode應用程序裝入Windows CE模擬器時,許多正在使用的函數它都不支持。
3.注意字節對齊問題。在ARM內核的CPU中,內存的訪問必需是四字節對齊。在EVC 程序中如涉及指針操作而且是奇字節時,可能引起內存訪問的非字節對齊異常。而在模擬器中因為x86模擬器系統的CPU 不考慮此問題。
4.幾乎所有Windows CE支持的Win32和運行時間庫函數都要求寬字符變量。Windows 95不支持Unicode,為使程序代碼具有可移植性,應采用tchar.h定義的TCHAR類型,不要直接使用wchar_t。同樣有關字符串處理函數的宏定義也是如此。
四、已知應用和前景
因為PDA方便、靈活、功能強大等特點,在各行各業都得到了普遍的應用。
在公安行業的警用車查詢系統,可以讓執勤警員在無通訊和計算機網絡的路面,可動態、靜態地核查所轄機動車車輛行駛證的真偽檔案。
在保險行業中,通過PDA設備可以為保險公司的業務員提供服務,可方便地查詢輸入業務信息也可與公司的數據庫服務器方便地連接。
在邊防巡邏、野外勘察、醫療系統和餐飲行業等,通過使用PDA設備,提高了管理水平和工作效率,節約了成本。
PDA市場具有非常大的開發潛力,其應用領域也在被不斷擴大。由于其硬件技術的進步和不斷開發出的軟件,以及無線網絡的發展,它將越來越被人們認識和接受。
參考文獻:
[1]吳慶陸明泉馮振明:基于J2ME技術的嵌入式系統的開發[J].計算機應用與軟件,2005,22(2)
[2]微軟公司:WindowsCE通信指南[M].北京:北京希望電子出版社,1999.02