第一步我们看看如何请求获得所有商品信息:
2 | HttpClient client=new DefaultHttpClient(); |
6 | HttpResponse response=client.execute(httpGet); |
7 | //返回的结果可能放到InputStream,http Header中等。 |
8 | InputStream inputStream=response.getEntity().getContent(); |
9 | Header[] headers=response.getAllHeaders(); |
通过解析服务器返回的流,我们可以将它转为字符串,获取相应的数据。
第二步可以向服务器增加商品,同样的道理,我们创建一个POST请求,带上相关的商品信息即可。
02 | HttpClient client=new DefaultHttpClient(); |
05 | //组装数据放到HttpEntity中发送到服务器 |
06 | final List dataList = new ArrayList(); |
07 | dataList.add(new BasicNameValuePair("productName", "cat")); |
08 | dataList.add(new BasicNameValuePair("price", "14.87")); |
09 | HttpEntity entity = new UrlEncodedFormEntity(dataList, "UTF-8"); |
10 | httpPost.setEntity(entity); |
11 | //向服务器发送POST请求并获取服务器返回的结果,可能是增加成功返回商品ID,或者失败等信息 |
12 | HttpResponse response=client.execute(httpPost); |
第三步是如果修改商品信息,我们只需要创建一个PUT请求,带上要修改的参数即可。本例假设第三步中增加的商品返回ID为1234,下面将为商品的价格修改为11.99.
02 | HttpClient client=new DefaultHttpClient(); |
05 | //组装数据放到HttpEntity中发送到服务器 |
06 | final List dataList = new ArrayList(); |
07 | dataList.add(new BasicNameValuePair("price", "11.99")); |
08 | HttpEntity entity = new UrlEncodedFormEntity(dataList, "UTF-8"); |
09 | httpPut.setEntity(entity); |
10 | //向服务器发送PUT请求并获取服务器返回的结果,可能是修改成功,或者失败等信息 |
11 | HttpResponse response=client.execute(httpPut); |
第四步我们把上面增加的商品删除,只需要向服务器发送一个DELETE请求即可。
2 | HttpClient client=new DefaultHttpClient(); |
5 | //向服务器发送DELETE请求并获取服务器返回的结果,可能是删除成功,或者失败等信息 |
6 | HttpResponse response=client.execute(httpDelete); |
好了,就这么简单,这样就实现了从android客户端调用Rest服务对资源进行增、删、改、查操作。