VS2008中開發(fā)手持終端程序_第1頁(yè)
VS2008中開發(fā)手持終端程序_第2頁(yè)
VS2008中開發(fā)手持終端程序_第3頁(yè)
VS2008中開發(fā)手持終端程序_第4頁(yè)
VS2008中開發(fā)手持終端程序_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、VS2008中開發(fā)手持終端程序(PDA手機(jī)軟件)的項(xiàng)目總結(jié)1程序結(jié)構(gòu)程序中包括四個(gè)部分:1.系統(tǒng)配置這個(gè)部分用來(lái)配置系統(tǒng)中的相關(guān)參數(shù),參數(shù)包括數(shù)據(jù)庫(kù)信息和串口的配置信息。這部分的主要技術(shù)是XML文件的讀取和寫入。2.數(shù)據(jù)下載從數(shù)據(jù)庫(kù)中下載數(shù)據(jù)到PDA,PDA上的保存也是使用數(shù)據(jù)庫(kù)。這部分的技術(shù)主要是PDA設(shè)備上的移動(dòng)數(shù)據(jù)庫(kù)開發(fā)和使及用PDA連接PC數(shù)據(jù)庫(kù)3.數(shù)據(jù)上傳把PDA上的數(shù)據(jù)上傳到PC數(shù)據(jù)庫(kù)中,使用的技術(shù)和2相同。4.GPS數(shù)據(jù)獲取通過(guò)外置藍(lán)牙GPS模塊獲取當(dāng)時(shí)所在位置的經(jīng)緯度,并將經(jīng)緯度保存在PDA上的移動(dòng)數(shù)據(jù)庫(kù)中。涉及到的技術(shù)有串口數(shù)據(jù)的讀取,GPS數(shù)據(jù)的解析。2 開發(fā)環(huán)境軟件環(huán)境:

2、 Visual studio 2008PC數(shù)據(jù)庫(kù): sql server智能設(shè)備: Windows Mobile 63 建立工程3.1 建立項(xiàng)目建立工程的過(guò)程和VS建立其他工程步驟相同,通過(guò)vs2008中的菜單“文件新建項(xiàng)目 ”,建立一個(gè)新項(xiàng)目。VS2008已經(jīng)集成了智能設(shè)備的開發(fā)環(huán)境,根據(jù)開發(fā)語(yǔ)言的不同,在不同的開發(fā)語(yǔ)言樹中選擇“智能設(shè)備”,下方的名稱中填寫項(xiàng)目名稱,點(diǎn)擊“確定”按鈕,就建立了一個(gè)智能設(shè)備的程序項(xiàng)目。3.2 建立調(diào)試環(huán)境VS2008中已經(jīng)包括了智能設(shè)備的仿真程序,編寫的程序可以通過(guò)PC機(jī)上的仿真程序進(jìn)行調(diào)試,不必在PDA上逐個(gè)調(diào)試程序。建立項(xiàng)目后,通過(guò)菜單“項(xiàng)目項(xiàng)目屬性”中的

3、“設(shè)備”頁(yè)中設(shè)置調(diào)試內(nèi)容。在下拉框中,選擇目標(biāo)設(shè)備的類型。類型的選擇要根據(jù)PDA的操作系統(tǒng)進(jìn)行確定,PDA上如果是中文操作系統(tǒng),請(qǐng)選擇“CHS”打頭的選項(xiàng)。具體如何選擇,請(qǐng)根據(jù)PDA的操作系統(tǒng)進(jìn)行。如果對(duì)選項(xiàng)中的內(nèi)容不了解,請(qǐng)查閱其他資料。仿真程序的選擇和設(shè)置不僅僅只有這一種方式,也可以通過(guò)VS2008中的“工具設(shè)備仿真器管理器”進(jìn)行設(shè)置。3.3 繪制窗體智能設(shè)備的窗體和windows窗口的差別不是很大。在工程中選擇添加窗體后,VS中出現(xiàn)PDA屏幕模樣的模板。需要什么功能,在工具箱中把對(duì)應(yīng)的控件拖到模板上即可。這部分的開發(fā)和普通的Windows程序開發(fā)沒(méi)有什么不同。不同的部分就是菜單。智能設(shè)備

4、的菜單中有缺省菜單,就是在屏幕底部有個(gè)菜單控件,可以通過(guò)增加菜單項(xiàng)的方式增加菜單。需要注意的是,一級(jí)菜單只能有兩個(gè),而且設(shè)置的時(shí)候,只能先設(shè)置左邊的菜單項(xiàng)內(nèi)容,才能設(shè)置右邊菜單項(xiàng)內(nèi)容??丶氖褂靡彩怯袊?yán)格限制的。VS2008中能使用的控件分布在工具箱的“所有設(shè)備控件V2”、“公共設(shè)備控件 v2”、“設(shè)備容器 v2”、“設(shè)備菜單和工具欄V2”、“設(shè)備數(shù)據(jù)V2”、“設(shè)備組件V2”、“設(shè)備對(duì)話框V2”。使用控件的方式和Windows窗體的設(shè)計(jì)沒(méi)有什么不同。4 調(diào)試調(diào)試程序的方式同普通的程序調(diào)試差別不大,也通過(guò)單步調(diào)試等等的功能。唯一的差別就在于調(diào)試中程序在仿真器中運(yùn)行。4.1 其他文件在調(diào)試中,程序

5、如果只有一個(gè)EXE文件,而不涉及到其他文件,可以直接在仿真程序中運(yùn)行。但是如果程序還有其他文件的話,需要把文件也要部署到PDA仿真器上。如何部署其他文件,請(qǐng)參考下面步驟:1.通過(guò)仿真器上的菜單“文件配置”菜單設(shè)置共享文件夾。通過(guò)后面的按鈕,瀏覽電腦中的磁盤,并選擇恰當(dāng)?shù)哪夸?。“共享文件夾”在設(shè)置完成后,將作為PDA仿真器的擴(kuò)展存儲(chǔ)空間,仿真器中共享文件夾被命名為“Storage Card”。那么在仿真器中就可以直接操作共享文件夾中的文件。這時(shí)候,就可以把其他和程序相關(guān)的文件拷貝到需要的地方。下面以一個(gè)XML文件為例。這個(gè)XML和程序的可執(zhí)行程序在一個(gè)目錄下,用來(lái)保存程序的設(shè)置參數(shù)。XML文件在

6、電腦上,程序中通過(guò)讀取可執(zhí)行程序所在的目錄來(lái)指定XML文件的目錄。但是很不幸,仿真器在運(yùn)行過(guò)程中,認(rèn)為EXE可執(zhí)行程序在“program files/項(xiàng)目名稱”這個(gè)目錄下,這個(gè)目錄是仿真器中的路徑,肯定是不會(huì)找到XML文件的。這就需要把XML文件也放置到“program files/項(xiàng)目名稱”目錄下面去。在仿真器中點(diǎn)擊“開始資源管理器”,打開后選擇“Storage Card”。在這個(gè)里面通過(guò)目錄文件的方式選中文件,然后點(diǎn)擊下面的“菜單編輯復(fù)制”,將文件復(fù)制出來(lái)。然后通過(guò)仿真器界面上的文件目錄功能,找到“我的設(shè)備program files項(xiàng)目名稱”,進(jìn)入以項(xiàng)目名稱為名稱的目錄,通過(guò)“文件編輯粘帖

7、”,把文件拷貝到可執(zhí)行程序所在的運(yùn)行目錄下。5 移動(dòng)數(shù)據(jù)庫(kù)在這個(gè)項(xiàng)目中,使用的是微軟的SQL SERVER Mobile Compact Editor 3.5。其他的數(shù)據(jù)庫(kù)還沒(méi)有使用過(guò)。僅僅就SQL SERVER Mobile Compact Editor 3.5的使用方法說(shuō)明。5.1 獲得SQL SERVER Mobile Compact Editor 3.5SQL SERVER Mobile Compact Editor 3.5可以直接從微軟的網(wǎng)站上下載,網(wǎng)址為:下載后在電腦上進(jìn)行安裝。默認(rèn)安裝到C:/Program Files/Microsoft SQL Server Compact E

8、dition下。3.5版本為最新版,增加了設(shè)置數(shù)據(jù)庫(kù)文件密碼的功能。也可以使用其他版本的SQL SERVER MOBILE替代。5.2 在SQL SERVER MANAGER STUDIO中使用SQL SERVER MOBILE在登錄部分,服務(wù)器類型選擇“SQL SERVER MOBILE”,數(shù)據(jù)庫(kù)文件通過(guò)下拉框中的“瀏覽更多”選擇建立的數(shù)據(jù)庫(kù)文件,也可以通過(guò)選擇窗體中的“新建數(shù)據(jù)庫(kù)”建立新的數(shù)據(jù)庫(kù)。輸入數(shù)據(jù)庫(kù)密碼,即可登錄到SQL SERVER MOBILE數(shù)據(jù)庫(kù)中。需要說(shuō)明的是,3.5版本建立的數(shù)據(jù)庫(kù),在SQL SERVER MANAGE STUDIO 2005中可能無(wú)法登錄。5.3 Sq

9、l server mobile數(shù)據(jù)庫(kù)中建立數(shù)據(jù)表Sql server mobile中建表可以通過(guò)sql server manage studio 2005中的建表向?qū)нM(jìn)行建表,也可以通過(guò)sql語(yǔ)句進(jìn)行建表。建表的時(shí)候需要注意字段類型和sql server中的字段類型并不相同,在sql server中能使用的字段類型,在sql server mobile中可能無(wú)法使用,在建表的過(guò)程中需要注意這點(diǎn)。5.4 在智能設(shè)備上部署sql server Mobile數(shù)據(jù)庫(kù)把建好的數(shù)據(jù)庫(kù)文件通過(guò)4.1中描述的方式,拷貝到相應(yīng)的仿真器目錄下。這時(shí)候仿真器就可以連接并操作SQL SERVER MOBILE數(shù)據(jù)庫(kù)了

10、。但是如果使用PDA訪問(wèn)SQL SERVER MOBILE,注意Windows Mobile中不包含數(shù)據(jù)庫(kù)引擎,需要額外的安裝四個(gè)包。如果不安裝這四個(gè)包,程序?qū)o(wú)法連接和讀取SQL SERVER MOBILE數(shù)據(jù)庫(kù)。這四個(gè)包在sql server mobile安裝目錄下,具體的是C:/Program Files/Microsoft SQL Server Compact Edition/v3.5/Devices/wce500/armv4i目錄下面,包括:sqlce.dev.CHS.ppc.wce5.armv4i.CABsqlce.ppc.wce5.armv4i.CABsqlce.repl.ppc

11、.wce5.armv4i.CABsqlce.wce5.armv4i.CAB將這四個(gè)文件拷貝到仿真器上,并安裝。安裝后,PDA的程序中增加了三個(gè)程序: sqlservercompact 3.5 ReplSqlserverCompact 3.5 Tools CNSqlserverCompact 3.5 Core當(dāng)不用移動(dòng)數(shù)據(jù)庫(kù)時(shí),可以卸載這三個(gè)程序。6 智能設(shè)備連接操作PC數(shù)據(jù)庫(kù)智能設(shè)備操作PC數(shù)據(jù)庫(kù),有兩種方式:一種是通過(guò)無(wú)線連接,一種是通過(guò)USB連接到電腦上。無(wú)線連接在普通環(huán)境下使用普遍性不足,很多情況下是通過(guò)USB數(shù)據(jù)線進(jìn)行連接的。使用USB數(shù)據(jù)線連接,PC電腦上需要安裝同步工具,目前使用較

12、多的為微軟的ActiveSync,下載地址是;智能設(shè)備和PC同步后,就可以把智能設(shè)備看作一臺(tái)電腦,可以連接數(shù)據(jù)庫(kù)。7 數(shù)據(jù)庫(kù)連接字符串7.1 Sql server mobile在工程中增加引用,引用System.data.sqlserverCe類中使用命名空間:System.data.sqlserverCe數(shù)據(jù)庫(kù)鏈接類名、命令類名及記錄集類名中都使用包含Ce的類。具體代碼如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawi

13、ng;using System.Text;using System.Windows.Forms;using System.Data.SqlServerCe;using System.Data.SqlClient;namespace GPSDataReaderpublic partial class frmDamUp : FormSqlCeConnection ConnMobile;SqlCeCommand command;public frmDamUp()InitializeComponent();private void frmDamUp_Load(object sender, EventA

14、rgs e)/獲取可執(zhí)行程序所在目錄和數(shù)據(jù)庫(kù)文件string sFilePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + ""/連接sql server Mobile數(shù)據(jù)庫(kù)的連接字符串string ConnStr = "Data Source=" + sFilePath + "Persist Security Info=False;password=admin;"/

15、建立鏈接ConnMobile = new SqlCeConnection(ConnStr);tryConnMobile.Open();catch (Exception ex)MessageBox.Show("不能正確連接移動(dòng)數(shù)據(jù)庫(kù)!" + ex.Message);this.Close();command = new SqlCeCommand();command.Connection = ConnMobile;string sqlstr = "select * from DamInfo where IsUP='1'"command.Comm

16、andText = sqlstr ;SqlCeDataReader rs = command.ExecuteReader();while (rs.Read()ListViewItem lv_Item = new ListViewItem();lv_Item.Text = rs"RSID".ToString();lv_Item.SubItems.Add(rs"RSNM".ToString();lv_Item.SubItems.Add(rs"DMPRV".ToString();lv_Item.SubItems.Add(rs"DM

17、CT".ToString();lv_Item.SubItems.Add(rs"DMTW".ToString();lv_Item.SubItems.Add(rs"EL".ToString();lv_Item.SubItems.Add(rs"NL".ToString();lv_Item.SubItems.Add("未上傳");lv_DamInfo.Items.Add(lv_Item);rs.Close();if (lv_DamInfo.Items.Count = 0)MessageBox.Show("

18、;沒(méi)有需要上傳的數(shù)據(jù)!");this.Close();7.2 智能設(shè)備連接PC上的SQL SERVER智能設(shè)備不支持OLEDB連接方式,只能使用SQLSERVER .Net的連接方式。所以增加System.data.SqlClient引用。在需要連接的類中增加System.data.SqlClient命名空間。代碼如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;usi

19、ng System.Windows.Forms;using System.Data.SqlServerCe;using System.Data.SqlClient;private void b_Down_Click(object sender, EventArgs e)string sqlstr;string Connstr = "user id=sa;password=2centit13;initial catalog=DamBase;Server=" + ConfigInfo.IP + "Connect Timeout=30"SqlConnectio

20、n Conn = new SqlConnection(Connstr);tryConn.Open();catch (Exception ex)MessageBox.Show("無(wú)法連接到指定的PC數(shù)據(jù)庫(kù)!" + ex.Message);return;C#最簡(jiǎn)單最完整的webservice實(shí)例  我做java,但最近接觸crm所以必須研究一下C#中的webservice以備后用,其實(shí)就是個(gè)新手,哈哈,這個(gè)實(shí)例是我在參考了網(wǎng)上諸多不完整的例子的情況下,自己摸索完成的。期間遇到過(guò)一系列的棘手的問(wèn)題,經(jīng)過(guò)個(gè)人努力終于解決了。我把整個(gè)步驟都寫完整了,以供以后像我這樣的C#新

21、手少走彎路,程序很簡(jiǎn)單,過(guò)程有點(diǎn)長(zhǎng),希望有耐心,對(duì)于入門還是有些幫助的。如果博客中沒(méi)附上源碼的【原因可能沒(méi)法添加源碼】,可以留言或郵箱我來(lái)發(fā)送給大家。   一、環(huán)境 我的開發(fā)環(huán)境是xp的sp3,這個(gè)對(duì)于的要求是v2.0.50727 如果不是的話會(huì)報(bào)錯(cuò),可以到本地的C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i運(yùn)行即可。如果自己的已經(jīng)安裝過(guò)的就可以跳過(guò),否則在webservic的調(diào)試中會(huì)報(bào)一下錯(cuò):名稱以無(wú)效字符開頭。處理資源 'http:/localhost/ws/Service.asmx&#

22、39; 時(shí)出錯(cuò)。第 1 行,位置: 2 其次,需要安裝IIS,我測(cè)試的版本是iis5.1, 本來(lái)裝了iis6 但是用不了,所以版本也很重用,本人在次耗費(fèi)了部分心血。如果不清楚版本可以看看 百科里的描述以作決定的參考:  二、程序這個(gè)過(guò)程總共建立2個(gè)獨(dú)立的項(xiàng)目: 一個(gè)webservice 項(xiàng)目,一個(gè)調(diào)用。 1 建立和部署webservice 項(xiàng)目: 用vs2008新建webservicesT :注意是ASP.NET Web 服務(wù)應(yīng)用程序   之后系統(tǒng)會(huì)自動(dòng)生成一個(gè) 類似于helloworld的一個(gè)簡(jiǎn)單例子: 打開之后,可以看到 至此最簡(jiǎn)單的webservice就建立

23、好了。 我們不需要做任何事情,就用他來(lái)測(cè)試。   接著需要對(duì)整個(gè)工程 “生成”和發(fā)布。 生成 只要右鍵點(diǎn)擊項(xiàng)目選擇“生成”即可。發(fā)布也一樣,如下截圖。   把發(fā)布的文件拷到iis工作路徑中,并把這個(gè)文件夾 “web共享”。 在資源管理器中: web共享:  在iis中查看,我建的文件名為sv:    最后來(lái)查看一下是不是部署成功,可以在ie地址欄中輸入相關(guān)的url: 我涉及的url http:/localhost/sv/Service1.asmx 成功的話可以看到下面的截圖 然后點(diǎn)擊 “HelloWorld”鏈接 : 

24、60;然后點(diǎn)擊 “HelloWorld”鏈接 ,就可以最終的頁(yè)面顯示的xml內(nèi)容: 這樣表示整個(gè)webservice的建立和部署是成功的。      2 接下來(lái)建立 對(duì)webservice的調(diào)用調(diào)試。 我是建立了一個(gè)web應(yīng)用項(xiàng)目來(lái)調(diào)用測(cè)試的。 步驟跟建立webservice項(xiàng)目類似, 注意選擇好類型如圖:  其次,最重要的一步就是引用webservice , 項(xiàng)目右鍵選擇“添加web引用”,可以看到下圖:   填入之前建立的webservice 對(duì)應(yīng)的url ,此處是 http:/localhost/sv/Service1

25、.asmx 點(diǎn)擊前往即可: 然后 把往“Web引用名”中填入一個(gè)名字,我填的是kiss,這個(gè)名字比較重要,因?yàn)橄旅娴牟襟E中要使用他,當(dāng)然你可以任意,但請(qǐng)記住。 然后 在后臺(tái)中寫入調(diào)用的方法 頁(yè)面也加入觸發(fā)事件: 后臺(tái)代碼:using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlC

26、ontrols;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;  namespace wbcall public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) public string GetString() kiss.Service1 n = new kiss.Service1(); stri

27、ng ss = n.HelloWorld(); return ss;  前臺(tái)代碼: <% Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="wbcall._Default" %> <!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論