• 如何在Android使用Rest服务从客户端调用webservice


       

    Android类库中已经为我们提供了一切我们需要的东西。
    Rest的原理就是向一个资源的URI发送GET、POST、PUT和DELETE进行获取、创建、保存、删除操作。
    我们就以如下网络商店的Rest服务为例,看看我们通过Android客户端是如何进行调用的(这里只介绍如何发送请求,并获得服务器响应)。

    第一步我们看看如何请求获得所有商品信息:
    //创建一个http客户端
    HttpClient client=new DefaultHttpClient();
    //创建一个GET请求
    HttpGet httpGet=new HttpGet("
    http://www.store.com/products");
    //向服务器发送请求并获取服务器返回的结果
    HttpResponse response=client.execute(httpGet);
    //返回的结果可能放到InputStream,http Header中等。
    InputStream inputStream=response.getEntity().getContent();
    Header[] headers=response.getAllHeaders();
    通过解析服务器返回的流,我们可以将它转为字符串,获取相应的数据。

    第二步可以向服务器增加商品,同样的道理,我们创建一个POST请求,带上相关的商品信息即可。
    //创建一个http客户端
    HttpClient client=new DefaultHttpClient();
    //创建一个POST请求
    HttpPost httpPost=new HttpPost("
    http://www.store.com/product");
    //组装数据放到HttpEntity中发送到服务器
    final List dataList = new ArrayList();
    dataList.add(new BasicNameValuePair("productName", "cat"));
    dataList.add(new BasicNameValuePair("price", "14.87"));
    HttpEntity entity = new UrlEncodedFormEntity(dataList, "UTF-8");
    httpPost.setEntity(entity);
    //向服务器发送POST请求并获取服务器返回的结果,可能是增加成功返回商品ID,或者失败等信息
    HttpResponse response=client.execute(httpPost);
    第三步是如果修改商品信息,我们只需要创建一个PUT请求,带上要修改的参数即可。本例假设第三步中增加的商品返回ID为1234,下面将为商品的价格修改为11.99.

    //创建一个http客户端
    HttpClient client=new DefaultHttpClient();
    //创建一个PUT请求
    HttpPut httpPut=new HttpPut("
    http://www.store.com/product/1234");
    //组装数据放到HttpEntity中发送到服务器
    final List dataList = new ArrayList();
    dataList.add(new BasicNameValuePair("price", "11.99"));
    HttpEntity entity = new UrlEncodedFormEntity(dataList, "UTF-8");
    httpPut.setEntity(entity);
    //向服务器发送PUT请求并获取服务器返回的结果,可能是修改成功,或者失败等信息
    HttpResponse response=client.execute(httpPut);
    第四步我们把上面增加的商品删除,只需要向服务器发送一个DELETE请求即可。

    //创建一个http客户端
    HttpClient client=new DefaultHttpClient();
    //创建一个DELETE请求
    HttpDelete httpDelete=new HttpDelete("
    http://www.store.com/product/1234");
    //向服务器发送DELETE请求并获取服务器返回的结果,可能是删除成功,或者失败等信息
    HttpResponse response=client.execute(httpDelete);
    好了,就这么简单,这样就实现了从android客户端调用Rest服务对资源进行增、删、改、查操作。
  • 相关阅读:
    zookeeper的ACL权限控制
    Zookeeper客户端Curator基本API
    get和post的区别
    Html基本操作实例代码
    poj3322 Bloxorz I
    Delphi 调用SQL Server 2008存储过程
    架构设计师—你在哪层楼?
    LINUX常用命令
    分层自动化测试与传统自动化测试的差别
    商业智能漫谈
  • 原文地址:https://www.cnblogs.com/yejiurui/p/2921326.html
Copyright © 2020-2023  润新知