发起Http请求
2017-08-25 20:35
316 查看
我们应该将通用的网络操作提取到一个公共的类里,并提供一个静态的方法,当想要发起网络请求时,只需简单地调用一下这个方法即可。这里我们使用OkHttp, 毕竟这会使我们的工作更轻松
首先,我们在app/build.gradle文件中加入OkHttp库的依赖,在dependencies闭包中添加如下内容:compile 'com.squareup.okhttp3:okhttp:3.4.1'
然后建立一个HttpUtil类,代码如下:
public class HttpUtil { public static void sendOkHttpRequest(String address, Callback callback){ OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(address) .build(); client.newCall(request).enqueue(callback); } }
sendOkHttpRequest()方法中有一个Callback参数,这个是OkHttp库中自带的一个回调接口。OkHttp在enquene()方法内部帮我们开好了子线程,然后会在子线程中去执行HTTP请求,并将最终的结果回调到Callback当中。
那么我们以后在调用sendOkHttpRequest( )方法时可以这样写:
HttpUtil.sendOkHttpRequest("http://www.baidu.com", new Callback() { @Override public void onFailure(Call call, IOException e) { //这里对异常进行处理 } @Override public void onResponse(Call call, Response response) throws IOException { //得到服务器返回的具体内容 String responseData = response.body().string(); } });
相关文章推荐
- 关于java发起http请求
- firefox插件poster的使用,发起自定义http请求
- 判断Http请求由手机端发起,还是有电脑端发起
- springboot发起http请求
- (二)使用apache的commons-httpclient-3.1.jar之通过Java实现发起HTTP请求【使用代理】
- 用Java发起HTTP请求与获取状态码(含状态码列表)
- AngularJS如何跨域发起Http请求(Access-Control-Allow-Origin)
- php 发起 post http请求 ,并传body内容 到另一个php页面
- PHP利用curl发起Http请求的400错误分析
- Nodejs 发起http请求(客户端 get post put delete)
- Java基础代码库:Java发起Http请求
- 根据URL发起HTTP请求,我的HTTPHelper。
- 客户端浏览器向服务器发起http请求的全过程
- 在android上发起异步http请求的最简单方法
- nginx发起http请求
- C#的百度地图开发(一)发起HTTP请求
- .net 模拟发起HTTP请求(用于上传文件)
- 几种不同情况下服务端发起HTTP请求
- [转载]利用ruby的Net::HTTP发起http请求并对返回包进行简单的校验
- C#的百度地图开发(一)发起HTTP请求