Http GET 接口回调
来源:互联网 发布:java驻场开发什么意思 编辑:程序博客网 时间:2024/06/06 04:02
## 发送http请求,对返回的数据处理 ##
package com.xiaoxu.administrator.myserviceapp.service;/** * Created by Administrator on 2016/4/20. */import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;/** * 发送http请求,对返回的数据处理,接口回调 * java回调 */public class HttpSendUtil { /** * 发送http请求, * @param address 请求网址 * @param listener * * */ /* * 网络请求属于耗时操作,如果该方法中没有开启线程,那么主线程就会被组塞住 * 如果在该方法中开启一个子线程,子线程获取到的数据将无法返回, * sendHttpRequest()会在服务器还没来的及响应的时候就执行结束了。这个时候用到java的回调机制 * */ public static void sendHttpRequest(final String address, final HttpCallbackListener listener) { new Thread(new Runnable() { @Override public void run() { HttpURLConnection connection; try { URL url = new URL(address); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(8000); connection.setReadTimeout(8000); connection.setDoInput(true); connection.setDoOutput(true); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { response.append(line); } if (listener != null) { listener.onFinish(response.toString()); } } catch (Exception e) { if (listener != null) { listener.onError(e); } } } }).start(); } public interface HttpCallbackListener { /** *请求成功后的处理 * @param response 服务器返回值 * */ void onFinish(String response); /** * 请求异常的处理 * @param e Exception * */ void onError(Exception e); }}
- 调用方B
private void sendHttp(){ String address = "";//要访问的网址 HttpSendUtil.sendHttpRequest(address, new HttpSendUtil.HttpCallbackListener() { @Override public void onFinish(String response) { //发送成功后的处理,该参数为服务器返回值 } @Override public void onError(Exception e) { //http请求异常的处理 } }); }
Java回调机制
- 通常是把一个方法的指针传递给事件源,当某一事件发生时来调用这个方法(也称为“回调”),当然,java中没有指针这个名词,java语言都是通过对象来调用方法的。
如上的HttpSendUtil工具包中,定义了一个接口类,接口的类型作为 sendHttpRequest()的参数传入。在调用方B中调用 A中的方法sendHttpRequest(),并传入该 接口类型的实例,在B中复写了接口中的方法。 这样 在A中 sendHttpRequest()的方法中调用接口中的方法的时候,实际上是用了该接口的对象来调用这些方法。
B 调用 A 的方法,并传入一个接口类型的对象,
- 在A类中 用B传递进来接口类型的引用 调用 该接口中的抽象方法,
实现了 B 调 A , A 中又调了B。
以上只是我的一点理解,错误请指出。
0 0
- Http GET 接口回调
- HTTP接口编程 GET方式
- HTTP get方式调用接口
- get/post方式调用http接口
- get/post方式调用http接口
- get/post方式调用http接口
- get/post方式调用http接口
- get/post方式调用http接口
- get/post方式调用http接口
- 在线HTTP POST/GET接口测试工具
- get/post方式调用http接口
- 在线HTTP POST/GET接口测试 地址
- get/post方式调用http接口
- HTTP请求接口方法(POST/GET)
- JAVA发送http get/post请求,调用http接口、方法
- JAVA发送http get/post请求,调用http接口、方法
- JAVA发送http get/post请求,调用http接口、方法
- JAVA发送http get/post请求,调用http接口、方法
- web day13 JSTL标签库(c标签,自定义标签),MVC设计模式,JavaWeb经典三层框架
- 【快速因数分解】Pollard's Rho 算法
- android获取指定路径下目录文件
- VC++判断文件或文件夹是否存在
- nyoj 三个水杯
- Http GET 接口回调
- 【水管规格】4分管、6分管水管的直径,丝口螺纹,铝塑管接头
- Gym 100814A---Arcade Game
- Gson之注解
- 懒人爱家务_GridView使用
- 深入理解linux网络技术内幕读书笔记(二)--关键数据结构
- 趣味整数-自守数-java
- Java TCP/IP Socket编程
- 66. Plus One