HttpURLConnection网络操作框架
来源:互联网 发布:mac的加速播放器 编辑:程序博客网 时间:2024/06/06 09:07
不知近水花先发,疑是经冬雪未销。—-张谓《早梅》
HttpUtil.java
package com.peng.json_net;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;/** * Created by Peng on 2016/8/21. */public class HttpUtil { public static void sendHttpRequest(final String address,final HttpCallbackListener listener){ new Thread(new Runnable() { @Override public void run() { HttpURLConnection conn = null; try { URL url =new URL(address); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setDoInput(true); //conn.setDoOutput(true); conn.setConnectTimeout(5000); // if (conn.getResponseCode() == 200) { InputStream in =conn.getInputStream(); InputStreamReader isr = new InputStreamReader(in); BufferedReader br = new BufferedReader(isr); String line; //StringBuilder 缓存区 StringBuffer StringBuilder builder = new StringBuilder(); while ((line = br.readLine()) != null) { builder.append(line); } if(listener !=null){ // 回调onFinish()方法 listener.onFinish(builder.toString()); } /*br.close(); isr.close();*/ // } }catch (Exception e){ if (listener != null) { // 回调onError()方法 listener.onError(e); } }finally { if (conn != null) { conn.disconnect(); } } } }).start(); }}
HttpCallbackListener.java
package com.peng.json_net;/** * Created by Peng on 2016/8/21. */public interface HttpCallbackListener { /** * 服务器成功响应我们请求的时候调用 * @param builder */ void onFinish(String builder); /** * 进行网络操作出现错误的时候调用 * @param e */ void onError(Exception e);}
MainActivity.java
...... public void click(View view) { final String path ="http://192.168.1.104:8080/get_data3.json"; HttpUtil.sendHttpRequest(path, new HttpCallbackListener() { /** *重写了onFinish()和onError()方法 */ @Override public void onFinish(String builder) { try { System.out.println(path); JSONObject root = new JSONObject(builder.toString()); System.out.println("name= " + root.getString("name") + " age= " + root.getInt("age") + " address= " + root.getString("address")); JSONArray array = root.getJSONArray("languages"); for (int i = 0; i < array.length(); i++) { JSONObject lan = array.getJSONObject(i); System.out.println("-----------------"); System.out.println("id= " + lan.getInt("id")); System.out.println("name= " + lan.getString("name")); System.out.println("ide= " + lan.getString("ide")); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onError(Exception e) { System.out.println("网络异常"); } }); } .....
0 0
- HttpURLConnection网络操作框架
- Asynchttpurlconnection 网络框架 (HttpURLConnection+newCachedThreadPool)
- Android 网络操作学习HttpURLConnection与HttpClient及网络框架选择
- 赠送 HttpClient 和HttpURLConnection 的轻型网络框架 ---》使用介绍
- 网络基础技术:从HttpURLConnection到Volley框架
- 网络请求HttpUrlConnection的GET/PSOT请求框架
- [Android]网络编程Httpclient类/HttpURLConnection类/okhttp框架
- Android网络请求操作httpurlconnection和httpclient基本使用
- 赠送 HttpClient 和HttpURLConnection 的轻型网络框架 ---》按照自己的需求定制修改框架
- 赠送 HttpClient 和HttpURLConnection 的轻型网络框架 --》线程池介绍和网络请求流程
- Java Http网络请求HttpURLConnection应用之【Android网络请求框架底层剖析】
- IOS网络操作框架----AFNetworking
- IOS网络操作框架----AFNetworking
- Android HttpURLConnection网络通信
- HttpUrlConnection 链接网络
- HttpURLConnection下载网络图片
- HttpURLConnection获取网络图片
- HttpURLConnection下载网络图片
- 138. Copy List with Random Pointer
- 如何实现映射
- jdk1.8
- Codeforces Round #367 (Div. 2) C. Hard problem (DP)
- DataGridView导出到Excel的三个方法
- HttpURLConnection网络操作框架
- 【动态规划】Vijos P1218 数字游戏(NOIP2003普及组)
- 约德尔测试
- mvc拦截器
- JMeter(三) -断言/检查点
- 跑马灯的效果
- SPSS——方差分析(Analysis of Variance, ANOVA)——多因素方差分析(无重复试验双因素)
- 让notepad++在网页浏览器中运行php程序
- 男人不易八题之POJ 1738 AN OLD STONE GAME解题报告