前几天和老师一起做了一个点餐的系统,分为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. 20172321 2017-2018-2 《程序设计与数据结构》第11周学习总结
  2. 【转】Android深入探究笔记之三 -- Intent (隐式意图和显示意图)
  3. Android(安卓)之使用ContentProvider(内容提供者)共享数据
  4. Android数据保存之文件保存
  5. Android内部存储和外部存储
  6. Android(安卓)SQLite数据库增删改查操作
  7. Android数据存储操作②文件存储
  8. Android检查权限
  9. Android客户端、服务端、数据库开发流程及需要环境

随机推荐

  1. Android中添加Options Menu,按MENU键无反
  2. android AsyncTask介绍
  3. android HttpURLConnection
  4. android使用webview加载flash文件
  5. 第一课:android平台搭建、以及helloworld
  6. 如何导入android sdk 的 sample中的源码
  7. Android(安卓)属性动画(Property Animatio
  8. com.com.adapterdialog.MainActivity has
  9. Android的线程使用来更新UI----Thread、H
  10. android 开始启航