感觉

--------------海阔凭跃,天高任
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 

Windows Mobile 开发黄金周(2).NET Compact Framework 2.0 新功能预览 ---Level 200
活动日期: 2005-10-19 10:00 -- 16:00
讲: 叶佰苍

________________________________________

Q请问C#也可以开发么?

A可以。本講次都是以C#做演示的。

________________________________________

QNET Compact Framework 2.0能装在WM2003上吗?

A可以。.NET CF 2.0必須自行安裝到WM2003的機器上。

________________________________________

Qmvp专家好,请问一下有没有好的windows mobile编程的网站或者论坛?谢谢

AOpenNETCF.org, www.devbuzz.com, www.codeproject.com, www.msdn.com/mobility/, www.pocketpcdn.com

________________________________________

Qwindows mobile 2003 CF 能升级 .NET CF 2.0吗?

A可以。.NET CF 2.0必須自行安裝到WM2003的機器上。

________________________________________

Q我还是第一次接触MOBILE开发,现在有在做WML文件,请问这WML文件跟老师讲的这个有什么联系和区别

AWML是利用WAP browser來檢視的文件,是一種web-based的開發方式。.NET CF是在設備上運行的程式,是application-based的開發方式。

________________________________________

Q在开发CF1.0,EVC直接调用native代码跟在C#通过p/invoke调用性能上有什么差别呢,CF2.0,c++直接调用和c#通过p/invoke又如何呢

AeVC調用native API的效能,都會比.NET CF透過P/Invoke調用native API來得好,這是.NET CF本身的特性,在從托管代碼調用呼叫本地API時,內部就會作一些額外型別轉換的動作,以致於比本地代碼直接調用來的慢些。

________________________________________

QNET Compact Framework 2.0能装在WM2003上吗?有没有支持显示HTML文本的控件吗?

A可以。本講次所演示的WebBrowser控件,就是顯示HTML文本的控件。

________________________________________

Q"CAB"安装后会在Pocket PC上自动生成"卸载程序",如何制作安装包,不产生"卸载程序"

A利用VS 2005建立Smart Device Cab Project,在Solution ExplorerCab Project上按右鍵選Property,即可看到有一個選項為NoUninstall,默認為False,改為True就行了。

________________________________________

Q:可以在仿真器上装PPC软件吗?

A可以。WM 5.0 SDK裡面的仿真器支援ARM-based CPU,所以可以在仿真器中安裝支援ARM CPUPPC軟件。

________________________________________

QOpenNETCF能运行在NETFrame1.1环境下吗,哪里有下载安装,它可与NETFrame1.1控件混合使用吗?怎样在visual studio 2003加入OpenNETCF控件,方便使用,可否详细介绍一下OpenNETCF吗?

A當初在設計NET CF 1.0/1.1時,由於考慮到移動設備的資源有限,所以有些原本.NET Framework 1.1有提供的類別與控件就被拿掉了,OpenNETCF Smart Device Framework主要是針對.NET CF 1.0/1.1中沒有的功能,開發出類似的類別及額外的功能,以補足.NET CF 1.0/1.1不足之處。這套Framework主要針對是提供.NET CF程序開發所使用,除了少部份針對PCPocket PC同步功能所撰寫的類別之外,大部分都是在.NET CF上執行,一般是不支援.NET Framework的。安裝完OpenNETCFSmart Device Framework之後,您可以在VS 2003左側的toolbox看到有OpenNETCF的控件,就可以直接拖放來使用。

________________________________________

Q:请问怎么样能保证系统资源及时的在程序中释放?谢谢!

A由於.NET CF所運行的移動設備,受限於CPUMemoryPower,所以在Garbage Collection有做過調整,資源回收(Garbage Collection)的速度比.NET Framework更快。您也可以將使用完畢的資源,調用Dispose()來釋放資源。

________________________________________

Q请问CF2.0对不同移动设备的CPU支持好吗?

A如後所述。

________________________________________

Q:在vs中可以定义一个所有文件都可以使用的宏,比如: #define AA,要在所有的.cs文件中使用#if AA public class A() #else public class B();

A可以。在VS 2005的專案中,從[Project] – [Property],在Build的頁面中,有conditional compilation symbol,可以輸入您要定義的AA,就可以做到您要的功能。

________________________________________

Qsmartphone怎么转的pocket pc,两种程序不是不能共用吗?

A.NET CF 2.0中,只要您沒有用到某些特殊的APIPocket PC程序跟Smartphone程序是可以互轉的,只需要在控件上做些調整,您可以參考上一場侯月文老師的演示。

________________________________________

Q.Net Framework又没有对media coder/decoder的支持?开发第三方的媒体播放程序可以不依赖.Net CF2.0吗?

A.NET CF 2.0本身可以開發Direct3D Mobile的應用程序。您亦可以在VS 2005中以C++開發native code的媒體播放程序,不須依賴.NET CF 2.0

________________________________________

Q:使用DotNet开发的智能设备程序是否比用C语言开发的程序效率低很多?

A.NET開發的程序會比本地C開發的程序要慢,不過在一般應用軟件的效能不會差太多,除非是需要實時處理硬體或I/O的程序,會建議用本地C做開發,不然一般應用程序用.NET CF開發即可,會有較好的reliabilityportability

________________________________________

Q:用托管C++开发执行效率会不会比C#?

A不會。由於托管C++C#源碼在經過編譯(compile)之後,都會成為IL碼,由.NET CF執行動作,因此效能上不會有差別。但用本地C++撰寫的程序,執行效率會比托管C++好。

________________________________________

Q请问CF2.0对不同g平台移动设备的CPU支持好吗?CF2.0GSM应用方面有没有增强?

A.NET Compact Framework主要就是具有Windows Mobile跨平台的特性,因此開發時不需要考慮到底層的OS, CPU, Hardware等因素。目前.NET Compact Framework對常見的CPU都支援,例如ARM, MIPS, SH, x86等。另外在GSM應用方面,主要針對Smartphone的應用做加強,並未特別對GSM方面做增強。

________________________________________

Q:请问MFCWindows Mobile Development中处于什么地位? Douglas Boling写的Programming Microsoft Windows CE .NET一书中好像并不推崇使用MFC开发Windows Mobile应用程序

AMFC還是以本地C的方式進行開發,其特性是執行效率高,但相對而言,必須花費更多心思在資源分配、回收等編程技巧。如以.NET CF進行開發,雖然執行效率比本地程序略差,但整體而言,PortabilityReliability都較好,且資源配置與回收都可由.NET CF代勞,開發者能夠更專注在真正重要的商業邏輯與流程。

________________________________________

Q:麻烦你,想问下您,evc中开发ppc中页面设计有些api不能支持,在这里可以支持么?

A不太清楚您指的API是哪些,但一般而言,用eVC開發PPC程序時,所使用的本地API是屬於WinCE API,如果PPC本身就不支援此API,則.NET CF也無法呼叫此API

________________________________________

QCompact_Framework 2.0 中与1.0有什么区别

A主要針對1.0原有的控件及類庫加以改善,提供更多的支持,並新增許多類與控件,使.NET CF 2.0更接近.NET Framework,同時在效能上也有提升。

________________________________________

Q:在制作安装程序的时候,如何在start->program下生成程序的快捷方式,或哪儿可以找到demo?谢谢!

AVS 2005中建立Smart Device Cab Project,在File System頁面中,可以看到Application Folder即為Start->Program的位置,您可以先建立Primary Output的快捷,然後將此快捷移到Programs Folder,並製作Cab檔即可。

________________________________________

Q:您刚才说的程序从200350移植有98%的相容性,值的是程序的比例还是api级别的比例

AAPI級別的比例。