天天看點

[轉]Windows Mobile 開發常見問題集(一)

1、Q:建立項目的時候選擇哪個項目類型才能建立智能裝置的應用程式?

2、Q:托管代碼與本地代碼有哪些差別?

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開發環境?

7、Q:托管性的代碼執行效率怎麼樣?和使用Visual C++編寫的代碼相比較。

  A:托管代碼的執行效率肯定不如本地代碼高,但是托管代碼也有一些好處是無法取代的。

8、Q:是否可以使用Visual Studio .NET 2003來開發能夠運作在Windows Mobile 2005上的應用程式?

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文檔中對此有專門的說明。

  A:不會的,隻需要在Windows Mobile上安裝SQL Server CE的支援庫,也就是就是一些DLL檔案。而SQL Server CE的庫檔案是一個單獨的檔案,不需要安裝一個伺服器。

14、Q:在模拟器上面開發程式,和真實環境有差別麼?需要注意一些什麼?

15、Q:當開發國際化應用程式時,應該特别注意哪些方面?

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程式設計的網站或者論壇?

27、Q:Windows Mobile 2003上的.NET Compact Framework能更新到.NET Compact Framework 2.0嗎?

28、Q:請問編寫WML檔案與使用.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時,其内部會進行一些額外的類型轉換動作,這會導緻效率的降低。

  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控件?