admin管理员组

文章数量:1652353

做了一个非常老的wince系统的PDA开发 在此记录一下遇到的一系列问题

环境:

PDAIntermec
PDA系统WINCE
PC操作系统windows XP
同步工具ActiveSync 4.5
虚拟机VM workstation 16pro
IDEVS2008

一开始是先尝试将PDA通过usb与win10系统的PC端进行连接,但是从网上找了一些做法都尝试了一遍还是没办法连接,所以最后只能尝试一下与xp系统的连接,在虚拟机上测试后发现可以。

1.首先去MSDN上下载了xp系统的虚拟机和VS2008

MSDN网址:https://msdn.itellyou/

2.将PDA与虚拟机进行连接测试

连接成功截图:

3.在虚拟机中安装VS2008并创建智能设备项目

注意:创建项目是目标平台一定要选择windows CE 不然后续将无法连接wince设备。
因为我所安装的XP系统所自带的输入法实在是会影响开发的速度,所有又在虚拟机上安装了32位的谷歌输入法,这个在网上一搜就能搜到。

4.测试vs2008与PDA的连接

这一步首先要将pda通过usb与虚拟机连接
然后再工具栏的最左边,选择WINCE设备,如图:

然后点击右边的小手机进行连接测试

这是连接成功的画面。
然后这样运行程序就可以直接显示到你的PDA上了

5.服务器连接问题

由于一开始是我是想用wince模拟器进行开发的,在开发过程中,试过各种方式都无法与服务器端进行连接,最后也是上网各种搜方法,终于意识到问题是模拟器没有连接网络,最后进行综合考虑避免更多问题的产生,选择直接连接PDA直接进行测试。
最后终于成功的连接了数据库。

6.数据访问方式的选择

首先是有两种选择:1.直接连接数据库 2.使用webservice的方法
第一直接在项目中连接数据库的方式,因为是framework3.5的版本 不能使用freesql 这样可能会导致后续开发会很麻烦,而且由于前期解决各种问题花费了大量的时间,需要尽快完成这个pda的开发,所以最后选择了使用webservice的方式,由我同事进行webservice接口的开发,然后我调用接口。
在添加web引用时还有一个问题,引用必须要使用IP地址进行引用。

7.解决调用webservice的接口所传的json字符串的转换问题

在调用接口后,接收到的是json的字符串,所以用到json字符串的引用包。
我首先是将我主机的vs2022的newtonsoft.json的引用包直接复制到智能设备中进行使用,但是发现是不能用,然后我又从网上找各种json字符串的helper也没成功。
最后我考虑到这个智能设备项目的开发肯定有一个专用的引用,最后上网一搜果然没错,是一个叫做Newtonsoft.Json.Compact 的引用包,我从网上下载下来然后添加到我的项目引用中去,终于是可以成功转换字符串了。

8.DataGrid的使用

在开发过程中因为需要用到datagrid,但是datagrid又与datagridview不同,比如自定义datagrid列头,
最后的解决方式是使用对象作为数据源,然后再tablestyles中进行绑定。
使用bindingsource进行数据操作,随便举个例子吧

//定义一个实体类
public class Person{
	public string Name{get;set;}
	public string Gender{get;set;}
	public Person(string name,string gender){
		this.Name=name;
		this.Gender=gender;
	}
}

BindingSource bs = new BindingSource();//声明一下工具类
bs.Add(new Person("张三","男"));//通过add向datagrid中添加对象数据
dataGrid1.DataSource=bs;//将bs作为datagrid的数据源

可以上网搜一下bindingSource的使用,网上说的比较全面。


解决完上面这些问题后,基本就可以正常的开发了。

最后再吐槽一下 真的是太老了 xp系统实在是太卡了 编译一下都得好几分钟

本文标签: 系统wincePDAXP