1、Q:新建項(xiàng)目的時(shí)候選擇哪個(gè)項(xiàng)目類型才能創(chuàng)建智能設(shè)備的應(yīng)用程序?
A:在Visual Studio的新建項(xiàng)目對(duì)話框中選擇Visual C#或者Visual Basic項(xiàng)目類型,選擇智能設(shè)備模板,然后再選擇相應(yīng)的設(shè)備SDK,最后選擇“Device Application”,就可以創(chuàng)建一個(gè)移動(dòng)設(shè)備的應(yīng)用程序了。
2、Q:托管代碼與本地代碼有哪些區(qū)別?
A:托管代碼是指使用.NET Compact Framework開(kāi)發(fā)的程序代碼,可執(zhí)行文件被編譯成IL,執(zhí)行時(shí)需要有.NET的運(yùn)行時(shí)環(huán)境。而本地代碼指用C 等語(yǔ)言開(kāi)發(fā)的程序代碼,可執(zhí)行文件被編譯成與CPU指令集有關(guān)的機(jī)器碼,可以直接運(yùn)行。
3、Q:能不能簡(jiǎn)要介紹一下Magneto里面對(duì)OTA和MMS的支持?
A:Magneto對(duì)OTA有很好的支持,SDK文檔的通訊部分中,有針對(duì)OTA的專門介紹。MMS的應(yīng)用程序基本都是由第三方開(kāi)發(fā)的,因?yàn)镸MS是基于WAP協(xié)議的,而Magneto本身對(duì)WAP的支持也很好,具體的協(xié)議也可以在SDK文檔里找到。
4、Q:請(qǐng)問(wèn)用Visual Basic .NET開(kāi)發(fā)PDA數(shù)據(jù)庫(kù)程序能不能使用ADO.NET?
A:Visual Basic .NET開(kāi)發(fā)PDA數(shù)據(jù)庫(kù)不需要引用System.data.oledb,只需要引用System.Data.SqlServerCe命名空間就可以了。 該命名空間中的數(shù)據(jù)庫(kù)操作類和ADO.NET是基本一致的。可以用它們來(lái)開(kāi)發(fā)針對(duì)SQL Server CE的應(yīng)用程序。
eveloper獲得。
5、Q:使用.Net開(kāi)發(fā)的智能設(shè)備程序是否比用C語(yǔ)言開(kāi)發(fā)的程序效率低很多?
A:使用.NET開(kāi)發(fā)的程序會(huì)比使用C語(yǔ)言開(kāi)發(fā)的本地程序要慢一些,不過(guò)對(duì)于一般的應(yīng)用軟件來(lái)說(shuō),下率不會(huì)差太多,除非是需要實(shí)時(shí)處理硬件或 I/O的程序,必須要使用C語(yǔ)言進(jìn)行開(kāi)發(fā)之外,一般的應(yīng)用程序用.NET Compact Framework開(kāi)發(fā)即可,因?yàn)檫@樣可以獲得最好的靈活性和可移植性。
6、Q:用托管C 開(kāi)發(fā)的應(yīng)用程序執(zhí)行效率會(huì)不會(huì)比用C#開(kāi)發(fā)的應(yīng)用程序高?
A:不會(huì)。由於托管C 與C#源代碼在經(jīng)過(guò)編譯之后,都將成為IL代碼,由.NET Compact Framework來(lái)執(zhí)行,因此在效率上不會(huì)有差別。
7、Q:請(qǐng)問(wèn).NET Compact Framework 2.0對(duì)于使用不同CPU的移動(dòng)設(shè)備支持好嗎?.NET Compact Framework 2.0在GSM應(yīng)用方面有沒(méi)有增強(qiáng)?
A:.NET Compact Framework具有Windows Mobile跨平臺(tái)的特性,因此開(kāi)發(fā)時(shí)不需要考慮底層的OS、CPU和其它硬件因素。目前.NET Compact Framework對(duì)常見(jiàn)的CPU都能夠支持,例如ARM、MIPS、SH、x86等。另外在GSM應(yīng)用方面,主要針對(duì)Smartphone的應(yīng)用作了加 強(qiáng)。
8、Q:請(qǐng)問(wèn)MFC在Windows Mobile Development中處于什么地位?Douglas Boling寫(xiě)的Programming Microsoft Windows CE .NET一書(shū)中好像并不推崇使用MFC開(kāi)發(fā)Windows Mobile應(yīng)用程序。
A:MFC還是以本地C 的方式進(jìn)行開(kāi)發(fā),其特點(diǎn)是執(zhí)行效率高,但必須花費(fèi)更多的心思在資源分配、回收等編程技巧上。如果使用.NET Compact Framework進(jìn)行開(kāi)發(fā),雖然執(zhí)行效率比本地程序略差,但整體而言,可移植性與靈活性都較好,而且不必為回收資源擔(dān)心,開(kāi)發(fā)者能夠?qū)W⒂谡嬲匾臉I(yè) 務(wù)邏輯流程。
9、Q:.NET Compact Framework 2.0與1.0有什么區(qū)別?
A:.NET Compact Framework 2.0主要針對(duì)1.0原有的控件及類庫(kù)進(jìn)行了改善,提供了更多的支持,并新增了許多類型和控件,.NET Compact Framework 2.0更加接近.NET Framework,同時(shí)在效率上也相對(duì)1.0有所提升。
10、Q:在制作安裝程序的時(shí)候,如何在start->program菜單中生成程序的快捷方式?
A:在VS 2005中建立Smart Device Cab Project,在File System頁(yè)面中,可以看到Application Folder,這就是Start->Program的位置,可以先建立Primary Output的快捷方式,然后將此快捷方式移到Programs Folder,并構(gòu)建Cab文件即可。
11、Q:移動(dòng)設(shè)備與WEB網(wǎng)頁(yè)設(shè)計(jì)有什么主要區(qū)別?
A:Visual Studio開(kāi)發(fā)環(huán)境中移動(dòng)設(shè)備與Web設(shè)計(jì)是非常類似的 ,可以使用同樣的語(yǔ)言進(jìn)行設(shè)計(jì), 不同的只是能夠使用的類以及控件有所區(qū)別。
12、Q:.NET Compact Framework中可以實(shí)現(xiàn)鼠標(biāo)的雙擊、右擊、中間鍵單擊等用戶事件嗎?
A:運(yùn)行Windows Mobile的設(shè)備沒(méi)有鼠標(biāo),所以這些事件也不存在。對(duì)于常用的右鍵彈出上下文相關(guān)菜單,在觸摸屏上一般用單擊并且按住一段時(shí)間來(lái)實(shí)現(xiàn)。
13、Q:Mobile應(yīng)用程序的界面處理可以使用CSS樣式表嗎?
A:不可以。
14、Q:Smartphone上面能夠支持橫屏幕嗎?
A:不支持。
15、Q:如何在Pocket PC中調(diào)整控件的位置使得應(yīng)用程序可以支持橫向屏幕?
A:可通過(guò)設(shè)置控件的Anchor和Dock屬性來(lái)自適應(yīng)屏幕。
16、Q:用.NET開(kāi)發(fā)Pocket PC程序需要考慮設(shè)備具體使用的是哪種CPU嗎?
A:不必。無(wú)論是在虛擬機(jī)上的x86指令集,還是實(shí)際設(shè)備上的ARM指令集,對(duì).NET Compact Framework程序的運(yùn)行來(lái)說(shuō)都一樣。
17、Q:Windows Mobile 5 是否支持通過(guò)語(yǔ)音控制新的開(kāi)發(fā)程序?
A:現(xiàn)在還不支持。
18、Q:可以在vwd2005 bata2中開(kāi)發(fā)Pocket PC程序嗎?Pocket PC是否具有瀏覽器?
A:可以,Pocket PC平臺(tái)是內(nèi)置瀏覽器的。
19、Q:Visual Studio 2005的Mobile開(kāi)發(fā),支持Mobile 2003的設(shè)備嗎?
A:支持,VS 2005本身就自帶Windows Mobile 2003的SDK。
20、Q:Windows Mobile 5.0 for Smartphone較之前的版本有何明顯的區(qū)別?對(duì)于測(cè)試這一領(lǐng)域,我們需要注意些什么?
A:Windows Mobile 5的Smartphone平臺(tái)更多的變化是在API層面,比如對(duì)數(shù)據(jù)庫(kù)的支持、對(duì)GPS API的支持等, Windows Mobile 5 SDK文檔中對(duì)此有詳細(xì)地說(shuō)明。
21、Q:對(duì)開(kāi)發(fā)來(lái)說(shuō)CDMA和GPRS的數(shù)據(jù)傳輸是透明的嗎?
A:對(duì)于軟件開(kāi)發(fā)來(lái)說(shuō)數(shù)據(jù)傳輸是透明的,CDMA和GPRS對(duì)于上層應(yīng)用程序來(lái)說(shuō),只要支持HTTP協(xié)議或者TCP/IP協(xié)議就可以進(jìn)行數(shù)據(jù)傳輸?shù)牟僮鳌?br/>22、Q:Visual Studio .NET能否支持Nokia的S60系列系統(tǒng)開(kāi)發(fā)?
A:可以,Visual C 能支持Nokia S60的開(kāi)發(fā)。
23、Q:Pocket PC與Mobile開(kāi)發(fā)的主要區(qū)別在哪里?
A:Window Mobile是微軟公司基于Windows CE.NET的一個(gè)平臺(tái)。它包含Pocket PC和Smartphone兩個(gè)版本。
24、Q:SDE從哪里可以下載?Pocket PC 2005的模擬器可以從哪里下載?
A:SDE是早期用來(lái)開(kāi)發(fā)移動(dòng)設(shè)備程序的VS擴(kuò)展,目前網(wǎng)上似乎很難找到。其實(shí)不用安裝它,安裝所需版本的Pocket PC或者Smartphone的SDK即可。各個(gè)版本的Windows Mobile開(kāi)發(fā)的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必須手動(dòng)安裝到Windows Mobile 2003的機(jī)器上。
26、Q:請(qǐng)問(wèn)有沒(méi)有好的Windows Mobile編程的網(wǎng)站或者論壇?
A:OpenNETCF.org、、
www.ojct.com27、Q:Windows Mobile 2003上的.NET Compact Framework能升級(jí)到.NET Compact Framework 2.0嗎?
A:可以。.NET Compact Framework 2.0必須手動(dòng)安裝到Windows Mobile 2003的機(jī)器上。
28、Q:請(qǐng)問(wèn)編寫(xiě)WML文件與使用.NET Compact Framework進(jìn)行開(kāi)發(fā)有什么聯(lián)系和區(qū)別?
A:WML是能夠利用WAP瀏覽器進(jìn)行瀏覽的文件,是一種基于Web的開(kāi)發(fā)方式。.NET Compact Framework是在設(shè)備上運(yùn)行的程序,是基于應(yīng)用的開(kāi)發(fā)方式。
29、Q:在使用.NET Compact Framework 1.0進(jìn)行開(kāi)發(fā)時(shí),用EVC直接調(diào)用Native代碼與使用C#通過(guò)P/Invoke在性能上有什么差別?在.NET Compact Framework 2.0上,用C 直接調(diào)用和用C#通過(guò)P/Invoke又如何呢?
A:用EVC調(diào)用Native API的效率,會(huì)比使用.NET Compact Framework通過(guò)P/Invoke調(diào)用Native API要高,這是.NET Compact Framework本身的特性。在從托管代碼中調(diào)用Native API時(shí),其內(nèi)部會(huì)進(jìn)行一些額外的類型轉(zhuǎn)換動(dòng)作,這會(huì)導(dǎo)致效率的降低。
30、Q:有沒(méi)有支持顯示HTML文本的控件?
A:WebBrowser控件可以用于HTML文本。
31、Q:CAB安裝后會(huì)在Pocket PC上自動(dòng)生成“卸載程序”,如何制作安裝包,才能不自動(dòng)產(chǎn)生“卸載程序”?
A:利用VS 2005建立Smart Device Cab Project,在Solution Explorer的Cab Project上點(diǎn)擊鼠標(biāo)右鍵選擇Property,即可看到有一個(gè)選項(xiàng)為NoUninstall,默認(rèn)為False,改為True就可以了。
32、Q:OpenNETCF能運(yùn)行在.NET Framework 1.1環(huán)境下嗎?其中的控件可以與.NET Framework 1.1控件混合使用嗎?怎樣在Visual Studio .NET 2003中加入OpenNETCF控件?
A:當(dāng)初在設(shè)計(jì)NET Compact Framework 1.0/1.1時(shí),由于考慮到移動(dòng)設(shè)備的資源有限,所以有些原本.NET Framework 1.1中已經(jīng)提供的類和控件就被刪除了,OpenNETCF Smart Device Framework主要是針對(duì).NET Compact Framework 1.0/1.1中沒(méi)有的功能,開(kāi)發(fā)出來(lái)的類似的類型和額外的功能,以彌補(bǔ).NET Compact Framework 1.0/1.1不足之處。這套Framework主要是供.NET Compact Framework程序開(kāi)發(fā)所用,除了少部份針對(duì)PC與Pocket PC的同步功能所編寫(xiě)的類之外,大部分都是在.NET Compact Framework上執(zhí)行的,一般不支持.NET Framework。OpenNETCF的Smart Device Framework安裝完畢之后,可以在VS 2003左側(cè)的工具箱中看到OpenNETCF的控件,可以直接拖放來(lái)使用。
1、Q:請(qǐng)問(wèn)如何才能保證應(yīng)用程序能夠及時(shí)地釋放系統(tǒng)資源?
A:由于.NET Compact Framework所運(yùn)行的移動(dòng)設(shè)備,受限于CPU、內(nèi)存、電源,因此其中的Garbage Collection時(shí)經(jīng)過(guò)調(diào)整的,垃圾回收的速度比.NET Framework更快。通過(guò)調(diào)用Dispose()方法,可以立即釋放掉對(duì)象所占用的非托管資源。
2、Q:在Visual Studio中可以定義一個(gè)所有文件都可以使用的宏嗎?比如:#define AA,要求在所有的.cs文件中都可以使用#if AA public class A() #else public class B();
A:可以。在VS 2005的解決方案資源管理器中,用鼠標(biāo)右鍵單擊項(xiàng)目,選擇其屬性。在屬性對(duì)話框的Build頁(yè)中,可以找到conditional compilation symbol,在其中輸入AA,即可在該項(xiàng)目的所有C#源代碼文件中使用這個(gè)符號(hào)。
3、Q:可以將Smartphone應(yīng)用程序轉(zhuǎn)換為Pocket PC應(yīng)用程序嗎?
A:可以。在.NET Compact Framework 2.0中,只要您沒(méi)有用到某些特殊的API,Pocket PC應(yīng)用程序與Smartphone程序是可以互相轉(zhuǎn)換的,只需要在控件上做些調(diào)整即可。
4、Q:.Net Framework 2.0有沒(méi)有對(duì)Media coder/decoder的支持?開(kāi)發(fā)第三方的媒體播放程序可以不依賴.Net CF2.0嗎?
A:.NET Compact Framework 2.0本身可以開(kāi)發(fā)Direct3D Mobile的應(yīng)用程序。也可以在VS 2005中以C 開(kāi)發(fā)Native Code的媒體播放程序,而無(wú)須依賴.NET Compact Framework 2.0。
5、Q:使用.Net開(kāi)發(fā)的智能設(shè)備程序是否比用C語(yǔ)言開(kāi)發(fā)的程序效率低很多?
A:使用.NET開(kāi)發(fā)的程序會(huì)比使用C語(yǔ)言開(kāi)發(fā)的本地程序要慢一些,不過(guò)對(duì)于一般的應(yīng)用軟件來(lái)說(shuō),下率不會(huì)差太多,除非是需要實(shí)時(shí)處理硬件或 I/O的程序,必須要使用C語(yǔ)言進(jìn)行開(kāi)發(fā)之外,一般的應(yīng)用程序用.NET Compact Framework開(kāi)發(fā)即可,因?yàn)檫@樣可以獲得最好的靈活性和可移植性。
6、Q:用托管C 開(kāi)發(fā)的應(yīng)用程序執(zhí)行效率會(huì)不會(huì)比用C#開(kāi)發(fā)的應(yīng)用程序高?
A:不會(huì)。由於托管C 與C#源代碼在經(jīng)過(guò)編譯之后,都將成為IL代碼,由.NET Compact Framework來(lái)執(zhí)行,因此在效率上不會(huì)有差別。
7、Q:請(qǐng)問(wèn).NET Compact Framework 2.0對(duì)于使用不同CPU的移動(dòng)設(shè)備支持好嗎?.NET Compact Framework 2.0在GSM應(yīng)用方面有沒(méi)有增強(qiáng)?
A:.NET Compact Framework具有Windows Mobile跨平臺(tái)的特性,因此開(kāi)發(fā)時(shí)不需要考慮底層的OS、CPU和其它硬件因素。目前.NET Compact Framework對(duì)常見(jiàn)的CPU都能夠支持,例如ARM、MIPS、SH、x86等。另外在GSM應(yīng)用方面,主要針對(duì)Smartphone的應(yīng)用作了加 強(qiáng)。
8、Q:請(qǐng)問(wèn)MFC在Windows Mobile Development中處于什么地位?Douglas Boling寫(xiě)的Programming Microsoft Windows CE .NET一書(shū)中好像并不推崇使用MFC開(kāi)發(fā)Windows Mobile應(yīng)用程序。
A:MFC還是以本地C 的方式進(jìn)行開(kāi)發(fā),其特點(diǎn)是執(zhí)行效率高,但必須花費(fèi)更多的心思在資源分配、回收等編程技巧上。如果使用.NET Compact Framework進(jìn)行開(kāi)發(fā),雖然執(zhí)行效率比本地程序略差,但整體而言,可移植性與靈活性都較好,而且不必為回收資源擔(dān)心,開(kāi)發(fā)者能夠?qū)W⒂谡嬲匾臉I(yè) 務(wù)邏輯流程。
9、Q:.NET Compact Framework 2.0與1.0有什么區(qū)別?
A:.NET Compact Framework 2.0主要針對(duì)1.0原有的控件及類庫(kù)進(jìn)行了改善,提供了更多的支持,并新增了許多類型和控件,.NET Compact Framework 2.0更加接近.NET Framework,同時(shí)在效率上也相對(duì)1.0有所提升。
10、Q:在制作安裝程序的時(shí)候,如何在start->program菜單中生成程序的快捷方式?
A:在VS 2005中建立Smart Device Cab Project,在File System頁(yè)面中,可以看到Application Folder,這就是Start->Program的位置,可以先建立Primary Output的快捷方式,然后將此快捷方式移到Programs Folder,并構(gòu)建Cab文件即可。
11、Q:移動(dòng)設(shè)備與WEB網(wǎng)頁(yè)設(shè)計(jì)有什么主要區(qū)別?
A:Visual Studio開(kāi)發(fā)環(huán)境中移動(dòng)設(shè)備與Web設(shè)計(jì)是非常類似的 ,可以使用同樣的語(yǔ)言進(jìn)行設(shè)計(jì), 不同的只是能夠使用的類以及控件有所區(qū)別。
12、Q:.NET Compact Framework中可以實(shí)現(xiàn)鼠標(biāo)的雙擊、右擊、中間鍵單擊等用戶事件嗎?
A:運(yùn)行Windows Mobile的設(shè)備沒(méi)有鼠標(biāo),所以這些事件也不存在。對(duì)于常用的右鍵彈出上下文相關(guān)菜單,在觸摸屏上一般用單擊并且按住一段時(shí)間來(lái)實(shí)現(xiàn)。
13、Q:Mobile應(yīng)用程序的界面處理可以使用CSS樣式表嗎?
A:不可以。
14、Q:Smartphone上面能夠支持橫屏幕嗎?
A:不支持。
15、Q:如何在Pocket PC中調(diào)整控件的位置使得應(yīng)用程序可以支持橫向屏幕?
A:可通過(guò)設(shè)置控件的Anchor和Dock屬性來(lái)自適應(yīng)屏幕。
16、Q:界面開(kāi)發(fā)完成后,在移植方面需要注意些什么?
A:一般來(lái)說(shuō),要移植到不同平臺(tái)上必需要重新設(shè)計(jì)用戶界面;可以重用的只是業(yè)務(wù)邏輯,不是用戶界面。
17、Q:我在移動(dòng)開(kāi)發(fā)過(guò)程中用到了很多控件,難以在一頁(yè)之內(nèi)顯示,如何為它們添加一個(gè)滾動(dòng)條?
A:可以將這些控件放到一個(gè)Panel中,并設(shè)置其AutoScroll屬性為true即可;如果使用VS2005,拖拽數(shù)據(jù)源到窗體上時(shí),會(huì)自動(dòng)將所有控件包括在一個(gè)Panel里。
18、Q:TableAdapter在.NET Compact Framework 1.0中從未出現(xiàn)過(guò),是新特性嗎?
A:是的,TableAdapter是.NET Compact Framework 2.0中新增加的。
19、Q:SQL Mobile帶有像SQL Server那樣企業(yè)管理器嗎?Visual Studio 2005支持在桌面上直接查看SQL Mobile的數(shù)據(jù)庫(kù)嗎?
A:您可以通過(guò)SQL Server 2005的企業(yè)管理器連接到SQL Mobile數(shù)據(jù)庫(kù)進(jìn)行編輯。Visual Studio 2005也支持在桌面上創(chuàng)建或修改SQL Mobile數(shù)據(jù)庫(kù)文件。
20、Q:提交成功后如何取消保存?
A:目前BindingSource尚不支持事務(wù),因此提交成功后是沒(méi)有辦法再undo的
21、Q:移動(dòng)設(shè)備內(nèi)存較小,填充DataSet是否有大小限制?
A:DataSet在邏輯上并沒(méi)有對(duì)大小的限制。但是DataSet的大小必須小于當(dāng)前前的可用內(nèi)存,否則會(huì)有內(nèi)存分配不成功的異常出現(xiàn)。
22、Q:如果數(shù)據(jù)源中的數(shù)據(jù)在顯示前需要處理(例如格式轉(zhuǎn)換),可以使用DataBinging嗎?
A:BindingSource是直接將DataSet與控件進(jìn)行關(guān)聯(lián),所以如果需要進(jìn)行其他操作的話,就不能使用 BindingSource。或者,可以在訪問(wèn)數(shù)據(jù)庫(kù)后,先在DataSet里對(duì)需要轉(zhuǎn)換的數(shù)據(jù)進(jìn)行必要的處理之后,再進(jìn)行顯示。
23、Q:DataSet實(shí)際上在內(nèi)存中產(chǎn)生了一套數(shù)據(jù)副本,如何解決版本控制的問(wèn)題?
A:DataSet本身不存在版本控制的問(wèn)題。在把數(shù)據(jù)提交回SQL Mobile的時(shí)候,的確需要有一些機(jī)制來(lái)保證修改完成的數(shù)據(jù)應(yīng)該是最新的,但是DataSet本身的數(shù)據(jù)結(jié)構(gòu)是不會(huì)發(fā)生變化的。
24、Q:能否通過(guò)Pocket PC上的程序更新服務(wù)器上的數(shù)據(jù)庫(kù)信息?
A:可以。可以使用SQL Mobile中的RDA或者是合并復(fù)制的方法和遠(yuǎn)程SQL Server數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步或更新。具體的實(shí)現(xiàn)可以參考SQL Server相關(guān)部分的文檔。
25、Q:SQL Mobile一定要要安裝在移動(dòng)設(shè)備上嗎?
A:是的。SQL Mobile需要安裝在Windows Mobile或者Windows CE設(shè)備上。
26、Q:SQL Moble支持存儲(chǔ)過(guò)程嗎?
A:目前還不支持。
27、Q:SQL Mobile必須和應(yīng)用程序部署在同一臺(tái)設(shè)備上嗎?可否遠(yuǎn)程連接?它是否是一個(gè)文本數(shù)據(jù)庫(kù)?
A:是的。SQL Mobile必須和應(yīng)用程序部署在同一個(gè)設(shè)備上,現(xiàn)在還不支持遠(yuǎn)程連接。SQL Mobile是一個(gè)文件數(shù)據(jù)庫(kù),但不是一個(gè)文本數(shù)據(jù)庫(kù)。
28、Q:能不能在一些應(yīng)用中以XML替代SQL的作用?
A:可以的。XML的查詢效率比SQL Mobile要低,但是在數(shù)據(jù)比較少的情況下不需要安裝更多的組件,這是XML的一個(gè)優(yōu)勢(shì)。
29、Q: Tableadapter與DataAdapter之間有何區(qū)別?DataAdapter是多個(gè)TableAdapter的組合嗎?
A:不是的,TableAdapter是對(duì)DataAdapter的一個(gè)擴(kuò)展,TableAdapter本身包括了對(duì)應(yīng)數(shù)據(jù)表的信息。 TableAdapter完成從數(shù)據(jù)庫(kù)連接、執(zhí)行SQL語(yǔ)句到將結(jié)果填充到DataSet中的一個(gè)完整操作,而DataAdapter只支持?jǐn)?shù)據(jù)填充的操 作。
30、Q:做了SQL Moblie的sdf文件后,Publications后的數(shù)據(jù)庫(kù)表中會(huì)出現(xiàn)msrepl_tran_version或rowguid字段,這是為什么?
A:這兩個(gè)字段是為了保證數(shù)據(jù)同步,由系統(tǒng)自動(dòng)添加的,請(qǐng)不要進(jìn)行修改。
31、Q:網(wǎng)上出了個(gè)Reflector反編譯工具,可以99%反編譯用C#開(kāi)發(fā)的EXE和DLL,怎么才能更好地保護(hù)應(yīng)用程序?
A:目前大部分應(yīng)用程序采用混淆和對(duì)關(guān)鍵字符串加密的方式,更好的方式可能還要繼續(xù)探討。
1、Q:SQL Mobile的SQL語(yǔ)法和SQL Server的語(yǔ)法有差異么?
A:SQL Mobile的語(yǔ)法和SQL Server的語(yǔ)法略有差異,可以從SQL Mobile的文檔中查找SQL Mobile具體支持哪些SQL語(yǔ)句。總的來(lái)說(shuō),對(duì)絕大部分的開(kāi)發(fā)來(lái)說(shuō),這些差異不會(huì)造成影響。
2、Q:SQL Mobile支持B/S模式嗎?
A:不支持。
3、Q:可以在.NET Compact Framework 1.0上訪問(wèn)由.NET Compact Framework 2.0產(chǎn)生的數(shù)據(jù)庫(kù)嗎?
A:SQL Mobile數(shù)據(jù)庫(kù)的格式和SQL Server CE 2.0是相同的,因此可以直接在.NET Compact Framework 1.0中進(jìn)行訪問(wèn)。
4、Q:SQL Mobile數(shù)據(jù)庫(kù)文件支持XCOPY嗎?可以簡(jiǎn)單地復(fù)制到其他Windows Mobile設(shè)備上嗎?
A:是的。SQL Mobile數(shù)據(jù)庫(kù)本身是一個(gè)文件數(shù)據(jù)庫(kù),直接復(fù)制到其他安裝了SQL Mobile支持組件的Windows Mobile設(shè)備或模擬器上就可以使用了。
5、Q:Visual Studio .NET 2003是否支持Windows Mobile 5.0的開(kāi)發(fā)?
A:不可以,如果開(kāi)發(fā)基于Windows Mobile 5.0的應(yīng)用程序請(qǐng)使用Visual Studio 2005。
6、Q:要想從傳統(tǒng)的PC程序員轉(zhuǎn)向到移動(dòng)設(shè)備的開(kāi)發(fā)上來(lái),需要在技術(shù)上作哪些準(zhǔn)備?
A:移動(dòng)設(shè)備的開(kāi)發(fā)對(duì)于基礎(chǔ)開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)技術(shù)的要求與PC上是相同的,只需要了解移動(dòng)設(shè)備在哪些方面與PC平臺(tái)有所不同即可。
7、Q:C#可以開(kāi)發(fā)Windows Moblie應(yīng)用程序嗎?
A:可以。
8、Q:如果獲取.NET Compact Framework 2.0的安裝程序并將其安裝到Windows Mobile 5.0設(shè)備中?
A:Visual Studio 2005提供了.NET Compact Framework 2.0安裝程序,在開(kāi)發(fā)部署時(shí)會(huì)自動(dòng)部署到移動(dòng)設(shè)備上。
9、Q:Windows Mobile 5.0中沒(méi)有集成.NET Compact Framework 2.0,是不是生成的應(yīng)用程序安裝包就應(yīng)該帶上.NET Compact Framework 2.0?
A:技術(shù)上來(lái)說(shuō)是的。但能否在應(yīng)用程序中提供.NET Compact Framework 2.0取決于微軟對(duì)此的授權(quán)情況。