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

下載本文檔

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

文檔簡介

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

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

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

4、的菜單中有缺省菜單,就是在屏幕底部有個菜單控件,可以通過增加菜單項(xiàng)的方式增加菜單。需要注意的是,一級菜單只能有兩個,而且設(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è)備對話框V2”。使用控件的方式和Windows窗體的設(shè)計(jì)沒有什么不同。4 調(diào)試調(diào)試程序的方式同普通的程序調(diào)試差別不大,也通過單步調(diào)試等等的功能。唯一的差別就在于調(diào)試中程序在仿真器中運(yùn)行。4.1 其他文件在調(diào)試中,程序

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

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

7、”,把文件拷貝到可執(zhí)行程序所在的運(yùn)行目錄下。5 移動數(shù)據(jù)庫在這個項(xiàng)目中,使用的是微軟的SQL SERVER Mobile Compact Editor 3.5。其他的數(shù)據(jù)庫還沒有使用過。僅僅就SQL SERVER Mobile Compact Editor 3.5的使用方法說明。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ù)庫文件密碼的功能。也可以使用其他版本的SQL SERVER MOBILE替代。5.2 在SQL SERVER MANAGER STUDIO中使用SQL SERVER MOBILE在登錄部分,服務(wù)器類型選擇“SQL SERVER MOBILE”,數(shù)據(jù)庫文件通過下拉框中的“瀏覽更多”選擇建立的數(shù)據(jù)庫文件,也可以通過選擇窗體中的“新建數(shù)據(jù)庫”建立新的數(shù)據(jù)庫。輸入數(shù)據(jù)庫密碼,即可登錄到SQL SERVER MOBILE數(shù)據(jù)庫中。需要說明的是,3.5版本建立的數(shù)據(jù)庫,在SQL SERVER MANAGE STUDIO 2005中可能無法登錄。5.3 Sq

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

10、。但是如果使用PDA訪問SQL SERVER MOBILE,注意Windows Mobile中不包含數(shù)據(jù)庫引擎,需要額外的安裝四個包。如果不安裝這四個包,程序?qū)o法連接和讀取SQL SERVER MOBILE數(shù)據(jù)庫。這四個包在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將這四個文件拷貝到仿真器上,并安裝。安裝后,PDA的程序中增加了三個程序: sqlservercompact 3.5 ReplSqlserverCompact 3.5 Tools CNSqlserverCompact 3.5 Core當(dāng)不用移動數(shù)據(jù)庫時,可以卸載這三個程序。6 智能設(shè)備連接操作PC數(shù)據(jù)庫智能設(shè)備操作PC數(shù)據(jù)庫,有兩種方式:一種是通過無線連接,一種是通過USB連接到電腦上。無線連接在普通環(huán)境下使用普遍性不足,很多情況下是通過USB數(shù)據(jù)線進(jìn)行連接的。使用USB數(shù)據(jù)線連接,PC電腦上需要安裝同步工具,目前使用較

12、多的為微軟的ActiveSync,下載地址是;智能設(shè)備和PC同步后,就可以把智能設(shè)備看作一臺電腦,可以連接數(shù)據(jù)庫。7 數(shù)據(jù)庫連接字符串7.1 Sql server mobile在工程中增加引用,引用System.data.sqlserverCe類中使用命名空間:System.data.sqlserverCe數(shù)據(jù)庫鏈接類名、命令類名及記錄集類名中都使用包含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ù)庫文件string sFilePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + ""/連接sql server Mobile數(shù)據(jù)庫的連接字符串string ConnStr = "Data Source=" + sFilePath + "Persist Security Info=False;password=admin;"/

15、建立鏈接ConnMobile = new SqlCeConnection(ConnStr);tryConnMobile.Open();catch (Exception ex)MessageBox.Show("不能正確連接移動數(shù)據(jù)庫!" + 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、;沒有需要上傳的數(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("無法連接到指定的PC數(shù)據(jù)庫!" + ex.Message);return;C#最簡單最完整的webservice實(shí)例  我做java,但最近接觸crm所以必須研究一下C#中的webservice以備后用,其實(shí)就是個新手,哈哈,這個實(shí)例是我在參考了網(wǎng)上諸多不完整的例子的情況下,自己摸索完成的。期間遇到過一系列的棘手的問題,經(jīng)過個人努力終于解決了。我把整個步驟都寫完整了,以供以后像我這樣的C#新

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

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

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

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

25、.asmx 點(diǎn)擊前往即可: 然后 把往“Web引用名”中填入一個名字,我填的是kiss,這個名字比較重要,因?yàn)橄旅娴牟襟E中要使用他,當(dāng)然你可以任意,但請記住。 然后 在后臺中寫入調(diào)用的方法 頁面也加入觸發(fā)事件: 后臺代碼: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;  前臺代碼: <% 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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論