视窗系统 Mobile 研发常见问题集(一)

来源:互联网 发布:紫光手电筒下载软件 编辑:程序博客网 时间:2024/05/17 20:28

1、Q:新建项目的时候选择哪个项目类型才能创建智能设备的应用程式?

  A:在Visual Studio的新建项目对话框中选择Visual C#或Visual Basic项目类型,选择智能设备模板,然后再选择相应的设备SDK,最后选择“Device Application”,就能创建一个移动设备的应用程式了。

 

2、Q:托管代码和本地代码有哪些差别?

  A:托管代码是指使用.NET Compact Framework研发的程式代码,可执行文件被编译成IL,执行时需要有.NET的运行时环境。而本地代码指用C++等语言研发的程式代码,可执行文件被编译成和CPU指令集有关的机器码,能直接运行。

 

3、Q:能不能简要介绍一下Magneto里面对OTA和MMS的支持?

  A:Magneto对OTA有非常好的支持,SDK文件的通讯部分中,有针对OTA的专门介绍。MMS的应用程式基本都是由第三方研发的,因为MMS是基于WAP协议的,而Magneto本身对WAP的支持也非常好,具体的协议也能在SDK文件里找到。

 

4、Q:请问用Visual Basic .NET研发PDA数据库程式能不能使用ADO.NET?

  A:Visual Basic .NET研发PDA数据库不必引用System.data.oledb,只需要引用System.Data.SqlServerCe命名空间就能了。该命名空间中的数据库操作类和ADO.NET是基本一致的。能用他们来研发针对SQL Server CE的应用程式。

 

5、Q:在Visual C++2005中,能使用.Net Compact Framework吗?

  A:不能,目前.NET Compact Framework只支持C#和VB.NET,而不支持C++/CLI。不过在VS.NET 2005中能用C++来研发Native代码来支持移动设备。 

 

6、Q:从什么地方能得到Smartphone研发环境?

  A:Smartphone的SDK能在微软网站上找到,而Visual Studio 2005 Beta 2能通过参加微软活动的方式获得。MEDC 2005的参加者都获得了VS.NET 2005和视窗系统 Mobile 5 SDK的研发光盘。 

 

7、Q:托管性的代码执行效率怎么样?和使用Visual C++编写的代码相比较。

  A:托管代码的执行效率肯定不如本地代码高,不过托管代码也有一些好处是无法取代的。

 

8、Q:是否能使用Visual Studio .NET 2003来研发能够运行在视窗系统 Mobile 2005上的应用程式?

  A:首先更正一下,视窗系统 Mobile最新一代的操作系统叫做视窗系统 Mobile 5,而不是视窗系统 Mobile 2005。是的,使用VS.NET 2003研发的应用程式是能在视窗系统 Mobile 5上正常运行的,因为视窗系统 Mobile 5 ROM中内置了.NET Compact Framewrok 1.0 SP3。 

 

9、Q:PDA上不能用Pocket Access么?SQL CE太大了。

  A:能使用Pocket Access来研发视窗系统 Mobile上的应用程式。能采用C++调用OLEDB或ADOCE的方式来访问Pocket Access数据库。

 

10、Q:Visual Studio 2005的新功能是否只在视窗系统 Mobile 5里受到支持,2003是否支持?

  A:新功能分两个部分,一部分是.NET Compact Framework 2.0中提供的的新功能,这部分的功能能被视窗系统 Mobile 2003支持,但必须安装.NET Compact Framework 2.0;而另一部分是视窗系统 Mobile 5的特有功能。.NET Compact Framework 2.0和视窗系统 Mobile 5研发文件的“What’s New”部分,分别描述了这两方面的新特性。

 

11、Q:请问怎么在模拟器里面设置连接到移动网络?

  A:模拟器如果需要连接移动网络的话,必须有专门的硬件提供支持。能在研发PC的串口上连一个GPRS的模拟器,SDK文件中对此有专门的说明。

 

12、Q:SQL CE能像Pocket Access那样仅使用一个文件就能运行么?是否需要像PC上那样安个服务器才能使用?

  A:不会的,只需要在视窗系统 Mobile上安装SQL Server CE的支持库,也就是就是一些DLL文件。而SQL Server CE的库文件是个独立的文件,不必安装一个服务器。

 

13、Q:研发好的程式通过什么方式部署到手机上?对手机有什么需求?

  A:研发的程式需要打包成cab文件部署到手机上。除了通过ActiveSync安装外,还能通过网络下载、存储卡运行等方式来安装应用程式。对手机的需求是,必须和研发程式的目标平台相兼容。比如为视窗系统 Mobile 5研发的应用程式,可能就没办法非常好地运行在视窗系统 Mobile2003平台上。

 

14、Q:在模拟器上面研发程式,和真实环境有差别么?需要注意一些什么?

  A:模拟器的仿真度十分高,视窗系统 Mobile 5的模拟器甚至能支持ARM指令,所以基本不会遇见兼容性的问题。不过对于一些需要连接外部设备的应用场景,比如前边说的无线网络,更有GPS设备等,就需要用到实际设备了。

 

15、Q:当研发国际化应用程式时,应该特别注意哪些方面?

  A:对于国际化的应用程式,.NET本身就已提供了非常好的支持。能把用户界面的文字保存在相应的资源文件中,然后由应用程式判断操作系统的语言版本来调用相应的文字。

 

16、Q:用.NET研发Pocket PC程式需要考虑设备具体使用的是哪种CPU吗?

  A:不必。无论是在虚拟机上的x86指令集,还是实际设备上的ARM指令集,对.NET Compact Framework程式的运行来说都相同。 

 

17、Q:视窗系统 Mobile 5 是否支持通过语音控制新的研发程式?

  A:目前还不支持。 

 

18、Q:能在vwd2005 bata2中研发Pocket PC程式吗?Pocket PC是否具有浏览器?

  A:能,Pocket PC平台是内置浏览器的。 

 

19、Q:Visual Studio 2005的Mobile研发,支持Mobile 2003的设备吗?

  A:支持,VS 2005本身就自带视窗系统 Mobile 2003的SDK。

 

20、Q:视窗系统 Mobile 5.0 for Smartphone较之前的版本有何明显的差别?对于测试这一领域,我们需要注意些什么?

  A:视窗系统 Mobile 5的Smartphone平台更多的变化是在API层面,比如对数据库的支持、对GPS API的支持等, 视窗系统 Mobile 5 SDK文件中对此有周详地说明。

 

21、Q:对研发来说CDMA和GPRS的数据传输是透明的吗?

  A:对于软件研发来说数据传输是透明的,CDMA和GPRS对于上层应用程式来说,只要支持HTTP协议或TCP/IP协议就能进行数据传输的操作。 

 

22、Q:Visual Studio .NET能否支持Nokia的S60系列系统研发?

  A:能,Visual C++能支持Nokia S60的研发。 

 

23、Q:Pocket PC和Mobile研发的主要差别在哪里?

  A:Window Mobile是微软公司基于视窗系统 CE.NET的一个平台。他包含Pocket PC和Smartphone两个版本。 

 

24、Q:SDE从哪里能下载?Pocket PC 2005的模拟器能从哪里下载?

  A:SDE是早期用来研发移动设备程式的VS扩展,目前网上似乎非常难找到。其实不用安装他,安装所需版本的Pocket PC或Smartphone的SDK即可。各个版本的视窗系统 Mobile研发的SDK和模拟器的地址能从这篇Blog上下载(http://twodays.cnblogs.com/archive/2005/06/30/184107.htm)。 

 

25、Q:.NET Compact Framework 2.0能装在视窗系统 Mobile 2003上吗?

  A:能。.NET Compact Framework 2.0必须手动安?到视窗系统 Mobile 2003的机器上。

 

26、Q:请问有没有好的视窗系统 Mobile编程的网站或论坛?

  A:OpenNETCF.org、www.devbuzz.com、www.codeproject.com、www.msdn.com/mobility/、www.pocketpcdn.com

 

27、Q:视窗系统 Mobile 2003上的.NET Compact Framework能升级到.NET Compact Framework 2.0吗?

  A:能。.NET Compact Framework 2.0必须手动安?到视窗系统 Mobile 2003的机器上。

 

28、Q:请问编写WML文件和使用.NET Compact Framework进行研发有什么联系和差别?

  A:WML是能够利用WAP浏览器进行浏览的文件,是一种基于Web的研发方式。.NET Compact Framework是在设备上运行的程式,是基于应用的研发方式。

 

29、Q:在使用.NET Compact Framework 1.0进行研发时,用EVC直接调用Native代码和使用C#通过P/Invoke在性能上有什么差别?在.NET Compact Framework 2.0上,用C++直接调用和用C#通过P/Invoke又怎么呢?

  A:用EVC?用Native API的效率,会比使用.NET Compact Framework通过P/Invoke调用Native API要高,这是.NET Compact Framework本身的特性。在从托管代码中调用Native API时,其内部会进行一些额外的类型转换动作,这会导致效率的降低。

 

30、Q:有没有支持显示HTML文本的控件?

  A:WebBrowser控件能用于HTML文本。

 

31、Q:CAB安装后会在Pocket PC上自动生成“卸载程式”,怎么制作安装包,才能不自动产生“卸载程式”?

  A:利用VS 2005建立Smart Device Cab Project,在Solution Explorer的Cab Project上点击鼠标右键选择Property,即可看到有一个选项为NoUninstall,默认为False,改为True就能了。

 

32、Q:OpenNETCF能运行在.NET Framework 1.1环境下吗?其中的控件能和.NET Framework 1.1控件混合使用吗?怎样在Visual Studio .NET 2003中加入OpenNETCF控件?

  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的控件,能直接拖放来使用。

原创粉丝点击