`
Function
  • 浏览: 63064 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

android 访问 OData

阅读更多
前几天和老师一起做了一个点餐的系统,分为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下开发的这个工具类,类不多,有兴趣的可以看下,基本一看就懂的


分享到:
评论
1 楼 weihappyboy 2017-09-26  
好东西,谢谢大神

相关推荐

    ruODK:ruODK

    ruODK :ODK Central API的R客户端 特别是在这些艰难的时期,问“ ru ODK?”很重要。 ruODK是R客户端,用于访问和解析来自... 典型的:例如,在设计XForm,将其 ,然后下载到运行ODK Collect的Android设备上。 使用以

    java开源包1

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包11

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包2

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包3

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包6

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包5

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包10

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包4

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包8

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包7

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包9

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    java开源包101

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    Java资源包01

    API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

    JAVA上百实例源码以及开源项目

    此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...

    JAVA上百实例源码以及开源项目源代码

    此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...

Global site tag (gtag.js) - Google Analytics