下面把做的第一个Mobile开发小项目的代码贴出来,共享之。
项目功能描述:
1. 做一个Web Service,提供查询远程服务端数据以及将本地修改后的数据提交给远程服务端的功能;
2. Mobile程序调用该Web Service,将远程数据缓存到本地,在本地进行修改,然后一次性提交过去;
要求:不要使用任何Compact Framework提供的RDA或Replication数据同步功能。
实施步骤1:提供所需的Web Service
假定我们的远程数据保存在SQL Server 2005的一个数据库中。
在以下代码中,我定义的Web method既有返回DataSet对象的,也有交错字符串数组的。这两者都可以被很好的序列化和反序列化。
该Web Service使用ASP.NET编写。
鉴于为了减少通过Web Service传递的数据量,我们提供了两种返回值的Web Method,相应的有2种提交更改的方式。
注意在使用数组传递数据时,我为什么不用二维数组,而选择交错数组呢?而且这里的交错数组没一个数组的维数都是相同的。主要是由于如果使用二维数组,在获取维数上很麻烦,如string[,] empsArr = new string[2, 3],我在使用传递过来的empsArr对象时,如果不额外的传递一个维数参数,我根本就没法知道这个东西是几行的(几列是可以知道的,因为这个是因需要固定的,而行数却是变化的。);采用交错数组可以很方便的获取维数:
string[][] empsArr = new string[][3];
int length = empsArr.Length;
我