Okhttp使用总结

VMvare 桥接模式无法联网、没有未桥接的主机网络适配器,无法将网络更改为桥接状态。 很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!战项目源码讲义》点击传送门即可获取!** 阅读详情

添加依赖:compile 'com.squareup.okhttp3:okhttp:3.4.2'

一个简单的使用okhttp进行网络访问请求:

        //创建okhttpClient对象
        OkHttpClient mOkHttpClient = new OkHttpClient();
        //创建一个请求
        Request request = new Request.Builder()
                .url("http://www.baidu.com")
                .build();
        //创建一个Call
        Call call = mOkHttpClient.newCall(request);
        //请求加入调度
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                Log.i("TAG",response.body().string());
            }
        });

//或者
try {
        Response response = mOkHttpClient.newCall(request).execute();
        response.body().string();
        } catch (IOException e) {
            e.printStackTrace();
        }
  1. 默认的是get请求方式,首先构造一个Request对象,参数最起码有个url,当然你可以通过Request.Builder设置更多的参数比如:header、method等等等等。
  2. 然后通过request的对象去构造得到一个Call对象,类似于将你的请求封装成了任务,既然是任务,就会有execute()和cancel()等方法
  3. 我们希望以异步的方式去执行请求,所以我们调用的是call.enqueue,将call加入调度队列,然后等待任务执行完成,我们在Callback中即可得到结果。

重要的是onResponse方法:

public void onResponse(Call call, Response response) 
//但是这个方法并不是在UI线程中执行了 所以如果想要更新UI的话还得通过其他的办法
@Override
            public void onResponse(Call call, Response response) throws IOException {
                Log.i("TAG",response.body().string());
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        //更新UI的操作
                    }
                });
            }

回调参数response,如果我们希望获得的结果是string就通过response.body().string()获取;如果我们希望获得返回值是二进制字节数组,则调用response.body().bytes();如果我们想要拿到返回的是inputStream则调用response.body().byteStream();

关于Post的方式
 //创建okhttpClient对象
        OkHttpClient mOkHttpClient = new OkHttpClient();
        //创建一个请求的内容
        RequestBody body  =new MultipartBody.Builder().addFormDataPart("obj_id","23")
                .addFormDataPart("obj_type","1")
                .addFormDataPart("page","2")
                .build();
        //创建一个请求
        Request request = new Request.Builder()
                .url("http://47.90.16.112/evidencebased/qtuktuk/common/get_comments")
                .post(body)
                .build();

        //创建一个Call
        Call call = mOkHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Log.i("TAG","error");
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                Log.i("TAG",response.body().string());
            }
        });
2026年寒武纪数字IC笔试试卷带答案 本文摘要: 该数字IC设计测试卷包含单选题(30分)、波形分析题(15分)、多选题(30分)三类客观题,覆盖时序约束、半导体工艺、状态机、数制转换、同步复位等核心知识点。重点考察:1)跨时钟域处理(如异步FIFO、格雷码应用);2)时序分析(建立/保持时间、时钟约束指令);3)低功耗设计技术(时钟门控、DVFS);4)寒武纪MLU架构特性(张量核、混合精度计算)。解析强调工程实践要点,如异步复位需同步释放、建立时间违例与频率的关联性等。试题难度梯度明显,既包含基础概念辨析(如Moore/Mealy状态机), 阅读详情

相关推荐

手把手教你用MaxEnt+ArcGIS玩转物种分布预测

本文详细介绍了如何利用MaxEnt最大熵模型与ArcGIS软件进行物种分布预测。通过实战案例,从数据收集、环境变量处理、模型参数设置到结果可视化分析,手把手教你掌握生态位模型的核心流程。结合SDM toolbox插件,可高效完成数据预处理与高级空间分析,是生态学与保护生物学研究的实用指南。

weixin_29309475的博客 562

okhttp3.Call的enqueue()方法没有回到callback,可能是maxRequestsPerHost引起

这段时间在全球范围的新型冠状病毒蔓延之下,忙忙碌碌之中,已有4个月的时间没写新的东西了,惭愧惭愧! 这次是记录一下项目中遇到的一个在多次网络请求之后,网络接口没有回调的问题,下面说一下具体的来龙去脉。 有一个文件下载的需求:最多同时支持3个下载任务。在明确了需求之后,就开始设计文件下载的方案了。 1、网络请求、数据写入磁盘等需要异步处理; 2、有可能存在比较大的文件,所以拆分为多个线程进行分段下载 3、支持断点续传 4、下载过程中的异常恢复...

mahongy的博客 6317

近几年预训练语音大模型汇总

语音大模型研究近年来取得显著进展,主要包括wav2vec 2.0(2020)、HuBERT(2021)、WavLM(2022)、Data2Vec(2022)、Whisper(2023)等代表性工作。这些模型采用自监督学习框架,通过掩码预测、对比学习等策略在大规模语音数据上预训练,可有效应用于语音识别、情感分析、疾病检测等下游任务。其中wav2vec 2.0首次将对比学习引入语音领域,Whisper通过68万小时弱监督数据实现强大的跨语言能力。这些突破为低资源语音任务提供了通用特征提取方案,推动了医疗语音分析

victory0431的博客 1780

OkHttp3 HTTP请求执行流程分析

OkHttp3的基本用法 使用OkHttp3发送Http请求并获得响应的过程大体为: 创建OkHttpClient对象。OkHttpClient为网络请求执行的一个中心,它会管理连接池,缓存,SocketFactory,代理,各种超时时间,DNS,请求执行结果的分发等许多内容。 创建Request对象。Request用于描述一个HTTP请求,比如请求的方法是"GET"还是"POST",请求的UR

tq08g2z的专栏 4110

手把手带你搞懂电压跌落测试DIP

砖一用4分钟时间手把手带你搞懂电压跌落测试DIP,希望对你有用~

qq_45508321的博客 7919

保姆级教程:在树莓派5B上用AI Kit跑YOLOv8,实测134fps的完整配置流程

本文提供了一份详细的树莓派5B搭配AI Kit部署YOLOv8的教程,从硬件组装到模型转换、优化和部署,最终实现134FPS的高帧率推理性能。通过Hailo-8L AI加速模块和HEF模型转换,这套方案为边缘AI计算提供了强大支持,适用于智能监控、无人机视觉导航等应用场景。

weixin_28725407的博客 448

Okhttp详解(网络)

注意: strting()的使用响应主体上的string()方法对于小文档是方便和高效的。 但是如果响应体很大(大于1 MiB),请避免使用string(),因为它会将整个文档加载到内存中。 在这种情况下,更喜欢将主体作为流处理。 response.body().string()仅可调用一次,否则会报错,---Caused by: java.lang.IllegalStateException:

Tenda的博客 1553

Visio 2013安装遇阻?手把手教你搞定注册表权限错误1402(附64位系统特殊处理)

本文详细解析了Visio 2013安装过程中常见的注册表权限错误1402问题,特别是在64位系统下的特殊处理方法。通过分步指导如何修改注册表权限、处理Wow6432Node分支以及使用高级工具如subinacl,帮助用户顺利完成安装并避免常见连带问题。

t8u9v0w1x的博客 546

retrofit网络访问使用call.enqueue修改为retrofit+rxjava+rxandroid

call.enqueque实现 1、jar包加载: compile 'io.reactivex:rxjava:x.y.z' compile 'io.reactivex:rxandroid:1.0.1' compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' compile 'com.squareup.retrofit:co

vae260772的专栏 2588

风控IV、AUC、KS python计算代码

df_temp:数据集,Y:是否逾期标签,feas_list:需要计算IV的 变量。2、 按月和不同Y 下的 IV计算。

暮雨听轩的专栏 1618

从VASP数据到LAMMPS模拟:手把手教你用DeePMD-kit搭建Cr-Si-Fe合金势函数

本文详细介绍了使用DeePMD-kit从VASP数据构建Cr-Si-Fe合金深度势能模型的全流程,包括数据准备、模型训练、优化及LAMMPS集成。通过实战教程,帮助研究者掌握DeePMD-kit训练技巧,实现高精度分子动力学模拟,提升材料计算效率。

weixin_33737134的博客 521

OKHttp使用简介

现在android网络方面的第三方库很多,volley,Retrofit,OKHttp等,各有各自的特点,这边博客就来简单介绍下如何使用OKHttp。梗概OKHttp是一款高效的HTTP客户端,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势 OKHttp官网配置环境支持Android 2.3及其以上版本,要求java JDK1.7以上j

chenzujie的博客 8万+

6、基于深度强化学习的无人机路径规划

本文研究了基于深度强化学习的无人机路径规划方法,提出了一种融合改进DQN算法与人工势场法的路径规划策略。通过设计合理的网络结构、状态空间、动作空间和奖励函数,结合ε-贪心策略进行动作选择,实现了无人机在复杂环境中的自主避障与目标导向飞行。仿真实验表明,该方法具有收敛速度快、实时性强和可操作性高等优点,能有效完成室内环境下的路径规划任务。文章还总结了算法优势,并对未来在连续动作、复杂环境适应及多无人机协同等方面的发展方向进行了展望。

web39explorer的博客 166

OkHttp使用详解

今天学习了一下OkHttp,在这里做个总结,希望可以帮助到有需要的人,好了,废话不多说,进入正题。 一、OkHttp介绍 OkHttp是一个优秀的网络请求框架,可能一说到网络请求框架,可能很多人都会想到volley,volley是一个Google提供的网络请求框架,我的博客里也有一篇专门介绍volley的博客,博客地址在此Android网络请求 ------ Volley的使用 那么既然Google提供了网络请求的框架,我们为什么还要使用OkHttp呢,原来是volley是要依靠HttpCient.

G的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

okhttp使用总结

okhttp 使用总结okhttp 的使用越来越火,有必要对其进行研究。以下博客中的例子为了简单,在Eclipse中通过JAVA工程进行验证。导入OkHttpAndroidStudio添加如下代码即可 compile 'com.squareup.okhttp3:okhttp:3.3.1' compile 'com.squareup.okio:okio:1.8.0' 其中okio是okhttp中关于

茅屋 8111

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

OKhttp使用教程,okhttp post 提交JSON数据

文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 昨天开始接手一个小任务,说让我处理一个接口的查询返回数据,最开始的时候,我发现自己很傻逼,还想着自己写一个关于提交的方式,就是自己把拿到的数据封装到head,body当中,做了一早上,我发现好像有点难,不知道怎么处理该问题,但是在最后的时候。我师父过来一看,来一句,okhttp啊 ,你在搞啥子哦。一瞬间,我发现自己好像没有在开发的这条路上,这么好的工具怎么不用呢。对不。下面我就...

阿杜的博客 1万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

OKHttp如何使用?

OKHttp是处理网络请求的开源框架,Andorid当前最火热的网络框架Retrofit的底层也是OKHttp,用于替换HttpUrlConnection和Apache HttpClient(API23 6.0已经移除)。概况起来说OKHttp是一款优秀HTTP框架,它支持GET和POST请求,支持Http的文件上传和下载,支持加载图片,支持下载文件透明的GZIP压缩,支持响应缓存避免重复的网络请求,支持使用连接池来降低响应延迟的问题。OKHttp的优点:1.支持HTTP2/SPDY。

m0_68613006的博客 1531

Android如何使用OKHttp

首先要在build.gradle里面写入 // 添加OKHttp支持 implementation("co...

Marcus 3411

Android 使用OkHttp

为什么需要一个HTTP库 Android系统提供了两种HTTP通信类,HttpURLConnection和HttpClient。 关于HttpURLConnection和HttpClient的选择>>官方博客 尽管Google在大部分安卓版本中推荐使用HttpURLConnection,但是这个类相比HttpClient实在是太难用,太弱爆了。 OkHttp是一个相对成

丕子李 5万+

OKHTTP的使用

OKHttp的使用 pom依赖引入 <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.8.1</version> </dependency> 单例 import okhttp3.*; import java.io.IOException; import j

weixin_38338598的博客 1180

OkHttp使用方法

  一.概述 Okhttp集成有多种,一种就是直接下载它的jar包但是并不推荐,一种是Maven方式去构建,这种在java程序里用的会比较多 &lt;dependency&gt; &lt;groupId&gt;com.squareup.okhttp3&lt;/groupId&gt; &lt;artifactId&gt;okhttp&lt;/artifactId&gt; &lt;...

gxflh的博客 898

okhttp使用

一、添加依赖 compile 'com.squareup.okhttp:okhttp:2.4.0' 二、主程序 package com.example.mpcc.listviewrefrsh; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bu...

danwuxie的博客 441

OKHttp使用详解

1、简介 OkHttp 是一个默认高效的 HTTP 客户端: HTTP/2 支持允许对同一主机的所有请求共享一个套接字。 连接池减少了请求延迟(如果 HTTP/2 不可用)。 透明 GZIP 缩小了下载大小。 响应缓存完全避免了网络重复请求。 2、引入依赖 <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId>

small_love的专栏 7661

java okhttp使用_java 中OkHttp的使用方法及实例详解

这篇文章主要介绍了java 中OkHttp的使用方法及实例的相关资料,需要的朋友可以参考下java 中OkHttp的使用方法及实例概述准备研究Retrofit,而它是依赖OkHttp的,所以先使用一下OkHttp,不深究源码,只探究使用方法。以后有机会再翻查源码。在进行之前,首先需要2个jar包,其中一个是okHttp的jar包,github上可以下载,另一个是它的依赖包,这个很关键,没有它,...

weixin_39580748的博客 1534

OkHttp 使用详解

1. 历史上Http请求库优缺点 在讲述OkHttp之前, 我们看下没有OkHttp的时代, 我们是如何完成http请求的. 在没有OkHttp的日子, 我们使用HttpURLConnection或者HttpClient. 那么这两者都有什么优缺点呢? 为什么不在继续使用下去呢?HttpClient是Apache基金会的一个开源网络库, 功能十分强大, API数量众多, 但是正是由于庞大的...

Caesar Home 361
上一篇: View总结-工作流程
下一篇: Google搜索引擎使用技巧
AINewBegin
博客等级 码龄12年 6粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值