`
Function
  • 浏览: 64015 次
  • 性别: 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  
好东西,谢谢大神

相关推荐

    SAP-odata文档

    6. **移动应用开发**:如何利用SAP Gateway和OData创建适应不同移动设备的应用,包括iOS和Android平台。 7. **企业级应用集成**:讨论如何将SAP Gateway和OData服务与其他系统集成,如社交媒体、物联网(IoT)设备或...

    ODataForAndroid

    在Android平台上,ODataForAndroid库提供了与OData服务交互的能力,使得开发者能够轻松地访问、查询和操作由OData支持的数据源。这个库允许Android应用与各种数据提供者进行通信,例如Microsoft SharePoint、Azure等...

    MusicMeta:MusicMeta是使用Progress DataDirect混合数据管道生成的OData API的NativeScript演示应用程序

    Progress DataDirect混合数据管道提供了一个工具集,能够方便地创建和管理OData服务,将企业级数据转化为OData API,从而实现跨平台的数据访问。 接下来,我们来看看NativeScript。NativeScript是一个开源的移动...

    xe 5 访问 数据库

    它支持Windows、Mac OS X、iOS和Android等多个平台,主要使用的编程语言是Delphi和C++Builder。XE5引入了FireMonkey(FMX)框架,使得开发者能够构建具有高性能和一致界面的跨平台应用。 接下来,我们来看看RO...

    WCF Data Services

    OData支持AtomPub和JSON两种数据格式,使得服务可以被多种客户端平台和语言消费,如JavaScript、.NET、iOS和Android等。 2. **实体数据模型**:WCF Data Services与Entity Framework紧密结合,后者是微软的ORM...

    sapui5-runtime

    4. **OData服务**:SAP UI5与OData协议深度集成,OData是一种面向服务的协议,用于在客户端和服务器之间交换结构化数据,尤其适合企业级应用中的ABAP后端集成。 5. **生命周期管理**:SAP UI5控件有明确的生命周期...

    SAP Web IDE 个人版使用说明.docx

    8. **Android SDK**:版本24。 9. **Cordova**:版本3.6.3。 10. **SMP SDK**:可选,如果计划在应用中使用SMP特性。 #### 三、环境变量配置 完成上述软件的安装后,接下来需要配置环境变量: 1. 打开控制面板 -> ...

    SAPUI5(SAP Fiori)开发技术要求

    2. 数据访问:理解OData(Open Data Protocol)概念对SAPUI5开发至关重要。OData是一种RESTful(表现层状态转换)的Web协议,用于公开和消费RESTful服务。它被广泛用于SAPUI5应用中,以简化数据模型和数据绑定。 3....

    Power BI 让数据更生动:使用指南及示例

    桌面版具备连接到不同数据源的功能,如网页、Excel文件、OData服务等,并能进行数据分析。 对于Power BI Desktop的学习,内容包括快速入门、教学课程、数据连接、数据导入与分析、数据模型构建、报告创建等关键步骤...

    ruODK:ruODK

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

    FioriApplication

    6. **移动设备支持**:Fiori应用设计时考虑了多平台兼容性,包括iOS、Android和Windows Phone等,确保在不同设备上都能提供一致的用户体验。 在实际开发中,开发者会利用Web IDE的功能,如模板、模拟器、调试工具和...

    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的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用...

Global site tag (gtag.js) - Google Analytics