1/1页1 跳转到查看:572
发新话题 回复该主题

Windows Mobile 开发常见问题集

Windows Mobile 开发常见问题集

Windows Mobile 开发常见问题集(一) ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
原文:阿飞热源 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
Winbile¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
1、Q:新建项目的时候选择哪个项目类型才能创建智能设备的应用程序?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:在Visual Studio的新建项目对话框中选择Visual C#或者Visual Basic项目类型,选择智能设备模板,然后再选择相应的设备SDK,最后选择“Device Application”,就可以创建一个移动设备的应用程序了。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
2、Q:托管代码与本地代码有哪些区别?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:托管代码是指使用.NET Compact Framework开发的程序代码,可执行文件被编译成IL,执行时需要有.NET的运行时环境。而本地代码指用C++等语言开发的程序代码,可执行文件被编译成与CPU指令集有关的机器码,可以直接运行。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
3、Q:能不能简要介绍一下Magneto里面对OTA和MMS的支持?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Magneto对OTA有很好的支持,SDK文档的通讯部分中,有针对OTA的专门介绍。MMS的应用程序基本都是由第三方开发的,因为MMS是基于WAP协议的,而Magneto本身对WAP的支持也很好,具体的协议也可以在SDK文档里找到。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
4、Q:请问用Visual Basic .NET开发PDA数据库程序能不能使用ADO.NET?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Visual Basic .NET开发PDA数据库不需要引用System.data.oledb,只需要引用System.Data.SqlServerCe命名空间就可以了。该命名空间中的数据库操作类和ADO.NET是基本一致的。可以用它们来开发针对SQL Server CE的应用程序。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
5、Q:在Visual C++2005中,可以使用.Net Compact Framework吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不能,现在.NET Compact Framework只支持C#和VB.NET,而不支持C++/CLI。但是在VS.NET 2005中可以用C++来开发Native代码来支持移动设备。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
6、Q:从什么地方可以得到Smartphone开发环境?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Smartphone的SDK可以在微软网站上找到,而Visual Studio 2005 Beta 2可以通过参加微软活动的方式获得。MEDC 2005的参加者都获得了VS.NET 2005和Windows Mobile 5 SDK的开发光盘。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
7、Q:托管性的代码执行效率怎么样?和使用Visual C++编写的代码相比较。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:托管代码的执行效率肯定不如本地代码高,但是托管代码也有一些好处是无法取代的。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
8、Q:是否可以使用Visual Studio .NET 2003来开发能够运行在Windows Mobile 2005上的应用程序?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:首先更正一下,Windows Mobile最新一代的操作系统叫做Windows Mobile 5,而不是Windows Mobile 2005。是的,使用VS.NET 2003开发的应用程序是可以在Windows Mobile 5上正常运行的,因为Windows Mobile 5 ROM中内置了.NET Compact Framewrok 1.0 SP3。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
9、Q:PDA上不能用Pocket Access么?SQL CE太大了。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以使用Pocket Access来开发Windows Mobile上的应用程序。可以采用C++调用OLEDB或者ADOCE的方式来访问Pocket Access数据库。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
10、Q:Visual Studio 2005的新功能是否只在Windows Mobile 5里受到支持,2003是否支持?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:新功能分两个部分,一部分是.NET Compact Framework 2.0中提供的的新功能,这部分的功能可以被Windows Mobile 2003支持,但必须安装.NET Compact Framework 2.0;而另一部分是Windows Mobile 5的特有功能。.NET Compact Framework 2.0和Windows Mobile 5开发文档的“What’s New”部分,分别描述了这两方面的新特性。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
11、Q:请问如何在模拟器里面配置连接到移动网络?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:模拟器如果需要连接移动网络的话,必须有专门的硬件提供支持。可以在开发PC的串口上连一个GPRS的模拟器,SDK文档中对此有专门的说明。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
12、Q:SQL CE可以像Pocket Access那样仅使用一个文件就能运行么?是否需要像PC上那样安个服务器才能使用?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不会的,只需要在Windows Mobile上安装SQL Server CE的支持库,也就是就是一些DLL文件。而SQL Server CE的库文件是一个单独的文件,不需要安装一个服务器。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
13、Q:开发好的程序通过什么方式部署到手机上?对手机有什么要求?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:开发的程序需要打包成cab文件部署到手机上。除了通过ActiveSync安装外,还可以通过网络下载、存储卡运行等方式来安装应用程序。对手机的要求是,必须和开发程序的目标平台相兼容。比如为Windows Mobile 5开发的应用程序,可能就没办法很好地运行在Windows Mobile2003平台上。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
14、Q:在模拟器上面开发程序,和真实环境有区别么?需要注意一些什么?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:模拟器的仿真度十分高,Windows Mobile 5的模拟器甚至可以支持ARM指令,所以基本不会遇到兼容性的问题。但是对于一些需要连接外部设备的应用场景,比如前边说的无线网络,还有GPS设备等,就需要用到实际设备了。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
15、Q:当开发国际化应用程序时,应该特别注意哪些方面?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:对于国际化的应用程序,.NET本身就已经提供了非常好的支持。可以把用户界面的文字保存在相应的资源文件中,然后由应用程序判断操作系统的语言版本来调用相应的文字。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
16、Q:用.NET开发Pocket PC程序需要考虑设备具体使用的是哪种CPU吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不必。无论是在虚拟机上的x86指令集,还是实际设备上的ARM指令集,对.NET Compact Framework程序的运行来说都一样。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
17、Q:Windows Mobile 5 是否支持通过语音控制新的开发程序?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:现在还不支持。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
18、Q:可以在vwd2005 bata2中开发Pocket PC程序吗?Pocket PC是否具有浏览器?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以,Pocket PC平台是内置浏览器的。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
19、Q:Visual Studio 2005的Mobile开发,支持Mobile 2003的设备吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:支持,VS 2005本身就自带Windows Mobile 2003的SDK。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
20、Q:Windows Mobile 5.0 for Smartphone较之前的版本有何明显的区别?对于测试这一领域,我们需要注意些什么?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Windows Mobile 5的Smartphone平台更多的变化是在API层面,比如对数据库的支持、对GPS API的支持等, Windows Mobile 5 SDK文档中对此有详细地说明。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
21、Q:对开发来说CDMA和GPRS的数据传输是透明的吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:对于软件开发来说数据传输是透明的,CDMA和GPRS对于上层应用程序来说,只要支持HTTP协议或者TCP/IP协议就可以进行数据传输的操作。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
22、Q:Visual Studio .NET能否支持Nokia的S60系列系统开发?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以,Visual C++能支持Nokia S60的开发。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
23、Q:Pocket PC与Mobile开发的主要区别在哪里?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Window Mobile是微软公司基于Windows CE.NET的一个平台。它包含Pocket PC和Smartphone两个版本。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
24、Q:SDE从哪里可以下载?Pocket PC 2005的模拟器可以从哪里下载?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:SDE是早期用来开发移动设备程序的VS扩展,目前网上似乎很难找到。其实不用安装它,安装所需版本的Pocket PC或者Smartphone的SDK即可。各个版本的Windows Mobile开发的SDK和模拟器的地址可以从这篇Blog上下载(http://twodays.cnblogs.com/archive/2005/06/30/184107.htm)。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
25、Q:.NET Compact Framework 2.0能装在Windows Mobile 2003上吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以。.NET Compact Framework 2.0必须手动安裝到Windows Mobile 2003的机器上。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
26、Q:请问有没有好的Windows Mobile编程的网站或者论坛?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:OpenNETCF.org、www.devbuzz.comwww.codeproject.comwww.msdn.com/mobility/www.pocketpcdn.com¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
27、Q:Windows Mobile 2003上的.NET Compact Framework能升级到.NET Compact Framework 2.0吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以。.NET Compact Framework 2.0必须手动安裝到Windows Mobile 2003的机器上。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
28、Q:请问编写WML文件与使用.NET Compact Framework进行开发有什么联系和区别?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:WML是能够利用WAP浏览器进行浏览的文件,是一种基于Web的开发方式。.NET Compact Framework是在设备上运行的程序,是基于应用的开发方式。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
29、Q:在使用.NET Compact Framework 1.0进行开发时,用EVC直接调用Native代码与使用C#通过P/Invoke在性能上有什么差别?在.NET Compact Framework 2.0上,用C++直接调用和用C#通过P/Invoke又如何呢?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:用EVC調用Native API的效率,会比使用.NET Compact Framework通过P/Invoke调用Native API要高,这是.NET Compact Framework本身的特性。在从托管代码中调用Native API时,其内部会进行一些额外的类型转换动作,这会导致效率的降低。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
30、Q:有没有支持显示HTML文本的控件?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:WebBrowser控件可以用于HTML文本。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
31、Q:CAB安装后会在Pocket PC上自动生成“卸载程序”,如何制作安装包,才能不自动产生“卸载程序”?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:利用VS 2005建立Smart Device Cab Project,在Solution Explorer的Cab Project上点击鼠标右键选择Property,即可看到有一个选项为NoUninstall,默认为False,改为True就可以了。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
32、Q:OpenNETCF能运行在.NET Framework 1.1环境下吗?其中的控件可以与.NET Framework 1.1控件混合使用吗?怎样在Visual Studio .NET 2003中加入OpenNETCF控件?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:当初在设计NET Compact Framework 1.0/1.1时,由于考虑到移动设备的资源有限,所以有些原本.NET Framework 1.1中已经提供的类和控件就被删除了,OpenNETCF Smart Device Framework主要是针对.NET Compact Framework 1.0/1.1中没有的功能,开发出来的类似的类型和额外的功能,以弥补.NET Compact Framework 1.0/1.1不足之处。这套Framework主要是供.NET Compact Framework程序开发所用,除了少部份针对PC与Pocket PC的同步功能所编写的类之外,大部分都是在.NET Compact Framework上执行的,一般不支持.NET Framework。OpenNETCF的Smart Device Framework安装完毕之后,可以在VS 2003左侧的工具箱中看到OpenNETCF的控件,可以直接拖放来使用。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_

TOP

 

回复: Windows Mobile 开发常见问题集

Windows Mobile 开发常见问题集(二)¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
原文:阿飞热源 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
Winbile¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
1、Q:请问如何才能保证应用程序能够及时地释放系统资源?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:由于.NET Compact Framework所运行的移动设备,受限于CPU、内存、电源,因此其中的Garbage Collection时经过调整的,垃圾回收的速度比.NET Framework更快。通过调用Dispose()方法,可以立即释放掉对象所占用的非托管资源。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
2、Q:在Visual Studio中可以定义一个所有文件都可以使用的宏吗?比如:#define AA,要求在所有的.cs文件中都可以使用#if AA public class A() #else public class B(); A:可以。在VS 2005的解决方案资源管理器中,用鼠标右键单击项目,选择其属性。在属性对话框的Build页中,可以找到conditional compilation symbol,在其中输入AA,即可在该项目的所有C#源代码文件中使用这个符号。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
3、Q:可以将Smartphone应用程序转换为Pocket PC应用程序吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以。在.NET Compact Framework 2.0中,只要您没有用到某些特殊的API,Pocket PC应用程序与Smartphone程序是可以互相转换的,只需要在控件上做些调整即可。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
4、Q:.Net Framework 2.0有没有对Media coder/decoder的支持?开发第三方的媒体播放程序可以不依赖.Net CF2.0吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:.NET Compact Framework 2.0本身可以开发Direct3D Mobile的应用程序。也可以在VS 2005中以C++开发Native Code的媒体播放程序,而无须依赖.NET Compact Framework 2.0。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
5、Q:使用.Net开发的智能设备程序是否比用C语言开发的程序效率低很多? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:使用.NET开发的程序会比使用C语言开发的本地程序要慢一些,不过对于一般的应用软件来说,下率不会差太多,除非是需要实时处理硬件或I/O的程序,必须要使用C语言进行开发之外,一般的应用程序用.NET Compact Framework开发即可,因为这样可以获得最好的灵活性和可移植性。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
6、Q:用托管C++开发的应用程序执行效率会不会比用C#开发的应用程序高?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不会。由於托管C++与C#源代码在经过编译之后,都将成为IL代码,由.NET Compact Framework来执行,因此在效率上不会有差别。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
7、Q:请问.NET Compact Framework 2.0对于使用不同CPU的移动设备支持好吗?.NET Compact Framework 2.0在GSM应用方面有没有增强?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:.NET Compact Framework具有Windows Mobile跨平台的特性,因此开发时不需要考虑底层的OS、CPU和其它硬件因素。目前.NET Compact Framework对常见的CPU都能够支持,例如ARM、MIPS、SH、x86等。另外在GSM应用方面,主要针对Smartphone的应用作了加强。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
8、Q:请问MFC在Windows Mobile Development中处于什么地位?Douglas Boling写的Programming Microsoft Windows CE .NET一书中好像并不推崇使用MFC开发Windows Mobile应用程序。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:MFC还是以本地C++的方式进行开发,其特点是执行效率高,但必须花费更多的心思在資源分配、回收等编程技巧上。如果使用.NET Compact Framework进行开发,虽然执行效率比本地程序略差,但整体而言,可移植性与灵活性都较好,而且不必为回收资源担心,开发者能够专注于真正重要的业务逻辑流程。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
9、Q:.NET Compact Framework 2.0与1.0有什么区别?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:.NET Compact Framework 2.0主要针对1.0原有的控件及类库进行了改善,提供了更多的支持,并新增了许多类型和控件,.NET Compact Framework 2.0更加接近.NET Framework,同时在效率上也相对1.0有所提升。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
10、Q:在制作安装程序的时候,如何在start->program菜单中生成程序的快捷方式?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:在VS 2005中建立Smart Device Cab Project,在File System页面中,可以看到Application Folder,这就是Start->Program的位置,可以先建立Primary Output的快捷方式,然后将此快捷方式移到Programs Folder,并构建Cab文件即可。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
11、Q:移动设备与WEB网页设计有什么主要区别 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Visual Studio开发环境中移动设备与Web设计是非常类似的 ,可以使用同样的语言进行设计, 不同的只是能够使用的类以及控件有所区别。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
12、Q:.NET Compact Framework中可以实现鼠标的双击、右击、中间键单击等用户事件吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:运行Windows Mobile的设备没有鼠标,所以这些事件也不存在。对于常用的右键弹出上下文相关菜单,在触摸屏上一般用单击并且按住一段时间来实现。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
13、Q:Mobile应用程序的界面处理可以使用CSS样式表吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不可以。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
14、Q:Smartphone上面能够支持横屏幕吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不支持。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
15、Q:如何在Pocket PC中调整控件的位置使得应用程序可以支持横向屏幕? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可通过设置控件的Anchor和Dock属性来自适应屏幕。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
16、Q:界面开发完成后,在移植方面需要注意些什么?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:一般来说,要移植到不同平台上必需要重新设计用户界面;可以重用的只是业务逻辑,不是用户界面。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
17、Q:我在移动开发过程中用到了很多控件,难以在一页之内显示,如何为它们添加一个滚动条?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以将这些控件放到一个Panel中,并设置其AutoScroll属性为true即可;如果使用VS2005,拖拽数据源到窗体上时,会自动将所有控件包括在一个Panel里。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
18、Q:TableAdapter在.NET Compact Framework 1.0中从未出现过,是新特性吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:是的,TableAdapter是.NET Compact Framework 2.0中新增加的。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
19、Q:SQL Mobile带有像SQL Server那样企业管理器吗?Visual Studio 2005支持在桌面上直接查看SQL Mobile的数据库吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:您可以通过SQL Server 2005的企业管理器连接到SQL Mobile数据库进行编辑。Visual Studio 2005也支持在桌面上创建或修改SQL Mobile数据库文件。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
20、Q:提交成功后如何取消保存?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:目前BindingSource尚不支持事务,因此提交成功后是没有办法再undo的。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
21、Q:移动设备内存较小,填充DataSet是否有大小限制?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:DataSet在逻辑上并没有对大小的限制。但是DataSet的大小必须小于当前前的可用内存,否则会有内存分配不成功的异常出现。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
22、Q:如果数据源中的数据在显示前需要处理(例如格式转换),可以使用DataBinging吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:BindingSource是直接将DataSet与控件进行关联,所以如果需要进行其他操作的话,就不能使用BindingSource。或者,可以在访问数据库后,先在DataSet里对需要转换的数据进行必要的处理之后,再进行显示。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
23、Q:DataSet实际上在内存中产生了一套数据副本,如何解决版本控制的问题?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:DataSet本身不存在版本控制的问题。在把数据提交回SQL Mobile的时候,的确需要有一些机制来保证修改完成的数据应该是最新的,但是DataSet本身的数据结构是不会发生变化的。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
24、Q:能否通过Pocket PC上的程序更新服务器上的数据库信息?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以。可以使用SQL Mobile中的RDA或者是合并复制的方法和远程SQL Server数据库进行数据同步或更新。具体的实现可以参考SQL Server相关部分的文档。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
25、Q:SQL Mobile一定要要安装在移动设备上吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:是的。SQL Mobile需要安装在Windows Mobile或者Windows CE设备上。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
26、Q:SQL Moble支持存储过程吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:目前还不支持。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
27、Q:SQL Mobile必须和应用程序部署在同一台设备上吗?可否远程连接?它是否是一个文本数据库? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:是的。SQL Mobile必须和应用程序部署在同一个设备上,现在还不支持远程连接。SQL Mobile是一个文件数据库,但不是一个文本数据库。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
28、Q:能不能在一些应用中以XML替代SQL的作用? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以的。XML的查询效率比SQL Mobile要低,但是在数据比较少的情况下不需要安装更多的组件,这是XML的一个优势。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
29、Q: Tableadapter与DataAdapter之间有何区别?DataAdapter是多个TableAdapter的组合吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不是的,TableAdapter是对DataAdapter的一个扩展,TableAdapter本身包括了对应数据表的信息。TableAdapter完成从数据库连接、执行SQL语句到将结果填充到DataSet中的一个完整操作,而DataAdapter只支持数据填充的操作。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
30、Q:做了SQL Moblie的sdf文件后,Publications后的数据库表中会出现msrepl_tran_version或rowguid字段,这是为什么?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:这两个字段是为了保证数据同步,由系统自动添加的,请不要进行修改。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
31、Q:网上出了个Reflector反编译工具,可以99%反编译用C#开发的EXE和DLL,怎么才能更好地保护应用程序?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:目前大部分应用程序采用混淆和对关键字符串加密的方式,更好的方式可能还要继续探讨。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_

TOP

 

回复: Windows Mobile 开发常见问题集

Windows Mobile 开发常见问题集(三)¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
原文:阿飞热源 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
Winbile¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
1、Q:SQL Mobile的SQL语法和SQL Server的语法有差异么?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:SQL Mobile的语法和SQL Server的语法略有差异,可以从SQL Mobile的文档中查找SQL Mobile具体支持哪些SQL语句。总的来说,对绝大部分的开发来说,这些差异不会造成影响。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
2、Q:SQL Mobile支持B/S模式吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不支持。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
3、Q:可以在.NET Compact Framework 1.0上访问由.NET Compact Framework 2.0产生的数据库吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:SQL Mobile数据库的格式和SQL Server CE 2.0是相同的,因此可以直接在.NET Compact Framework 1.0中进行访问。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
4、Q:SQL Mobile数据库文件支持XCOPY吗?可以简单地复制到其他Windows Mobile设备上吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:是的。SQL Mobile数据库本身是一个文件数据库,直接复制到其他安装了SQL Mobile支持组件的Windows Mobile设备或模拟器上就可以使用了。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
5、Q:Visual Studio .NET 2003是否支持Windows Mobile 5.0的开发?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不可以,如果开发基于Windows Mobile 5.0的应用程序请使用Visual Studio 2005。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
6、Q:要想从传统的PC程序员转向到移动设备的开发上来,需要在技术上作哪些准备?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:移动设备的开发对于基础开发语言和开发技术的要求与PC上是相同的,只需要了解移动设备在哪些方面与PC平台有所不同即可。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
7、Q:C#可以开发Windows Moblie应用程序吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
8、Q:如果获取.NET Compact Framework 2.0的安装程序并将其安装到Windows Mobile 5.0设备中?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Visual Studio 2005提供了.NET Compact Framework 2.0安装程序,在开发部署时会自动部署到移动设备上。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
9、Q:Windows Mobile 5.0中没有集成.NET Compact Framework 2.0,是不是生成的应用程序安装包就应该带上.NET Compact Framework 2.0?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:技术上来说是的。但能否在应用程序中提供.NET Compact Framework 2.0取决于微软对此的授权情况。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
10、Q:如何把.NET Compact Framework 2.0与应用程序一同打包发布? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:.NET Compact Framework 2.0有一个单独的CAB安装包,可以把此文件与应用程序打成一个安装包。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
11、Q:用Visual Studio 2003开发可以获得很好的兼容性吗? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:用Visual Studio 2003开发的基于.NET Compact Framework 2.0的程序可以在Windows Mobile 5.0的设备上运行。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
12、Q:在Windows Mobile上面是否开发COM+或者DLL? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以开发DLL动态共享库。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
13、Q:C#是否支持Windows Mobile 5.0的DirectX开发? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:支持。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
14、Q:现有的使用Visual Studio开发的Smartphone 2003应用程序,可以移植到Windows CE 5.0平台上吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
15、Q:Windows Mobile 5.0内置红外线接口API吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Windows Mobile 5.0对红外接口的支持并没有更新,需要采用之前的方法进行红外接口的开发,例如与串口通信等。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
16、Q:如何开发手机游戏,特别是能够交互的网络游戏? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Windows Mobile对游戏开发的支持是比较充分的,可以采用DirectX技术进行3D或2D界面的开发;对于网络部分,Windows Mobile可以支持socket通信方式。所以,从技术上来讲,开发网络游戏是完全没有问题的。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
17、Q:我们公司目前更多关注的是嵌入式领域,也就是Windows CE,而非Windows Mobile。我们主要是在关注IPTV领域,在这方面有哪些的资源? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Windows CE是一种可自定义的嵌入式操作系统,适用于各种内存很少的设备。OEM可以使用Windows CE设计平台和自定义应用程序,使用户可以获得各种设备的最佳体验,例如手持设备、瘦客户机、逻辑控制器以及各种高级消费类电子产品。 Windows Mobile是基于Windows CE构建的一种完善的软件平台。与Windows CE不同,Windows Mobile Smartphone和Pocket PC操作系统专为要求特殊硬件配置的设备而设计。该软件包括标准化的接口和应用程序,可确保在各种硬件设计中的兼容性。 所以Windows Mobile和Windows CE的资源是通用的,您可以在http://www.microsoft.com/china/mobile、http://www.microsoft.com/windowsmobile/,以及微软社区http://www.microsoft.com/china/windowsmobile/communities/default.mspx获得相应的资源和帮助。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
18、Q:我们在Windows Mobile上进行应用开发遇到一些底层的接口问题,如何取得微软的技术支持?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:微软将一如既往地对基于Windows Mobile操作系统开发的独立软件开发商和开发人员进行支持,可以直接向800-820-3800全球技术支持中心寻求支持,或者提供具体问题细节,我们将给出相应的解决方案。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
19、Q:如何才能将我们的软件放到微软的Mobile2Market项目中去?对MVP有没有什么优惠? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Mobile2Markert项目在中国是非常优惠的,目前对MVP没有特别优惠。另外,如何将软件放到微软的Mobile2Market中请参考http://www.microsoft.com/china/mobile/developer/developerprograms/mobile2market/default.asp。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
20、Q:哪些工具可用于Pocket PC 2003开发? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:要构建Pocket PC 2003本机C++应用程序,您需要Microsoft eMbedded Visual C++ 4.0、Microsoft eMbedded Visual C++ 4.0 Service Pack 3,以及Pocket PC 2003 SDK。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
21、Q:为了支持 Windows Mobile 2003 Second Edition 的增强功能(例如高分辨率或横向屏幕),应该在应用程序中做些什么?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Windows Mobile 2003 Second Edition 提供了全新的屏幕方向和分辨率,包括针对Pocket PC的横向、方形和VGA支持以及针对Smartphone的QVGA支持。这种版本不需要新的SDK。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
22、Q:Pocket PC 2002应用程序可以在Pocket PC 2003 设备上工作吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:使用文档化API且功能良好的Pocket PC 2002 应用程序无需重新编译即可在 Pocket PC 2003 设备上运行。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
23、Q:如何从eVB迁移到Visual Basic .NET? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:从eVB迁移到Visual Basic .NET并不容易,但迁移的好处远远超过了成本: • 数据类型更丰富:eVB只有16 字节的VARIANT;Visual Basic .NET使用.NET Framework通用类型系统。 • 执行更快:eVB需要解释;Visual Basic .NET在执行前由JIT(实时)编译器编译为本机代码。 • 错误处理更完善:eVB仅支持“On Error”;Visual Basic .NET支持结构化异常处理。 • 支持结构:eVB不支持;Visual Basic .NET支持命名空间、类和结构。 • 面向对象:eVB是面向过程的;Visual Basic .NET支持完全的OOP(面向对象编程)。 • “一等公民”:eVB总是希望迎头赶上MFC;Visual Basic .NET则是.NET的核心。 • 本机XML支持:eVB不支持;Visual Basic .NET支持本机XML和XML Web服务。 • 数据模型更完善:ADO.NET远远超过了ADOCE;它是最好的数据模型。 • 执行更安全、更可靠:eVB是一种脚本语言;Visual Basic .NET为托管代码。 • 还有许许多多! 同时,还有各种各样的资源(从移植实验到技术文章)可以帮助开发人员进行这种过渡。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
24、Q:应该使用什么开发工具来编写基于.NET Compact Framework的Pocket PC应用程序?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Microsoft Visual Studio .NET 2003允许Visual Basic .NET或C#编程人员创建Pocket PC 2000、Pocket PC 2002和Pocket PC 2003设备的托管代码应用程序(即那些以.NET公共语言运行库为目标的应用程序)。要开发Pocket PC 2000和Pocket PC 2002设备的托管代码应用程序,您可以使用即装即用的Visual Studio .NET 2003。在开发过程中,Visual Studio .NET 2003将会自动地将.NET Compact Framework安装到这些设备的RAM中。.NET Compact Framework已经在所有Pocket PC 2003设备的ROM 中,而且Visual Studio .NET 2003通过Pocket PC 2003 SDK支持它。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
25、Q:有什么资源可以用于进行Windows Mobile 2003 Second Edition的开发?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:下载新的Windows Mobile Developer资源包,其中包括白皮书以及新的和更新的代码示例。该版本不需要全新的SDK。可以用新的模拟器软件包对应用程序进行测试。eMbedded Visual C++ 4.0开发人员应当下载eMbedded Visual C++ 4.0 Service Pack 3。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
26、Q:什么工具可用于Smartphone 2002开发? ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:要开始开发Microsoft Smartphone 2002应用程序,您需要eMbedded Visual C++ 3.0和Smartphone 2002 SDK。两者都可以在Windows Mobile Developer获得。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
27、Q:MFC或ATL可用于Smartphone 2002开发吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不可以,Smartphone 2002不支持MFC与ATL开发。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
28、Q:可以使用eMbedded Visual Basic 3.0来构建Smartphone 2002应用程序吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不可以,不支持以Smartphone 2002为目标的eVB 开发。 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
29、Q:哪些工具可用于进行Microsoft Smartphone 2003开发?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:对于Smartphone 2003,有两种开发选择,或者通过带有Service Pack 3的eMbedded Visual C++ 4.0开发本机代码,或者通过Visual Studio .NET 2003开发托管代码。这两种情况都需要下载Smartphone 2003 SDK。Windows Mobile 2003 Second Edition模拟器软件包使您可以在Second Edition设备上测试应用程序。eMbedded Visual C++ 4.0和Smartphone 2003 SDK都可以在Windows Mobile Developer获得。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_

TOP

 

回复: Windows Mobile 开发常见问题集

Windows Mobile 开发常见问题集(四) ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
原文:阿飞热源 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
Winbile¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
1、Q:在Smartphone 2003上可以使用.NET Compact Framework的哪一个版本?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Smartphone 2003允许开发人员使用.NET Compact Framework 1.0 Service Pack 1进行编码。.NET Compact Framework可以放在Smartphone 2003的ROM中。.NET Compact Framework 1.0 Service Pack 2放在Smartphone 2003 Second Edition的ROM中。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
2、Q:什么是示例Smartphone 2002设备和Smartphone 2003设备?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:原始的Orange SPV与Orange SPV e100运行Windows Mobile 2002。Orange和AT&T上的MPX200都是基于Windows Mobile 2002的Smartphone。Orange SPV e200运行Windows Mobile 2003。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
3、Q:MFC或ATL可用于Smartphone 2003开发吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:MFC不可用于Smartphone 2003。可以使用ATL 4.0进行Smartphone 2003开发。有关ATL 4.0的更多信息,请参阅SDK文档。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
4、Q:从哪里可以找到更多有关Smartphone应用程序安全模型的信息?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:为了帮助开发人员了解基于Windows Mobile的Smartphone应用程序安全模型,我们创作了一本白皮书。请参见http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/smartphone_security.asp。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
5、Q:可以使用eMbedded Visual Basic 3.0来构建Smartphone 2003应用程序吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:不可以,不支持以Smartphone 2003为目标的eVB开发。如果您希望利用Visual Basic的开发技巧,可以考虑使用Visual Basic .NET并以.NET Compact Framework为目标。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
6、Q:什么是Microsoft eMbedded Visual Tools 3.0?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:eMbedded Visual Tools 3.0是一种集成开发环境(IDE),用来为基于Microsoft Windows CE操作系统的32位设备编写软件应用程序。其中包括完整版的Microsoft eMbedded Visual C++ 3.0语言、Microsoft eMbedded Visual Basic 3.0语言、特定于平台的SDK、远程工具和文档。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
7、Q:eMbedded Visual Tools 3.0支持哪些设备平台?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:eMbedded Visual Tools 3.0 - 2002 Edition附带于Pocket PC 2000、Pocket PC 2002和Smartphone 2002的SDK,并支持开发自定义的Windows CE 3.0设备应用程序。注:Pocket PC 2002 SDK可以与eMbedded Visual Basic 3.0和eMbedded Visual C++ 3.0一起使用,但是Smartphone 2002 SDK却只受eMbedded Visual C++ 3.0 支持。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
8、Q:什么是eMbedded Visual C++ 4.0?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:eMbedded Visual C++ 4.0是一种强大的开发工具,在为下一代基于Windows CE的设备(包括Pocket PC 2003和Smartphone 2003)构建本机代码应用程序时可以为企业提供相当大的好处。这种独立的集成开发环境(IDE)带来了新水平的Windows CE开发效率,但却没有牺牲灵活性、性能或控制能力。要使用eMbedded Visual C++工具构建Pocket PC 2003与Smartphone 2003应用程序,还需要安装eMbedded Visual C++ 4.0 Service Pack 3和Pocket PC 2003以及Smartphone 2003 SDK。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
9、Q:我可以使用eMbedded Visual C++ 4.0开发Pocket PC或Smartphone应用程序吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:可以使用带有Service Pack 2的eMbedded Visual C++ 4.0来开发包括Windows Mobile 2003 Second Edition在内的Pocket PC 2003与Smartphone 2003应用程序。也可以用它来开发Pocket PC 2002或Smartphone 2002应用程序。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
10、Q:我可以使用Windows CE Standard SDK开发Pocket PC或Smartphone应用程序吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Windows CE SDK提供了一个通用的功能子集,使得编写的应用程序能够符合Standard SDK,以便运行在基于自定义显示的Windows CE .NET平台上。为了构建Pocket PC和Smartphone智能设备应用程序来利用这些平台提供的丰富的设备功能集,需要使用特定于设备的SDK。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
11、Q:eMbedded Visual Tools 3.0和Visual Studio .NET之间有什么不同?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:eMbedded Visual Tools 3.0是一种专门针对移动与嵌入式技术开发人员的独立开发环境。对于Pocket PC和Smartphone,都可以利用eMbedded Visual Tools和适当的平台SDK来构建丰富的“本机代码”客户端应用程序。Visual Studio .NET是Microsoft的最流行桌面开发工具的最新版本。可以使用Visual Studio .NET 2003来构建基于.NET Compact Framework的Pocket PC智能客户端应用程序。同时,还可以使用Visual Studio .NET和ASP.NET移动控件构建以各种设备(包括Pocket PC和Smartphone类别的设备)为目标的基于浏览器的应用程序。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
12、Q:为什么没有将eMbedded Visual C++集成到Visual Studio .NET中?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:根据客户的反馈,我们最初的工作主要集中于使Visual Basic .NET开发人员能够更轻松地对设备进行编程。但是,利用本机代码(C++)创建设备应用程序的功能将会集成到Visual Studio的下一个版本中。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
13、Q:什么是.NET Compact Framework?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:.NET Compact Framework是.NET Framework的子集,设计为能运行在资源受限的设备上,以便为托管代码和XML Web服务提供支持。.NET Compact Framework大大降低了编写运行在诸如Pocket PC设备上的应用程序和服务的开发成本。由于.NET Compact Framework是开发人员用来编写桌面和服务器应用程序的.NET Framework的一个子集,所以他们已经具备了编写Pocket PC和Smartphone 2003设备应用程序所必需的全部技巧。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
14、Q:使用.NET Compact Framework的主要好处是什么?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:目前编写设备应用程序的一个最大障碍在于,大多数设备都要求开发人员了解不同的API和使用不同的编程工具(与用于桌面应用程序相比)。由于.NET Compact Framework使用的.NET Framework编程模型和Visual Studio .NET开发工具与开发人员已经在桌面和服务器上使用的相同,所以它可以大大降低开发设备应用程序的成本,并提高开发人员的工作效率。而这些好处又能够使企业以新的方式使用智能设备,从而改进他们的业务。.NET Compact Framework也是唯一带有XML Web服务本机支持的移动开发平台。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
15、Q:什么设备可以运行.NET Compact Framework?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:NET Compact Framework 1.0可以用作Pocket PC 2000和Pocket PC 2002设备(包括Phone Edition)的RAM安装,并且可以放在Pocket PC 2003的ROM中。Smartphone 2003设备包含.NET Compact Framework 1.0 Service Pack 1。所有的Windows Mobile 2003 Second Edition设备均包含.NET Compact Framework 1.0 Service Pack 2。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
16、Q:何时可以使用.NET Compact Framework?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:.NET Compact Framework的1.0版可以作为Visual Studio .NET 2003版本的一部分使用。有关更多信息,请参阅Device Development。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
17、Q:.NET Compact Framework可以运行所有的.NET语言吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:最初,.NET Compact Framework可以运行Visual C#和Visual Basic。只要其他.NET语言符合.NET Compact Framework支持的公共语言运行库子集,它们就可以运行。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
18、Q:.NET Compact Framework应用程序和eMbedded Visual C++应用程序的执行情况一样吗?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:在大多数情况下,用eMbedded Visual C++编写的应用程序的运行速度比用Visual Basic .NET或Visual C# .NET编写的应用程序快。但是,对于应用程序计算密集的部分,开发人员将会看到他们的Visual Basic .NET应用程序比他们的eMbedded Visual Basic应用程序有实质性的改善。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
19、Q:.NET Compact Framework与ASP.NET移动控件之间有什么不同?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:对设备进行编程有两种不同的方法。一种方法是将应用程序放置在智能设备上。另一种方法是将代码放置在服务器上,并通过浏览器呈现用户界面。.NET Compact Framework支持前者,而ASP.NET移动控件(以前称为Microsoft Mobile Internet工具包)则支持后者。使用设备上的代码构建移动应用程序使应用程序在没有Internet连接的情况下可以继续工作。直接在设备上运行的应用程序还支持更丰富的用户界面,以及与操作系统上的可用资产(例如多媒体和其他的应用程序)进行集成的可能性。可以使用.NET Compact Framework将高效模型用于构建智能设备应用程序。构建代码位于服务器的移动应用程序也有其优点。在必须使用Internet支持的各种移动设备时,这种体系结构非常有用。这些应用程序也不受资源的限制,因为它们作为桌面Web应用程序运行在相同的服务器上。在Visual Studio .NET中使用ASP.NET移动控件可以完成这些应用程序的编写。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
20、Q:Visual Studio .NET 2003和Visual Studio 2005开发的Mobile在部署(方法和平台)上面有什么具体的不同?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:从Visual Studio 2005 beta版的情况来看,和Visual Studio .NET 2003的部署过程是相同的。在开发方面,Visual Studio 2005直接提供了Skin功能,可以使开发者在设计界面时能够更加直观。并且在调试时,其调试环境不再是在模拟器环境当中,而直接使用本地计算机的资源,调试速度更快。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
21、Q:我想使用GPS采集数据,然后将数据实时显示在客户机屏幕上,采用什么连接方式比较好?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:数据连接的方式主要取决于GPS的类型。目前GPS接收器有两种方式,串口或USB连接和蓝牙连接。如果是串口和USB连接,你可以使用CreateFile或者OpenNETCF中的串口类进行操作;而蓝牙设备,就需要使用Windows CE的Bluetooth API了。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
22、Q:怎样生成一个像PC上Setup一样的安装程序在Pocket PC上来完成安装工作?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:Windows Mobile设备的标准安装文件是CAB格式的。您可以在Visual Studio.NET中选择“生成CAB文件”,或者直接使用命令行工具cabwiz生成CAB文件。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
23、Q:用Windows Mobile把一个XML传入Web Service,处理后返回一个XML。传入的XML可有多种形式,请问共有哪几种写法?他们有什么区别?例子:1.public XmlDo***ent GetXml(XmlDo***ent xmlfile);2.public XmlElement GetXml(XmlElement xmlfile)...返回的XML其实是个SOAP消息,如何去掉SOAP?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:1)建议传递参数直接传递XML格式的字符串而不要传递对象。2)Web Service传递的信息中必定有SOAP消息,如果只想传递XML实体内容的话,建议通过Http请求直接POST数据,然后返回订制好的XML格式的实体数据。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
24、Q:XML数据内容的安全性如何?与SQL CE相比哪个效率更高些呢?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:1)XML的数据内容本质上就是纯文本,没有安全性可言。要实现安全性,您可以通过一些别的加密手段对内容进行加密。2)相比来说,在处理大数据量的时候SQL CE的处理速度要比直接处理XML快一些。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_

TOP

 

回复: Windows Mobile 开发常见问题集

Windows Mobile 开发常见问题集(五) ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
原文:阿飞热源 ¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
Winbile¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
1、Q:如果创建一个XML节点<a>1<b>2</b></a>,怎样创建a节点的第一个子节点?也就是那个没有LocalName但是有InnerText的节点?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:  XmlDo***ent doc = new XmlDo***ent();¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  XmlElement a = doc.CreateElement("a");¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  a.InnerText = "1";¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  XmlElement b = doc.CreateElement("b");¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  b.InnerText= "2";¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  a.AppendChild(b);¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  doc.AppendChild(a);¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
或者:¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  XmlDo***ent doc = new XmlDo***ent();¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  XmlElement a = doc.CreateElement("a");¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  XmlText aText = doc.CreateTextNode("1");¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  XmlElement b = doc.CreateElement("b");¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  XmlText bText = doc.CreateTextNode("2");¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  b.AppendChild(bText);¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  a.AppendChild(aText);¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  a.AppendChild(b);¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
  doc.AppendChild(a);¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
2、Q:System.Environment起什么作用?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:System.Environment类提供有关当前环境和平台的信息以及操作它们的方法。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
3、Q:100多k的数据载入都要30几秒,这个速度是否太慢了?有没有什么办法使时间提高到10秒以内?¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
A:数据量大的情况下,建议使用XmlTextReader来读取而不要使用XMLDo***ent和DataSet来处理。¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
¨1´ÊŽ;g'bbs.tomrun.netBDÞF†’·}_
4、Q:能具体讲讲tick吗?¨1&#