天天看點

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

随着物聯網的普及,越來越多的制造商對貨品從原料配備,加工生産,銷售出庫等環節的要求和把控越來越高.在此情況之下,傳統的ERP軟體已經無法滿足現有的操作流程.

移動裝置的應用,在很大程度上彌補了傳統ERP軟體的不足,在物聯網中,也起着非常重要的角色.

移動裝置目前包括微軟WinCE系統,谷歌的Android系統和蘋果的IOS系統.Android和IOS系統目前在個人消費領域應用非常廣泛,但在應用軟體領域目前使用不多.WinCE系統出道較早,也屬于名門之後.在此系統中開發的應用軟體也很多

在此背景環境下,開發出基于微軟WinCE系統的一套架構,供程式開發員使用

Net程式開發員

本架構包含2部分

程式名稱

開發環境

描述

WinCEFrame

VS2008+STANDARD_SDK.msi+

必須是VS2008和WinCE項目開發包.注:必須安裝開發包,否則無法建立WinCE項目

WinCEFrame_WebService

VS2010或以上

建立項目類型是WebService.建立WebService項目類型必須是Net3.5,建立成功後,再更新至4.0即可

l 短小精悍, 通俗易懂,上手容易,入手簡單

l 采用WebService橋接用戶端和資料庫,接口通用,可同時用于Net和Java

l 操作資料采用ORM,降低出錯機率

l 統一錯誤捕捉機制

2.1.1概述

服務端以WebService為主,用于與WinCE互動.WinCE軟體中,根據業務邏輯代碼,拼接好待上傳至資料庫的資料,通過服務端的WebService程式,儲存至資料庫.實作WinCE系統與資料庫的互動

服務端程式目前支援SQLServer和Oracle這2種資料源.與用戶端通過DataSet或DataTable這種ADO.Net結構傳輸資料.

2.1.2源碼結構

如圖2-1所示

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-1

l WinCEWebService

此項目為WebService類型項目.提供與資料庫互動的各種操作

n Provider檔案夾:提供對每個資料庫的操作.其中,對Oracle操作是采用Oracle.DataAccess.dll檔案.并不是微軟提供的

n WinCEWebService1.asmx檔案,用于實作WebService操作.方法包含如下:

方法名稱

TestConnectWebService

測試連接配接WebService服務是否成功

TestConnectDataBase

測試連接配接WebService中資料庫是否成功.注:資料庫連接配接字元串在Web.Config檔案中修改

GetDataTable

根據SQL語句,擷取資料集

ExecSqlScalar

根據SQL語句,擷取單行單列值.如某表資料個數

ExecSqlString

執行SQL語句,如Insert,Update,Delete語句

ExecSqlStringByTrans

批量執行SQL語句,如Insert,Update,Delete語句清單

SubmitUploadDataSet

送出自WinCE用戶端上傳的資料.此方法為預留方法,可以不使用

n Web.Config

此檔案為配置檔案,用于配置資料庫類型和連接配接字元串.配置如圖2-2所示

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-2

l WinCEWebServiceTest

此項目專門用于測試WinCEWebService程式.測試頁面隻有一個

n 此項目需要引入WebService項目,在引用過程中,最好選擇從本解決方案中引用WebService,這樣的好處是可以直接調試.如圖2-3所示

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-3

n PageTestWebService.aspx

測試頁面中,建立若幹按鈕.分别調用WebService中方法.如圖2-4和圖2-5所示

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-4

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-5

若測試成功,則提示如圖2-6所示頁面

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-6

2.2.1概述

用戶端是WinCE類型的項目,即運作在WinCE裝置上的應用程式,它與資料庫交流通過WinCEService端生成的WebService互動,目前支援SQLServer和Oracle資料庫.

在用戶端應用程式中,采用ORM方式操作資料,棄用DataTable的ADO.Net資料結構,這樣可以減少資料操作過程中出現的錯誤,如資料類型間轉換,屬性指派等

2.2.2源碼結構

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-7

2.2.2.1NS.Core項目

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-8

核心類庫,存儲各種常用方法,通用接口等.是所有項目的基礎

n Base檔案夾,存儲基類檔案.如實體基類,幫助基類等

n Component檔案夾,存儲元件基類.目前僅包括資料庫元件

n 根檔案夾,存儲各種幫助類.如DataTable對象幫助類,字元串對象幫助類等

2.2.2.2NS.Component.DataBase項目

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-9

資料庫元件,目前支援對SQLite資料庫操作,同時将實體類轉譯為SQLServer和Oracle資料庫的SQL語句,用于将業務實體儲存至資料庫,通過WebService

2.2.2.3NS.Control.WinCE項目

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-10

存儲對WinCE常用控件的操作.如ComboBox下拉菜單資料源加載,選中項的取值和指派.Grid清單控件的資料源加載等.代碼比較簡單,不再描述

2.2.2.4NS.Utility.WinCE項目

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-11

對裝置各種功能的封裝,還有對WebService的封裝.WinCE裝置主要用于各種掃描,包括RFID标簽掃描和條形碼描述,而每個裝置,由于型号,廠商均不相同,它們的實作方式均不同.此處,設定一個通用接口和工廠和,來完成掃描功能

目前功能包括條形碼掃描和RFID标簽掃描.注:項目檔案說明請參考:ReadMe檔案

目前已内置部分硬體廠商的條碼掃描裝置和RFID掃描裝置.分别如下圖所示

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-11-1

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-11-2

2.2.2.5NS.Soft30.Frame.WinCEApp項目

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-12

此項目包括登入和首頁面,可直接使用.App.Config.xml檔案是描述應用程式各種配置選項,如WebService位址.裝置編碼等

n Base檔案夾

u FormBase為所有頁面基類,主要功能實作對條形碼和RFID标簽的掃描,直接在基類頁面中封裝

u FormException為應用程式異常捕獲頁面,在系統遇到異常時,均調用此頁面展示錯誤資訊

n Business檔案夾

u AppManager類為應用程式幫助類,用于存儲通用的SQL語句,驗證登入資訊等

n Entities檔案夾

u 存儲應用程式用到的實體類.如ba_user表示使用者表實體類

n Form檔案夾

u 存儲應用程式業務頁面

n Images檔案夾

u 存儲應用程式用到的圖檔

n App.Config.xml

u 應用程式配置項

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖-13

Ø DevCode:表示裝置編碼.整個區域網路内此值必須唯一

Ø DevType:表示裝置類型.包括真實裝置型号和虛拟裝置(virtual關鍵字).虛拟裝置表示模拟真實裝置功能,在沒有真實裝置的情況下,應用程式也可以運作

Ø DebugMode:調試模式.值為True或Flase.若為True,表示開啟調試模式

Ø WSUrl:WebService位址

Ø SQLiteFileName:SQLite資料庫檔案名稱.注:檔案名稱,不含路徑

n FormFrame和FormLogon類

u 系統首頁面和登入頁面

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-14

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-15

n 其他頁面

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-16

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖2-17

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖-18

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖-19

Navi.Soft31.WinCE架構.開發手冊(含下載下傳位址)

圖-20

<a href="http://www.navisoft.com.cn/Document/Help/WinCEFrame.pdf" target="_blank">線上幫助</a>