论文部分内容阅读
[摘要] 本文论述了如何在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
[关键词] 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