Navi.Soft31.WinCE框架.开发手册(含下载地址)
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所示

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

图2-2
l WinCEWebServiceTest
此项目专门用于测试WinCEWebService程序.测试页面只有一个
n 此项目需要引入WebService项目,在引用过程中,最好选择从本解决方案中引用WebService,这样的好处是可以直接调试.如图2-3所示

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

图2-4

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

图2-6
2.2WinCEFrame项目
2.2.1概述
客户端是WinCE类型的项目,即运行在WinCE设备上的应用程序,它与数据库交流通过WinCEService端生成的WebService交互,目前支持SQLServer和Oracle数据库.
在客户端应用程序中,采用ORM方式操作数据,弃用DataTable的ADO.Net数据结构,这样可以减少数据操作过程中出现的错误,如数据类型间转换,属性赋值等
2.2.2源码结构

图2-7
2.2.2.1NS.Core项目

图2-8
核心类库,存储各种常用方法,通用接口等.是所有项目的基础
n Base文件夹,存储基类文件.如实体基类,帮助基类等
n Component文件夹,存储组件基类.目前仅包括数据库组件
n 根文件夹,存储各种帮助类.如DataTable对象帮助类,字符串对象帮助类等
2.2.2.2NS.Component.DataBase项目

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

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

图2-11
对设备各种功能的封装,还有对WebService的封装.WinCE设备主要用于各种扫描,包括RFID标签扫描和条形码描述,而每个设备,由于型号,厂商均不相同,它们的实现方式均不同.此处,设置一个通用接口和工厂和,来完成扫描功能
目前功能包括条形码扫描和RFID标签扫描.注:项目文件说明请参考:ReadMe文件
当前已内置部分硬件厂商的条码扫描设备和RFID扫描设备.分别如下图所示

图2-11-1

图2-11-2
2.2.2.5NS.Soft30.Frame.WinCEApp项目

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

图-13
Ø DevCode:表示设备编码.整个局域网内此值必须唯一
Ø DevType:表示设备类型.包括真实设备型号和虚拟设备(virtual关键字).虚拟设备表示模拟真实设备功能,在没有真实设备的情况下,应用程序也可以运行
Ø DebugMode:调试模式.值为True或Flase.若为True,表示开启调试模式
Ø WSUrl:WebService地址
Ø SQLiteFileName:SQLite数据库文件名称.注:文件名称,不含路径
n FormFrame和FormLogon类
u 系统主页面和登录页面

图2-14

图2-15
n 其他页面

图2-16

图2-17
3.源码解析
3.1ORM操作

图-18
3.2提交WebService

图-19
3.3加载数据

图-20
下载地址(注:拷贝至WinCE中直接可以运行,在Windows中也可以直接运行)
Navi.Soft31.WinCE框架.开发手册(含下载地址)的更多相关文章
- Navi.Soft31.开发工具(含下载地址)
1系统简介 1.1功能简述 在软件开发过程中,我们需要经常对字符串.文件.数据库操作.有时需要浏览Json格式串,有时需要浏览Xml格式串,有时需要读取txt或excel文件,有时需要对数据库访问.本 ...
- ArcGIS Desktop 10.1+ArcEngine10.1完全破解安装教程(含下载地址+亲测可用!)
最近在二次开发中用到了VS2010+ArcGIS的二次开发模式,因为之前的某些原因,对ArcGIS的接触甚少.初次安装也遇到了很多问题,这里做一个总结. 系统环境 win732位操作系统 需要文件 ( ...
- Navi.Soft31.微信WinForm框架(含下载地址)
1.概述 1.1应用场景 微信的出现,改变了我们日常生活.而微信公众平台的出现,使我们每个人都可能成为一个品牌,微商的普及.微店越来越多.越来越多的人,借助微信公众平台,实现了自己的梦想 在此背景环境 ...
- Navi.Soft31.WinForm框架(含下载地址)
1概述 1.1应用场景 尽管互联网高速发展,互联网软件也随之越来越多,但桌面应用程序在某些领域中还是不可替代,如MIS,ERP,CRM等软件产品,同时,这类软件均包括一些通用的功能,如:与数据库操作, ...
- Navi.Soft31.代码生成器(含下载地址)
1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码都是相同的,只需修改10%的代码量.此时 ...
- Navi.Soft31.WebMVC框架(含示例地址)
1概述 1.1应用场景 互联网高速发展,互联网软件也随之越来越多,Web程序越来越被广泛使用.它部署简单,维护方便,深得众多软件公司使用 Bootstrap前端框架,是最近非常流行的框架之一.它简洁, ...
- 阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载
https://bbs.aliyun.com/read/306592.html?page=e 2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Java代码规范标准. 这 ...
- ubuntu容器化开发系统配置 相关下载地址(laravel)
ubuntu64位 18.04(开发使用桌面版本) Nginx PHP7.3 开发工具:PHPStorm 其他技术栈:laravel.VUE.NodeJs https://laravel.com/ h ...
- dzzoffice教程、文档、开发手册等内容地址
dzzoffice教程.文档.开发手册等内容全部都存放在DzzOffice开发者社区的文集中.搜索引擎收录不到DzzOffice中的应用内容,这里将文集地址提供在这里. 地址:http://dev.d ...
随机推荐
- 7 款顶级的开源 Web 分析软件
Web 分析无非就是 Web 流量的测量.但它并不限于测量网络流量,还包括: 分析 数据采集 为了了解和优化网页而上报网络数据 Google Analytics是最广泛使用的基于云的网络分析服务.不过 ...
- wifiphisher 钓鱼工具的使用
wifiphisher 钓鱼工具的使用一.简介 Wifiphisher是一个安全工具,具有安装快速.自动化搭建的优点,利用它搭建起来的网络钓鱼攻击WiFi可以轻松获得密码和其他凭证.与其它(网络钓鱼) ...
- JDK1.5新特性,基础类库篇,线程类(Thread)增强了哪些
java.lang.Thread类增强特性如下: 线程优先级已经更改.java.lang.Thread.MIN_PRIORITY = 1 java.lang.Thread.NORM_PRIORITY ...
- 用Duplex实现消息广播
WCF中定义3种消息交换模式: 1. Request/Reply; 2. One-Way; 3. Duplex. Request/Reply 是缺省模式,即同步调用.在调用服务方法后需要等待服务的消 ...
- 【Unity】11.7 布料
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Unity提供了两种布料组件:交互布料(Interactive Cloth).蒙皮布料(Skinned Cloth).为 ...
- lua -- 点击关闭窗口中的子界面
function UIBagController:initBoxView( ) self.panelBox = tolua.cast(UIHelper:seekWidgetByName(self.ow ...
- 每天一个linux命令(4) df命令
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命 ...
- Ubantu 使用extundelete恢复数据
所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速.有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几个数据恢复工具. 一.如何使用“rm -rf ...
- python2/3中 将base64数据写成图片,并将图片数据转为16进制数据的方法、bytes/string的区别
1.python2将base64数据写成图片,并将数据转为16进制字符串的方法 import binascii img = u'R0lGODlhagAeAIcAAAAAAAAARAAAiAAAzABE ...
- 【驱动】DM9000A网卡驱动框架源码分析
Linux网络设备结构 首先看一下Linux网络设备的结构,如下图: 网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发 ...