关于自己对okhttp的理解-----get请求同步用法
来源:互联网 发布:linux 打印机驱动 编辑:程序博客网 时间:2024/05/20 06:40
通过在网上查看资料,我现在把自己理解的okhttp作为笔记记录下来,方便以后查看,如果哪里有些的不对,还请大家多多指教。
首先介绍okhttp的同步get请求用法
第一步导入jar包:
compile 'com.squareup.okhttp3:okhttp:3.6.0'
第二步 获取reques请求t对象:
Request request=new Request.Builder().url(url).build();
第三步获取response响应对象
Response response=okhttpclient.newCall(request).execute();
第四部获取responseBody对象
response.body();
第五步获取请求网络返回的数据 有三种
字符串类型
responseBody.string();
字节数组类型
responseBody.bytes();
输入流
responseBody.byteStream();
整体代码是这样的
package com.example.administrator.testokhttp;import android.util.Log;import java.io.IOException;import java.io.InputStream;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;import okhttp3.ResponseBody;/** * Created by Zhaoqingzhi on 2017/2/16. */public class OkhttpUtils { private static final OkHttpClient okhttpclient=new OkHttpClient();/** * 获取请求对象request * @param url * @return */ private static Request getRequestFromUrl(String url){ Request request=new Request.Builder().url(url).build(); return request; }/*** 获取响应对象 * @param url * @return * @throws IOException */ private static Response getResponseFromUrl(String url) throws IOException { Request request=getRequestFromUrl(url); Response response=okhttpclient.newCall(request).execute(); return response; }/*** 获取responseBody对象 * @param url * @return * @throws IOException */ private static ResponseBody getResponseBodyFromUrl(String url) throws IOException { Response response=getResponseFromUrl(url); if(response.isSuccessful()){ return response.body(); } return null; }/*** 通过网络请求获取字符串 * @param url * @return * @throws IOException */ public static String loadStringFromUrl(String url) throws IOException { ResponseBody responseBody=getResponseBodyFromUrl(url); if(responseBody!=null){ return responseBody.string(); } return null; } /** * 通过网络请求获取字符串 * @param url * @return * @throws IOException */ public byte[] loadByteFromUrl(String url) throws IOException { ResponseBody responseBody=getResponseBodyFromUrl(url); if(responseBody!=null){ return responseBody.bytes(); } return null; } /** * 通过网络请求获取输入流 * @param url * @return * @throws IOException */ public InputStream loadStemFromUrl(String url) throws IOException { ResponseBody responseBody=getResponseBodyFromUrl(url); if(responseBody!=null){ return responseBody.byteStream(); } return null; }}
在activty中调用是这样:
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Thread thread=new Thread(runnable); thread.start();}private Runnable runnable=new Runnable() { @Override public void run() { try { String str= OkhttpUtils.loadStringFromUrl("url"); Log.e("tag=",str+"----"); } catch (IOException e) { e.printStackTrace(); } }};
0 0
- 关于自己对okhttp的理解-----get请求同步用法
- 关于自己对okhttp的理解-----get请求异步用法
- 关于自己对okhttp的理解-----get请求异步用法
- OkHttp的get/post同步异步请求
- OkHttp的get请求的简单用法
- OkHttp的get post 以及同步请求Demo
- OKhttp get同步请求方式 获取数据
- Android OKHttp同步get请求,同步post请求,异步get请求,异步post请求
- OKHttp异步get,post请求和同步请求
- OKhttp的get请求和post请求
- OkHttp的同步请求和异步请求
- 关于OkHttp的用法
- OkHttp学习(1)-->>同步和异步(get、post键值对、post带map、请求头体封装json)
- OKhttp:Get同步请求丶Get异步请求丶Post异步请求丶上传文件
- OKhttp:Get同步请求丶Get异步请求丶Post异步请求丶上传文件
- OkHttp的GET请求的实现方式
- 简述OkHttp的使用:get、post请求
- OkHttp的POST、GET请求方式
- C# 配置文件读取与修改
- 一种基于贝塞尔曲线的终端定位轨迹拟合方法
- linux上运行程序问题,提示cannot open shared object file错误的解决办法
- 华为交换机登录配置
- Android面试知识点归纳
- 关于自己对okhttp的理解-----get请求同步用法
- Oracle.DataAccess 驱动使用因为SQL语句缓存报错问题解决办法
- 浅谈javascript的原型及原型链
- 先验概率与后验概率
- 机器学习、人工智能、数据挖掘和计算机视觉与模式识别的重要会议、期刊
- C++之public、private、protected(三)类public和private浅谈
- org.apache.catalina.connector.ClientAbortException: null
- String Date Timestamp互转
- CENTOS 安装PHP7