前几天和老师一起做了一个点餐的系统,分为PC端和移动平板端,我主写了Android客户端模块,服务器是C#写的,数据库服务器则使用了OData,本人对C#也不熟悉,所以对这个就不做介绍了,有兴趣的可以去这两个网站,有详细介绍
http://www.odata.org/,还有
http://msdn.microsoft.com/en-us/library/ff478141.aspx。
使用了一下感觉特别的舒服,使用不同的请求方式就可以对数据库进行CRUD的操作,这个相当方便哦,基本没有什么业务之类的,使用Struts,配置不知道写了多少行,ODATA只要服务架起来,想干什么就干什么了,不过,为了数据安全,还是建议用C/S模式比较和适。
由于请求比较繁琐,所以自己就封装了几个工具类来操作网络这一块,在这里分享下自己整理后的东西。
先介绍一下如何使用:
首先,创建实例:
private String host = "http://222.192.238.22:9000/wdsdiancan.svc";
private ODataCustomer customer = ODataCustomer.create(host);
这个就比较好理解了,主机地址,数据库;有了实例,就可以操作了。
1.查询数据(GET请求):
//从 DB_DISH表里,查询主键为 70001 的记录
customer.get("db_dish", "70001");
简单明了,相当的方便,返回的数据是JSON,使用工具类解析一下,数据就出来了。
如果觉得每次拿所有的数据太繁琐了,那就用这个方法:
//从 DB_DISH表里,查询主键为 70001记录的name字段的值
customer.get("db_dish", "70001", new String[] { "name" });
是不是感觉有点小兴奋呢?呵呵,这个很好用的。
如果想拿多条的数据就用下面的方法:
//把DB_DISH表里的记录全部返回
customer.list("db_dish");
同样是JSON数据,放在一个JSONARRAY里的,你可以根据你的情况来解析的。
//把DB_DISH表里的全部记录的NAME字段值返回
customer.list("db_dish", new String[] { "name" });
好了,如果你觉得这样查询还不爽,那看看下面的:
//把DB_DISH表里的全部记录的type 字段值 为 1 的记录全部返回
customer.list("db_dish", "type eq 1");
好了这个够清楚了吧!还支持分页,最大值最小值,还有很多的函数可供使用
我就抛砖引玉了,上面的两个网址讲的想当的清楚。
更多的方法请查看API。
2.更新数据(MERGE || PUT 请求)
MERGE请求只更新你要更新的列(合并),而PUT是替换,
Parameters parameters = new Parameters();
parameters.put("name", "酸菜");
//将DB_DISH表里 主键为 70001 的菜品名称更新为 酸菜
customer.update("db_dish", "70001", parameters);
这就是最简单的更新,还可以这么写:
//将db_dishorder里记录Id为1001的数据 state 字段更新为 1 (已下单)
customer.update("db_dishorder", 1001, new String[]{"state"}, new String[]{"1"});
3. 删除数据(Delete 请求)
//将db_dishorder里记录Id为1001的记录删除
customer.delete("db_dishorder", 1001);
4. 添加数据(POST 请求)
这个就不解释了吧。。。
Parameters params = new Parameters();
params.put("name", "酸菜").put("pinyin", "SUANCAI").put("price", "35.00");
customer.save("db_dish", params);
添加数据后会返回添加的记录,主键是自动生成的就可以从这里获取啦。
增删改查全在这里了,感觉好爽。
呵呵,自己对这个服务还不熟悉,只看了请求的方法,分装了这几个类,下面公布源码和DOC
我是在Android2.3下开发的这个工具类,类不多,有兴趣的可以看下,基本一看就懂的
分享到:
相关推荐
ruODK :ODK Central API的R客户端 特别是在这些艰难的时期,问“ ru ODK?”很重要。 ruODK是R客户端,用于访问和解析来自... 典型的:例如,在设计XForm,将其 ,然后下载到运行ODK Collect的Android设备上。 使用以
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...
此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...
此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...