Navi.Soft31.WinCE框架.开发手册(含下载地址)

简介: 1.概述 1.1应用场景 随着物联网的普及,越来越多的制造商对货品从原料配备,加工生产,销售出库等环节的要求和把控越来越高.在此情况之下,传统的ERP软件已经无法满足现有的操作流程. 移动设备的应用,在很大程度上弥补了传统ERP软件的不足,在物联网中,也起着非常重要的角色.

1.概述

1.1应用场景

随着物联网的普及,越来越多的制造商对货品从原料配备,加工生产,销售出库等环节的要求和把控越来越高.在此情况之下,传统的ERP软件已经无法满足现有的操作流程.

移动设备的应用,在很大程度上弥补了传统ERP软件的不足,在物联网中,也起着非常重要的角色.

移动设备目前包括微软WinCE系统,谷歌的Android系统和苹果的IOS系统.Android和IOS系统目前在个人消费领域应用非常广泛,但在应用软件领域目前使用不多.WinCE系统出道较早,也属于名门之后.在此系统中开发的应用软件也很多

在此背景环境下,开发出基于微软WinCE系统的一套框架,供程序开发员使用

1.2面向对象

Net程序开发员

1.3开发环境

本框架包含2部分

程序名称

开发环境

描述

WinCEFrame

VS2008+STANDARD_SDK.msi+

必须是VS2008和WinCE项目开发包.注:必须安装开发包,否则无法创建WinCE项目

WinCEFrame_WebService

VS2010或以上

创建项目类型是WebService.创建WebService项目类型必须是Net3.5,创建成功后,再升级至4.0即可

1.4框架特点

l 短小精悍, 通俗易懂,上手容易,入手简单

l 采用WebService桥接客户端和数据库,接口通用,可同时用于Net和Java

l 操作数据采用ORM,降低出错机率

l 统一错误捕捉机制

2解决方案

2.1WinCEFrame_WebService项目
2.1.1概述

服务端以WebService为主,用于与WinCE交互.WinCE软件中,根据业务逻辑代码,拼接好待上传至数据库的数据,通过服务端的WebService程序,保存至数据库.实现WinCE系统与数据库的交互

服务端程序目前支持SQLServer和Oracle这2种数据源.与客户端通过DataSet或DataTable这种ADO.Net结构传输数据.

2.1.2源码结构

如图2-1所示

clip_image002

图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所示

clip_image004

图2-2

l WinCEWebServiceTest

此项目专门用于测试WinCEWebService程序.测试页面只有一个

n 此项目需要引入WebService项目,在引用过程中,最好选择从本解决方案中引用WebService,这样的好处是可以直接调试.如图2-3所示

clip_image006

图2-3

n PageTestWebService.aspx

测试页面中,创建若干按钮.分别调用WebService中方法.如图2-4和图2-5所示

clip_image008

图2-4

clip_image010

图2-5

若测试成功,则提示如图2-6所示页面

clip_image012

图2-6

2.2WinCEFrame项目
2.2.1概述

客户端是WinCE类型的项目,即运行在WinCE设备上的应用程序,它与数据库交流通过WinCEService端生成的WebService交互,目前支持SQLServer和Oracle数据库.

在客户端应用程序中,采用ORM方式操作数据,弃用DataTable的ADO.Net数据结构,这样可以减少数据操作过程中出现的错误,如数据类型间转换,属性赋值等

2.2.2源码结构

clip_image014

图2-7

2.2.2.1NS.Core项目

clip_image016

图2-8

核心类库,存储各种常用方法,通用接口等.是所有项目的基础

n Base文件夹,存储基类文件.如实体基类,帮助基类等

n Component文件夹,存储组件基类.目前仅包括数据库组件

n 根文件夹,存储各种帮助类.如DataTable对象帮助类,字符串对象帮助类等

2.2.2.2NS.Component.DataBase项目

clip_image018

图2-9

数据库组件,目前支持对SQLite数据库操作,同时将实体类转译为SQLServer和Oracle数据库的SQL语句,用于将业务实体保存至数据库,通过WebService

2.2.2.3NS.Control.WinCE项目

clip_image020

图2-10

存储对WinCE常用控件的操作.如ComboBox下拉菜单数据源加载,选中项的取值和赋值.Grid列表控件的数据源加载等.代码比较简单,不再描述

2.2.2.4NS.Utility.WinCE项目

clip_image022

图2-11

对设备各种功能的封装,还有对WebService的封装.WinCE设备主要用于各种扫描,包括RFID标签扫描和条形码描述,而每个设备,由于型号,厂商均不相同,它们的实现方式均不同.此处,设置一个通用接口和工厂和,来完成扫描功能

目前功能包括条形码扫描和RFID标签扫描.注:项目文件说明请参考:ReadMe文件

当前已内置部分硬件厂商的条码扫描设备和RFID扫描设备.分别如下图所示

clip_image023

图2-11-1

clip_image024

图2-11-2

2.2.2.5NS.Soft30.Frame.WinCEApp项目

clip_image026

图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 应用程序配置项

clip_image028

图-13

Ø DevCode:表示设备编码.整个局域网内此值必须唯一

Ø DevType:表示设备类型.包括真实设备型号和虚拟设备(virtual关键字).虚拟设备表示模拟真实设备功能,在没有真实设备的情况下,应用程序也可以运行

Ø DebugMode:调试模式.值为True或Flase.若为True,表示开启调试模式

Ø WSUrl:WebService地址

Ø SQLiteFileName:SQLite数据库文件名称.注:文件名称,不含路径

n FormFrame和FormLogon类

u 系统主页面和登录页面

clip_image030

图2-14

clip_image032

图2-15

n 其他页面

clip_image034

图2-16

clip_image036

图2-17

3.源码解析

3.1ORM操作

clip_image038

图-18

3.2提交WebService

clip_image039

图-19

3.3加载数据

clip_image041

图-20

 

下载地址(注:拷贝至WinCE中直接可以运行,在Windows中也可以直接运行)

在线帮助

相关文章
|
2月前
|
IDE Java 开发工具
【C/C++】C/C++编程——C++ 开发环境搭建
【C/C++】C/C++编程——C++ 开发环境搭建
58 0
|
JavaScript 开发工具 开发者
openHarmony开发环境搭建
从今天开始正式写openHarmony相关的文章,经过一段时间的沉淀,学习之路漫漫,不断地学习才是王道,熟话说万事开头难,安装软件应该是学习的第一道坎,废话不多说了,看内容了~~
258 0
openHarmony开发环境搭建
|
传感器 API 调度
openHarmony系统简介
今天带大家了解一下openHarmony系统,很多人可能听说过Harmony OS,今天要介绍的openHarmony系统就是Harmony OS的抽象,即基础版的,鸿蒙系统最终要实现的就是脱离安卓系统成为一个独立的系统,目前的环境使得鸿蒙系统仍然需要兼容安卓,故openHarmony诞生了,为了更好的进行过渡,同时也为更好的宣传鸿蒙系统。
616 0
openHarmony系统简介
|
Java Linux 计算机视觉
全网首发:LINUX OpenCV编译java/jar版本注意事项
全网首发:LINUX OpenCV编译java/jar版本注意事项
311 0
|
Java iOS开发 MacOS
【技术分享】MacOS卸载JDK环境/JAVA
【技术分享】MacOS卸载JDK环境/JAVA
471 0
|
数据可视化 Java Android开发
JDAX-GUI 反编译工具下载使用以及相关技术介绍
反编译工具有很多种,我推荐JADX,后续有更好的反编译工具我会继续补充
452 0
JDAX-GUI 反编译工具下载使用以及相关技术介绍
|
开发工具
jetbrains开发工具版本下载整理
jetbrains开发工具版本下载整理
jetbrains开发工具版本下载整理
|
Oracle Java 关系型数据库
第一篇: openJDK源码编译安装--mac版本
想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译一套JDK,通过阅读和跟踪调试JDK源码去了解Java技术体系的原理,虽然门槛高一点,但肯定比阅读各种书籍,文章,博客更在贴切一点,另外,JDK的很多方法都是本地化(Native)的,需要跟踪这些方法的运作或对JDK进行Hack的时候,都需要自己编译一套JDK。
591 0
第一篇: openJDK源码编译安装--mac版本
|
XML 缓存 运维
JDK 工具一览
Java 坑如此大,需要慢慢填。 本文是列出JDK自带的一些工具,介于篇幅,简单列出工具列表及工具的作用。至少先做到知道有哪些工具,然后才能在实际中用到。
784 0