问题标签 [okhttp3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Request(okhttp3.Request.Builder) 在 okhttp3.Request 中有私有访问权限
我只是想使用 okhttp 下载一些字节数据,但是在我完成代码之前,我遇到了一个问题,android studio 报告错误,说“请求(okhttp3.Request.Builder)在 okhttp3.Request 中有私有访问权限“,我的代码被咆哮了,我该如何解决?
这只是我的一些代码,我只是按照http://square.github.io/okhttp/上的示例,我没有看到任何区别,但它只是报告了这个错误
android - Android上的OkHttp线程优先级背景
在 Android 上建议设置线程优先级,THREAD_PRIORITY_BACKGROUND
以避免其他线程干扰主线程。OkHttp 使用多个线程池(调度程序、连接池等),但我看到它不担心线程优先级。例如,NetworkDispatcher#84中的 Google Volley 库使用THREAD_PRIORITY_BACKGROUND
OkHttp 是否有理由不设置线程优先级?在Android上使用它时,我应该用将线程优先级设置为后台的线程工厂替换线程工厂吗?
android - java.lang.NoClassDefFoundError:解析失败:Lokhttp3/MediaType;
使用 okhttp-3.0.1.jar 会导致崩溃:
okhttp-3.0.1.jar 工作正常并且缺少这个类。请帮助解决。
android - “return response.body().string()”为空,带有 okhttp3
我创建了以下类:
它曾经在我将一些数据写入服务器上的 MySQL 的活动中工作。当我从以下代码中调用它时,我得到一个空响应!
这是我在 logcat 中得到的
所以总结一下,在我的 PostJSON 类中,我将正确的结果写入 System.out。然后返回它。但是响应是空的。我不知道为什么。
java - Retrofit v2 Call.cancel() 是否删除回调?
我在Retrofit v2 API Spec中读到,在从自定义改造接口返回的 Call 类上调用 cancel() 方法应该将传入的 Callback 设置为 null。
cancel() 在收到响应后是无操作的。在所有其他情况下,该方法会将任何回调设置为 null(因此如果匿名声明,则释放对封闭类的强引用)
通过代码我看不到调用取消时回调被显式设置为空。我可以看到OkHttpCall类中引用了回调(尽管没有显式存储)。调用 cancel 将依次调用 RealCall 类上的 cancel,该类负责取消的 Http 端,但不关心 AsyncCall 类中存储的回调(它放在 Dispatcher 类中的 readyAsyncCalls 和 runningAsyncCalls 队列中。它对我来说是不熟悉的代码,所以我可能会遗漏一些东西。
有人可以自信地确认在我的调用对象上调用 cancel() 将删除对我传入的回调的引用,这样我就不会泄漏内存吗?
简化代码示例:
android - 如何使用 OkHttp 下载多个文件?
我需要使用 OkHttp 库下载多个文件。在所有下载完成后,我需要通知用户。
我知道如何使用 OkHttp 下载一个文件。这是代码:
如何下载所有文件,而不仅仅是一个?
android - 将 Android OkHttp3 与 NewRelic 集成
我正在使用 OkHttp 版本 3.1.2(无法更改版本导致最新的毕加索和改造库)并通过教程 NewRelic 库版本 5.4.1 进行设置(如教程中所述,它支持 okhttp2.1+)。NewRelic 成功处理了崩溃,但它不处理 http 事务。“Harvester”总是记录“发送 0 个 HTTP 事务”。但是当尝试使用 NewRelic.noticeHttpTransaction 时,它会发送分析。
如何将 okhttp3.1+ 与 NewRelic 绑定,可以吗?或者我做错了什么,因为我认为 NR 应该自动处理 http 请求/错误?
android - 使用 OkHttpClient 发送 cookie
我正在使用 Okhttp3 来发出 http get/post 请求。
PersistentCookiejar
即使应用程序关闭,我也会使用持久化 cookie,然后再重新启动。
但是,当我进行 HTTP 调用时,OkHTTpClient 不会将 cookie 从 android 设备发送到 Web 服务器。不知道如何解决它,如果 http 客户端没有在每个 http 请求上发送 cookie,我认为持久 cookie 没有任何意义。
这是我用来初始化 http 客户端以及我如何发出 http 请求的代码。
android - 向客户端请求 OkHttp 添加 cookie
所以我开始使用 Okhttp 3 并且网络上的大多数示例都在谈论旧版本
我需要在 OkHttp 客户端请求中添加一个 cookie,它是如何使用 OkHttp 3 完成的?
在我的情况下,我只是想将它静态添加到客户端调用而不从服务器接收它
java - Retrofit2 JSON 响应正文未正确解析
我在 Retrofit2 中将自定义类实现为响应 JSON 时遇到问题。
调用成功,当我记录正文(使用 HttpLoggingInterceptor)时,我可以看到 JSON 已正确获取。
唯一的问题是它没有解析到我创建的自定义类中。
这是我的服务生成器:
这是服务接口:
这就是我真正称呼它的地方:
我觉得我做的一切都是对的,有什么解释为什么 GsonConverter 没有将响应转换为我的自定义类(UserResponse)?
为了让自己更清楚,这里是实际的 JSON 响应(使用 Postman):
提前致谢!
编辑1:
对于任何有兴趣的人。
我刚刚发现,如果我使用字符串作为返回类型,它实际上会将所有数据写入字符串。
所以这意味着错误在于转换。我认为在某个地方我在 GSONBuilder 上犯了一个错误。