网络请求 框架okhttp
来源:互联网 发布:纱窗淘宝 编辑:程序博客网 时间:2024/05/16 17:06
在网络请求中,用原始的请求httpconnection请求会有很多要考虑的比如线程,流效率还有字符字节转换,这个时候我们可以使用框架,我们目前需要知道有什么联网的成熟框架,在最近两年中主要有okhttp,还有Retrofit.在总结下get请求很方便,参数直接放网址后面,post参数是通过流的方式传输的。数据格式有两种json和xml,json格式清晰轻便,xml量比较大,更多用json。请求网络类:httpUrlconnection,这个是java.net包提供的,说多了,现在来说下Okhttp。是一个轻量级的框架,看它的使用
一、Okhttp 首先要引入依赖库,当然库比较大,比较占资源open Modlesetting就可以找到了
1.用构建者模式构建一个客户端okhttpclient 的请求,先是new了一个OkhttpClient请求端,再用它生成一个请求
OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder().url("http://route.showapi.com/213-4?showapi_appid=48962&topid=5&showapi_sign=9ad486a2461e47f4b3391171911f5b4b").build();2.客户端去执行请求,客户端new一个call,这个是okhttp的异步请求,请求有一个回调callback。注意这个可以同时多次请求,两个也是可以的,都会通过下面的Callback返回
okHttpClient.newCall(request).enqueue(callback);
3.把这个回调写出来,同时在请求成功中可以进行拿到数据Response,但是这个是一个异步请求如果在子线程中修改Ui可能会报错,但是这一次没报错说不清楚,如果报了发个handler把okHttpClient.newCall(request).enqueue(callback);
Callback callback = new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { TEX.setText(response.body().string()); } };
//这个是完整的okhttp异步请求的代码
public void okhttp() { OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder().url("http://route.showapi.com/213-4?showapi_appid=48962&topid=5&showapi_sign=9ad486a2461e47f4b3391171911f5b4b").build(); Callback callback = new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { TEX.setText(response.body().string()); } };// Request equest=new Request.Builder().url(); okHttpClient.newCall(request).enqueue(callback); }
阅读全文
0 0
- okhttp网络请求框架
- 网络请求框架OKHttp
- OkHttp网络请求框架
- 网络请求okhttp框架
- OkHttp网络请求框架
- 网络请求 框架okhttp
- Retrofit+okhttp网络框架请求
- Android网络请求框架剖析一、Okhttp
- okhttp网络请求框架的简单使用
- 网络请求框架 Rxjava+ReTrofit+okHttp+MVP
- 网络请求框架:okhttp+ion+volley
- 简单封装okHttp网络请求框架
- OkHttp网络请求框架+AsyncTask自动解析
- Android网络请求框架的使用okhttp
- 网络请求框架OkHttp基础用法
- Android网络请求框架:OkHttp代码
- Okhttp最火的网络请求框架
- 网络请求框架OkHttp基础用法
- spring-mybatis
- mybatis-generator 代码自动生成工具使用讲解(maven方式)
- readLine()阻塞的问题
- LAMP源码安装之二--Apache安装
- C语言标准输入输出体会
- 网络请求 框架okhttp
- 苹果官网序列号查询
- 人工智能 学习清单
- 同余问题的处理方法
- git学习笔记
- CS231n(13):神经网络笔记1(上)
- caffe安装流程及一些问题
- Quartz使用总结 一
- 通过求斐波那契数理解递归的恐怖开销!