.net Compact Framework 程序设计起步(智能设备的程序设计)
什么是智能设备?PDA,SmartPhone等MS一系列与手持设备相关的产品都可以叫做智能设备。
可以有很多方法开发与设计PDA等智能设备的程序,这里只讨论.net Compact Framework下的程序设计。所谓公欲善其事,必先利其器,这里先说明一下如何设定一个PDA的开发环境。
在VS.net2003中已经自带了一个PDA的模拟器,让我们可以很快的在一台PC机上开发和测试PDA应用程序。这个模拟器名为emulator,默认的安装位置应该是:C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\ConnectionManager\Bin,而在相应的Images目录下,应该有两个映像文件,分别用于加载Pokect PC 2002和Windows CE.net的模拟程序。
你可以在VS.net下自动加载并测试这样的程序(后面讲到),这里先手动的启动它。
你是不能通过双击Emulator.exe而启动模拟器的,它应该同时加载一个映像文件,你可以建立一个BAT文件来启动它(启动界面参见后面的):
如果你的PC系统是XP并且在网上升级了SP2,并且系统运行在“实模式”(自己这样认为的)下,那么你将得到一个错误信息。如果你链接在Internet上,并且通过错误向导,你应该可以在MS的网站是找到相关的错误信息并更正它。
或者,查看你的Boot.ini文件,其中的启动选项里或者有这的内容:/noexecute=optin 修改为:/execute
如果还有错误而不能启动模拟器,请删除所有的启动选项使它可能像这样:
好了,这样应该可以运行PDA或者WindowsCE的模拟器了。但或许你并不能成功,因为PC与模拟器的通信是通过网卡的,如果你的PC机没有活动的网卡,那么模拟器也是不能正常工作的。如果你的PC机正链接在Internet上,那么这个问题已经解决了。如果你是单PC机,那么你得再安装MS的
方法:
1、打开控制面板。
2、“添加新硬件”(注意,这里的中文是我自己翻译的,可能与你的PC机上的不一样)
3、点击“下一步”,当然你是找不到新硬件的。如果不幸你正好安装了新硬件,那请先安装好你的新硬件吧。
4、骗电脑说:是的,我已经把新硬件添加到主机主了。
5、查找硬件类别,当然也是走过场,选择最后一个(也可能是第一个):添加一个新的硬件。
6、下一步
7、选择自己安装新硬件。
8、找到网卡设备(NetWork adapters),下一步
9、选择MS公司,Microsoft loopback adapter
10、后面的自己安装了,下一步,下一步。。。。。
这样,你在单机上也可以模拟PDA编写程序了。
下面就是一个不成文的Hello,world了。
打开VS.net2003,建立一个项目,当然一个独立的工程也行。
选择C#->Smart Drivce Application(应该是智能设备应用程序)
好了,一个Form应该出来了,加一个Button和一个Lable,让点击Button的时候,Lable上的Text为“Hello,world.”
如果这个你做不到的话,下面的就最后不要看了。呵呵,,相信没有人不会的。。。当然,你最好也添加一个Button,让它被点击时退出Form
好了。Ctrl+F5,开始吧。。。(F5也行)
选择一个模拟器吧,默认你是只有一个模拟器和一个设备链接的。我这里有好几个,呵呵,一会再讲怎样添加模拟器。
![PDAStart.JPG](/images/cnblogs_com/wucountry/2006_02/PDAStart.JPG)
VS.net2003默认的是2002,但它好像有点小问题,没关系,是完全可以运行我们的Hello,world的。
如果你很幸运,你可以看到这样的一个PDA启动界面。呵呵,可以玩一下PDA了。。。
请注意,如果你的在VS.net2003下新建的项目,那么在第一次启动PDA模拟器时候,会自动给PAD安装.net Compact Framework.而且在退出模拟器的时候,要保存PAD模拟器的状态,否则下次启动的时候又要重新安装.net Compact Framework...
如果你是手动启动的模拟器,上面提到的方法,那么你的PDA模拟器上是没有安装.net Compact Framework的,当然也就不能运行Hello world了。。。
![EmulatorPDAStart.JPG](/images/cnblogs_com/wucountry/2006_02/EmulatorPDAStart.JPG)
好了,请仔细观察VS的输出内容,这时候应该正在启动应用程序,一会你就会看到:我们的Hello,world.出来了:
![EmulatorPDAHelloWorld.JPG](/images/cnblogs_com/wucountry/2006_02/EmulatorPDAHelloWorld.JPG)
请点击Exit退出程序,否则下一次编译启动时会提示错误,你无法写入程序文件,因为PDA的程序一但启动后是不关闭的。只有在内存不足时,系统才会关闭,所以我们自己做一个Exit,但只是为了调试,真的程序也是不要退出的。原因是与PDA的工作模式相关的。更多的请参考相关书籍了。
更多的用.net开发智能设备的文章我会在后面的学习中写出来与大家讨论。这里就重新只说明如果安装并启动模拟器,以便面开发使用。
Emulator2002的网络设置不是很好,不知道什么原因,它不能访问局域网的IIS。而2003Phone Edition则可以。我不知道为什么,反正它的网络链接设定都得设定为Work.
![Pocket PC 2002.JPG](/images/cnblogs_com/wucountry/2006_02/Pocket%20PC%202002.JPG)
2002可以访问126但不能访问我的局域网上的Server.
![Pocket PC 2003.JPG](/images/cnblogs_com/wucountry/2006_02/Pocket%20PC%202003.JPG)
2003都可以访问。。。
关于2003的电话版模拟器,可以在MS的网站上下载到,我弄丢了下载地址,找一下应该不难。
好了,更多的内容在以后学习到了再写吧,今天我也只做个Hello,world.
因为PDA可以访问Web服务器,而我们又可以在在Web服务器上添加WebService等一些计算工作大量放在服务器上的分布式程序,想必这样的工作模式会是一个很好的新天地。。。。。
可以有很多方法开发与设计PDA等智能设备的程序,这里只讨论.net Compact Framework下的程序设计。所谓公欲善其事,必先利其器,这里先说明一下如何设定一个PDA的开发环境。
在VS.net2003中已经自带了一个PDA的模拟器,让我们可以很快的在一台PC机上开发和测试PDA应用程序。这个模拟器名为emulator,默认的安装位置应该是:C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\ConnectionManager\Bin,而在相应的Images目录下,应该有两个映像文件,分别用于加载Pokect PC 2002和Windows CE.net的模拟程序。
你可以在VS.net下自动加载并测试这样的程序(后面讲到),这里先手动的启动它。
你是不能通过双击Emulator.exe而启动模拟器的,它应该同时加载一个映像文件,你可以建立一个BAT文件来启动它(启动界面参见后面的):
1
c:
2
cd "C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\ConnectionManager\Bin"
3
start Emulator.exe /CEImage Images\PocketPC\2002\1033\PPC2002.bin /Skin Images\PocketPC\2002\1033\ppc2002.xml /Video 352x496x16 /Ethernet true
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
如果你的PC系统是XP并且在网上升级了SP2,并且系统运行在“实模式”(自己这样认为的)下,那么你将得到一个错误信息。如果你链接在Internet上,并且通过错误向导,你应该可以在MS的网站是找到相关的错误信息并更正它。
或者,查看你的Boot.ini文件,其中的启动选项里或者有这的内容:/noexecute=optin 修改为:/execute
如果还有错误而不能启动模拟器,请删除所有的启动选项使它可能像这样:
1
[boot loader]
2
timeout=5
3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
4
[operating systems]
5
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /execute /fastdetect
6![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
好了,这样应该可以运行PDA或者WindowsCE的模拟器了。但或许你并不能成功,因为PC与模拟器的通信是通过网卡的,如果你的PC机没有活动的网卡,那么模拟器也是不能正常工作的。如果你的PC机正链接在Internet上,那么这个问题已经解决了。如果你是单PC机,那么你得再安装MS的
方法:
1、打开控制面板。
2、“添加新硬件”(注意,这里的中文是我自己翻译的,可能与你的PC机上的不一样)
3、点击“下一步”,当然你是找不到新硬件的。如果不幸你正好安装了新硬件,那请先安装好你的新硬件吧。
4、骗电脑说:是的,我已经把新硬件添加到主机主了。
5、查找硬件类别,当然也是走过场,选择最后一个(也可能是第一个):添加一个新的硬件。
6、下一步
7、选择自己安装新硬件。
8、找到网卡设备(NetWork adapters),下一步
9、选择MS公司,Microsoft loopback adapter
10、后面的自己安装了,下一步,下一步。。。。。
这样,你在单机上也可以模拟PDA编写程序了。
下面就是一个不成文的Hello,world了。
打开VS.net2003,建立一个项目,当然一个独立的工程也行。
选择C#->Smart Drivce Application(应该是智能设备应用程序)
好了,一个Form应该出来了,加一个Button和一个Lable,让点击Button的时候,Lable上的Text为“Hello,world.”
如果这个你做不到的话,下面的就最后不要看了。呵呵,,相信没有人不会的。。。当然,你最好也添加一个Button,让它被点击时退出Form
好了。Ctrl+F5,开始吧。。。(F5也行)
选择一个模拟器吧,默认你是只有一个模拟器和一个设备链接的。我这里有好几个,呵呵,一会再讲怎样添加模拟器。
VS.net2003默认的是2002,但它好像有点小问题,没关系,是完全可以运行我们的Hello,world的。
如果你很幸运,你可以看到这样的一个PDA启动界面。呵呵,可以玩一下PDA了。。。
请注意,如果你的在VS.net2003下新建的项目,那么在第一次启动PDA模拟器时候,会自动给PAD安装.net Compact Framework.而且在退出模拟器的时候,要保存PAD模拟器的状态,否则下次启动的时候又要重新安装.net Compact Framework...
如果你是手动启动的模拟器,上面提到的方法,那么你的PDA模拟器上是没有安装.net Compact Framework的,当然也就不能运行Hello world了。。。
好了,请仔细观察VS的输出内容,这时候应该正在启动应用程序,一会你就会看到:我们的Hello,world.出来了:
请点击Exit退出程序,否则下一次编译启动时会提示错误,你无法写入程序文件,因为PDA的程序一但启动后是不关闭的。只有在内存不足时,系统才会关闭,所以我们自己做一个Exit,但只是为了调试,真的程序也是不要退出的。原因是与PDA的工作模式相关的。更多的请参考相关书籍了。
更多的用.net开发智能设备的文章我会在后面的学习中写出来与大家讨论。这里就重新只说明如果安装并启动模拟器,以便面开发使用。
Emulator2002的网络设置不是很好,不知道什么原因,它不能访问局域网的IIS。而2003Phone Edition则可以。我不知道为什么,反正它的网络链接设定都得设定为Work.
2002可以访问126但不能访问我的局域网上的Server.
2003都可以访问。。。
关于2003的电话版模拟器,可以在MS的网站上下载到,我弄丢了下载地址,找一下应该不难。
好了,更多的内容在以后学习到了再写吧,今天我也只做个Hello,world.
因为PDA可以访问Web服务器,而我们又可以在在Web服务器上添加WebService等一些计算工作大量放在服务器上的分布式程序,想必这样的工作模式会是一个很好的新天地。。。。。
================================
/\_/\
(=^o^=) Wu.Country@侠缘
(~)@(~) 一辈子,用心做一件事!
--------------------------------
学而不思则罔,思而不学则怠!
================================
/\_/\
(=^o^=) Wu.Country@侠缘
(~)@(~) 一辈子,用心做一件事!
--------------------------------
学而不思则罔,思而不学则怠!
================================
posted on 2006-02-20 15:17 Wu.Country@侠缘 阅读(1994) 评论(4) 编辑 收藏 举报