開發 Windows Mobile 應用程序 FAQ 二
1、Q:新建項目的時候選擇哪個項目類型才能創建智能設備的應用程序?
A:在Visual Studio的新建項目對話框中選擇Visual C#或者Visual Basic項目類型,選擇智能設備模板,然后再選擇相應的設備SDK,最后選擇“Device Application”,就可以創建一個移動設備的應用程序了。
2、Q:托管代碼與本地代碼有哪些區別?
A:托管代碼是指使用.NET
3、Q:能不能簡要介紹一下Magneto里面對OTA和MMS的支持?
A:Magneto對OTA有很好的支持,SDK文檔的通訊部分中,有針對OTA的專門介紹。MMS的應用程序基本都是由第三方開發的,因為MMS是基于WAP協議的,而Magneto本身對WAP的支持也很好,具體的協議也可以在SDK文檔里找到。
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”部分,分別描述了這兩方面的新特性。
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的數據傳輸是透明的嗎?
22、Q:Visual Studio .NET能否支持Nokia的S60系列系統開發?
A:可以,Visual C++能支持Nokia S60的開發。
23、Q:Pocket PC與Mobile開發的主要區別在哪里?
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的機器上。
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時,其內部會進行一些額外的類型轉換動作,這會導致效率的降低。
A:WebBrowser控件可以用于HTML文本。
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控件?
posted on 2008-02-28 15:58 郭天文 閱讀(1542) 評論(0) 編輯 收藏 引用 所屬分類: Windows Mobile