Windows Mobile 开发黄金周(2):.NET Compact Framework 2.0 新功能预览 ---Level 200
Posted on 2005-11-18 15:00 感觉 阅读(1173) 评论(0) 收藏 举报Windows Mobile 开发黄金周(2):.NET Compact Framework 2.0 新功能预览 ---Level 200
活动日期: 2005-10-19 10:00 -- 16:00
主 讲: 叶佰苍
________________________________________
Q:请问C#也可以开发么?
A:可以。本講次都是以C#做演示的。
________________________________________
Q:NET Compact Framework 2.0能装在WM2003上吗?
A:可以。.NET CF 2.0必須自行安裝到WM2003的機器上。
________________________________________
Q:mvp专家好,请问一下有没有好的windows mobile编程的网站或者论坛?谢谢
A:OpenNETCF.org, www.devbuzz.com, www.codeproject.com, www.msdn.com/mobility/, www.pocketpcdn.com。
________________________________________
Q:windows mobile 2003 上 CF 能升级 .NET CF 到 2.0吗?
A:可以。.NET CF 2.0必須自行安裝到WM2003的機器上。
________________________________________
Q:我还是第一次接触MOBILE开发,现在有在做WML文件,请问这WML文件跟老师讲的这个有什么联系和区别
A:WML是利用WAP browser來檢視的文件,是一種web-based的開發方式。.NET CF是在設備上運行的程式,是application-based的開發方式。
________________________________________
Q:在开发CF1.0时,用EVC直接调用native代码跟在C#通过p/invoke调用性能上有什么差别呢,在CF2.0上,用c++直接调用和c#通过p/invoke又如何呢
A:用eVC調用native API的效能,都會比.NET CF透過P/Invoke調用native API來得好,這是.NET CF本身的特性,在從托管代碼調用呼叫本地API時,內部就會作一些額外型別轉換的動作,以致於比本地代碼直接調用來的慢些。
________________________________________
Q:NET Compact Framework 2.0能装在WM2003上吗?有没有支持显示HTML文本的控件吗?
A:可以。本講次所演示的WebBrowser控件,就是顯示HTML文本的控件。
________________________________________
Q:"CAB"安装后会在Pocket PC上自动生成"卸载程序",如何制作安装包,不产生"卸载程序"
A:利用VS 2005建立Smart Device Cab Project,在Solution Explorer的Cab Project上按右鍵選Property,即可看到有一個選項為NoUninstall,默認為False,改為True就行了。
________________________________________
Q:可以在仿真器上装PPC软件吗?
A:可以。WM 5.0 SDK裡面的仿真器支援ARM-based CPU,所以可以在仿真器中安裝支援ARM CPU的PPC軟件。
________________________________________
Q:OpenNETCF能运行在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程序開發所使用,除了少部份針對PC與Pocket PC同步功能所撰寫的類別之外,大部分都是在.NET CF上執行,一般是不支援.NET Framework的。安裝完OpenNETCF的Smart Device Framework之後,您可以在VS 2003左側的toolbox看到有OpenNETCF的控件,就可以直接拖放來使用。
________________________________________
Q:请问怎么样能保证系统资源及时的在程序中释放?谢谢!
A:由於.NET CF所運行的移動設備,受限於CPU、Memory、Power,所以在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,就可以做到您要的功能。
________________________________________
Q:smartphone怎么转的pocket pc,两种程序不是不能共用吗?
A:在.NET CF 2.0中,只要您沒有用到某些特殊的API,Pocket 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開發即可,會有較好的reliability與portability。
________________________________________
Q:用托管C++开发执行效率会不会比C#高?
A:不會。由於托管C++與C#源碼在經過編譯(compile)之後,都會成為IL碼,由.NET CF執行動作,因此效能上不會有差別。但用本地C++撰寫的程序,執行效率會比托管C++好。
________________________________________
Q:请问CF2.0对不同g平台移动设备的CPU支持好吗?在CF2.0在GSM应用方面有没有增强?
A:.NET Compact Framework主要就是具有Windows Mobile跨平台的特性,因此開發時不需要考慮到底層的OS, CPU, Hardware等因素。目前.NET Compact Framework對常見的CPU都支援,例如ARM, MIPS, SH, x86等。另外在GSM應用方面,主要針對Smartphone的應用做加強,並未特別對GSM方面做增強。
________________________________________
Q:请问MFC在Windows Mobile Development中处于什么地位? Douglas Boling写的Programming Microsoft Windows CE .NET一书中好像并不推崇使用MFC开发Windows Mobile应用程序
A:MFC還是以本地C的方式進行開發,其特性是執行效率高,但相對而言,必須花費更多心思在資源分配、回收等編程技巧。如以.NET CF進行開發,雖然執行效率比本地程序略差,但整體而言,Portability與Reliability都較好,且資源配置與回收都可由.NET CF代勞,開發者能夠更專注在真正重要的商業邏輯與流程。
________________________________________
Q:麻烦你,想问下您,在evc中开发ppc中页面设计有些api不能支持,在这里可以支持么?
A:不太清楚您指的API是哪些,但一般而言,用eVC開發PPC程序時,所使用的本地API是屬於WinCE API,如果PPC本身就不支援此API,則.NET CF也無法呼叫此API。
________________________________________
Q:Compact_Framework 2.0 中与1.0有什么区别
A:主要針對1.0原有的控件及類庫加以改善,提供更多的支持,並新增許多類與控件,使.NET CF 2.0更接近.NET Framework,同時在效能上也有提升。
________________________________________
Q:在制作安装程序的时候,如何在start->program下生成程序的快捷方式,或哪儿可以找到demo?谢谢!
A:在VS 2005中建立Smart Device Cab Project,在File System頁面中,可以看到Application Folder即為Start->Program的位置,您可以先建立Primary Output的快捷,然後將此快捷移到Programs Folder,並製作Cab檔即可。
________________________________________
Q:您刚才说的程序从2003到5。0移植有98%的相容性,值的是程序的比例还是api级别的比例
A:API級別的比例。
浙公网安备 33010602011771号