OKhttp框架--01
2017-02-24 15:51
155 查看
1、简介
1、OKHttp是Square公司推出的一款高效的HTTP客户端,支持同一个地址的连接共享同一个Socket、GZIP压缩、请求缓存等等2、OkHttp内部依赖Okio,Okio已经被谷歌使用在了android源码上,相当强大
3、android-async-http内部使用HttpClient,但是android6.0版本中已经删除了HttpClient的API,所以android-async-http已经过时。
2、OKHttp主要功能
1、请求文本数据2、大文件上传
3、大文件下载
4、请求图片
3、使用方法
3.1 导入OkHttp:
compile 'com.squareup.okhttp3:okhttp:3.6.0'
3.2 get请求:
//1、创建OkHttpClient客户端对象 OkHttpClient okHttpClient = new OkHttpClient(); //2、创建Request对象,封装请求参数 Request request = new Request.Builder().url(urlPath).build(); //3、将请求封装成了任务 Call call = okHttpClient.newCall(request); //4、将任务加入调度队列 call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } //onResponse方法不在UI线程,所以需要handler来更新UI @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { //使用handler发送消息来更新UI String result = response.body().string(); Message msg = handler.obtainMessage(); msg.obj = result; handler.sendMessage(msg); } } }); /* Call(任务)有两个方法: execute(): 立即执行请求,阻塞直到响应可以被处理。 enqueue(): 以异步的方式去执行请求,将call加入调度队列,等待任务执行完成,任务完成后可在 Callbacl中的onResponse方法中得到结果。 */
3.3 post请求:
//1、创建OkHttpClient客户端对象 OkHttpClient okHttpClient = new OkHttpClient(); //2、创建请求体对象,数据类型为json MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); RequestBody requestBody = RequestBody.create(mediaType, ""); //3、创建Request对象,封装请求参数 Request request = new Request.Builder().post(requestBody).url(urlPath).build(); //4、将任务加入调度队列 okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { String result = response.body().string(); Message msg = handler.obtainMessage(); msg.obj = result; handler.sendMessage(msg); } } });
3、OkHttp封装
https://github.com/hongyangAndroid/okhttputils相关文章推荐
- 开源框架OKHttp的使用01-基础
- OkHttp3-Android网络请求框架常用用法介绍与实例(mob请求天气预报),还好!
- 安卓android网络框架okhttp介绍及使用
- Windows应用程序的基本框架浅析(01)
- Google摒弃HttpClient之后 OKHttp第三框架
- play_java框架学习01
- 浅谈retrofit2.1+okhttp3 搭建MVP框架
- okhttp(网络框架)
- 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
- 01. Yii 2.0 框架的安装
- 总结之前项目的框架:MVP+Okhttp+Gson+Glide+DBFlow后期会修改不合理的地方
- Java多线程系列--“JUC锁”01之 框架
- 框架之Hibernate01
- OKHttp框架源码分析(一)
- 如何封装自己的网络框架(RxJava+okHttp+Retrofit)
- Android网络框架-OkHttp3.0总结
- 基于umi搭建React快速开发框架 01
- Android中是用okhttp和son搭建项目框架是,这两个怎么联系在一起
- Android 框架学习之 第一天 okhttp & Retrofit
- Java 集合系列01之 总体框架