Android_GET与POST_面向对象
来源:互联网 发布:android mysql客户端 编辑:程序博客网 时间:2024/06/05 10:30
一 GET
String path = "http://v.juhe.cn/toutiao/index"; //接口地址String parameter = "?type=&key=***"; //请求参数try { HttpClient client = new DefaultHttpClient(); //"客户端" HttpGet get = new HttpGet(path + parameter);//get方式请求参数 HttpResponse response = client.execute(get); if(response.getStatusLine().getStatusCode() == 200) { //获取链接状态 InputStream is = response.getEntity().getContent(); //获取输入流 String data = StreamTool.decodeStream(is); //StreamTool 代码附加在最后,用来把二进制流转换为字符流 JSONObject jsonObject = new JSONObject(data); //解析JSON格式数据 if("成功的返回".equals(jsonObject.getString("reason"))) { JSONObject dataObject = jsonObject.getJSONObject("result"); JSONArray jsonArray = dataObject.getJSONArray("data"); Message msg = Message.obtain(); msg.obj = jsonArray; msg.what = SECCESS; mHandler.sendMessage(msg); }else{ Message msg = Message.obtain(); msg.what = DATA_ERRER; mHandler.sendMessage(msg); } }else{ Message msg = Message.obtain(); msg.what = CONNECT_ERRER; mHandler.sendMessage(msg); }} catch (Exception e) { Message msg = Message.obtain(); msg.what = ERRER; mHandler.sendMessage(msg); e.printStackTrace();}
二 POST
在设置数据实体部分有些绕,需要理解记忆
参数key涉及个人隐私,所以用 ** 代替
String path = "http://v.juhe.cn/toutiao/index"; //接口地址try { HttpClient client = new DefaultHttpClient();// HttpClient是一个抽象类,new时需注意 HttpPost post = new HttpPost(path); //post请求方式 参数为接口地址 //设置 数据 实体 List<NameValuePair> parameters = new ArrayList<NameValuePair>(); parameters.add(new BasicNameValuePair("type", "")); parameters.add(new BasicNameValuePair("key", "***")); post.setEntity(new UrlEncodedFormEntity(parameters)); HttpResponse response = client.execute(post); if(response.getStatusLine().getStatusCode() == 200){ InputStream is = response.getEntity().getContent(); String data = StreamTool.decodeStream(is); //StreamTool 代码附加在最后,用来把二进制流转换为字符流 JSONObject jsonObject = new JSONObject(data); //解析JSON格式数据 if("成功的返回".equals(jsonObject.getString("reason"))) { JSONObject dataObject = jsonObject.getJSONObject("result"); JSONArray jsonArray = dataObject.getJSONArray("data"); Message msg = Message.obtain(); msg.obj = jsonArray; msg.what = SECCESS; mHandler.sendMessage(msg); }else{ Message msg = Message.obtain(); msg.what = DATA_ERRER; mHandler.sendMessage(msg); } }else{ Message msg = Message.obtain(); msg.what = CONNECT_ERRER; mHandler.sendMessage(msg); }} catch (Exception e) { Message msg = Message.obtain(); msg.what = ERRER; mHandler.sendMessage(msg); e.printStackTrace();}
附加:StreamTool 类
public class StreamTool { public static String decodeStream(InputStream is) throws IOException { ByteArrayOutputStream bout = new ByteArrayOutputStream(); int len = 0; byte[] buffer = new byte[1024]; while((len = is.read(buffer))>0) { bout.write(buffer, 0, len); } String data = bout.toString(); return data; }}
0 0
- Android_GET与POST_面向对象
- Android_GET与POST_面向过程
- 面向对象与面向对象
- 面向组件与面向对象
- 面向过程与面向对象
- 面向对象与面向组件
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象 与 面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向过程与面向对象
- 面向对象与面向过程
- 面向过程与面向对象
- 面向对象与面向过程
- 面向对象与面向过程
- linux下QtCreator安装、配置、使用QWT
- Linux学习之软件包管理--yum在线管理
- 在Eclipse中使用JUnit4进行单元测试(高级篇)
- 自适应滤波(LMS,RLS)
- Windows下的Socket网络编程小实战
- Android_GET与POST_面向对象
- junit4学习笔记
- 冯.诺依曼体系结构和哈佛体系结构
- Java 简介
- Spring Test 整合 JUnit 4 使用总结
- struct 和 typedef struct
- imooc学习笔记——流式布局和热门标签
- Spring测试框架JUnit4.4
- Android Dex文件结构解析