第一步我们看看如何请求获得所有商品信息:
1
//创建一个http客户端
2
HttpClient client=
new
DefaultHttpClient();
3
//创建一个GET请求
4
HttpGet httpGet=
new
HttpGet(
"http://www.store.com/products"
);
5
//向服务器发送请求并获取服务器返回的结果
6
HttpResponse response=client.execute(httpGet);
7
//返回的结果可能放到InputStream,http Header中等。
8
InputStream inputStream=response.getEntity().getContent();
9
Header[] headers=response.getAllHeaders();
通过解析服务器返回的流,我们可以将它转为字符串,获取相应的数据。
第二步可以向服务器增加商品,同样的道理,我们创建一个POST请求,带上相关的商品信息即可。
01
//创建一个http客户端
02
HttpClient client=
new
DefaultHttpClient();
03
//创建一个POST请求
04
HttpPost httpPost=
new
HttpPost(
"http://www.store.com/product"
);
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.
01
//创建一个http客户端
02
HttpClient client=
new
DefaultHttpClient();
03
//创建一个PUT请求
04
HttpPut httpPut=
new
HttpPut(
"http://www.store.com/product/1234"
);
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请求即可。
1
//创建一个http客户端
2
HttpClient client=
new
DefaultHttpClient();
3
//创建一个DELETE请求
4
HttpDelete httpDelete=
new
HttpDelete(
"http://www.store.com/product/1234"
);
5
//向服务器发送DELETE请求并获取服务器返回的结果,可能是删除成功,或者失败等信息
6
HttpResponse response=client.execute(httpDelete);
好了,就这么简单,这样就实现了从android客户端调用Rest服务对资源进行增、删、改、查操作。
http://www.ideasandroid.com/
1 | //创建一个http客户端 |
2 | HttpClient client= new DefaultHttpClient(); |
3 | //创建一个GET请求 |
4 | HttpGet httpGet= new HttpGet( "http://www.store.com/products" ); |
5 | //向服务器发送请求并获取服务器返回的结果 |
6 | HttpResponse response=client.execute(httpGet); |
7 | //返回的结果可能放到InputStream,http Header中等。 |
8 | InputStream inputStream=response.getEntity().getContent(); |
9 | Header[] headers=response.getAllHeaders(); |
通过解析服务器返回的流,我们可以将它转为字符串,获取相应的数据。
第二步可以向服务器增加商品,同样的道理,我们创建一个POST请求,带上相关的商品信息即可。
01 | //创建一个http客户端 |
02 | HttpClient client= new DefaultHttpClient(); |
03 | //创建一个POST请求 |
04 | HttpPost httpPost= new HttpPost( "http://www.store.com/product" ); |
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.
01 | //创建一个http客户端 |
02 | HttpClient client= new DefaultHttpClient(); |
03 | //创建一个PUT请求 |
04 | HttpPut httpPut= new HttpPut( "http://www.store.com/product/1234" ); |
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请求即可。
1 | //创建一个http客户端 |
2 | HttpClient client= new DefaultHttpClient(); |
3 | //创建一个DELETE请求 |
4 | HttpDelete httpDelete= new HttpDelete( "http://www.store.com/product/1234" ); |
5 | //向服务器发送DELETE请求并获取服务器返回的结果,可能是删除成功,或者失败等信息 |
6 | HttpResponse response=client.execute(httpDelete); |
好了,就这么简单,这样就实现了从android客户端调用Rest服务对资源进行增、删、改、查操作。
http://www.ideasandroid.com/