问题标签 [okio]

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.

0 投票
0 回答
428 浏览

android - 使用改造和 rxjava 等待网络调用的结果

我有一个包含 3 个片段的活动,这些片段进行网络调用以获取一些数据,例如用户详细信息。3 个片段进行的调用彼此独立,但仍在提取相同的数据。假设所有 3 个片段同时请求数据,但片段 1 首先进行调用,有没有办法片段 2 和片段 3 可以检查是否对相同数据进行了调用,并在响应到来时使用该数据而不是而不是自己调用相同的数据。

例如,片段 1 和 2 提取数据列表,并且对于每个数据项,都有一个关联的人员需要获取其详细信息。我已经编写了代码来在本地缓存人员数据,但在第一次运行时没有缓存,在这种情况下两个片段都调用来获取人员数据,除了人员详细信息之外,两个片段之间没有任何关系。

我在我的项目中使用改造和 rxjava。

0 投票
1 回答
244 浏览

android - 签名的 APK Proguard 错误重复 zip 条目 okio-1.6.0.jar:okio/AsyncTimeout$1.class

我知道之前问过这个问题,但是在设置minifyEnabled=true后生成签名的 apk 文件时出错 以下是控制台中显示的消息

我在stackoverflow上进行了搜索,但没有得到任何合适的解决方案,有人可以帮我解决这个问题。

0 投票
1 回答
1473 浏览

okhttp - okhttp - execute() vs body().byteStream

使用OkHttp时,网络请求在以下代码中1或中执行:2

我一直以为我被处决了(1),在这种情况下,询问响应是否成功是有意义的。但是今天我决定实现这个官方秘籍来跟踪正在下载的文件的进度。

然后我意识到,如果我删除了行 ( response.body().byteStream()),进度计数器根本不会移动。理论上,我们不会下载任何东西,除非我们在下载,否则success在这种情况下意味着什么。

如果这是一个愚蠢的问题,我很抱歉,我相信我在这里缺少一些关于网络的非常基本的东西,我想了解更多。我试图了解该Okio库的源代码,但它对我来说有点太复杂了,我需要一些参考或指导。

0 投票
1 回答
276 浏览

android - OKHTTP3 SocketTimeOut 仅在特定调用上

我有一个移动应用程序,它对我们的 REST API 进行大约 15 次 API 调用。其中大部分是 GET、POST、PUT 并包含中小型 JSON 正文/响应。我们正在使用 OKHTTP3 3.8.1 。

我们对 API Gateway->Lambda 进行了一次调用,其中包含稍大的 JSON 主体(小于 500kb)。

向 API Gateway 发出的一个调用相当一致地失败。但是,只有在我们在 Amazon Kindle Fire 7 上进行测试时它才会失败。该呼叫适用于 Kindle Fire 8 以及我们测试过的所有其他 Android 手机/平板电脑。

我创建了另一个应用程序来使用复制粘贴的代码来测试这个调用。在测试应用程序中,调用不会失败。但是,该应用程序没有拨打我们的其他电话,也没有使用 BLE 或任何其他资源。

当调用失败时,服务器(API 网关)根本不会收到请求(Nothing is Logged)。所以我认为问题在于从平板电脑上获取数据。

这是我们在失败时得到的堆栈跟踪。

如果有人对我们为什么会收到此错误以及可能的解决方法有任何想法,我将不胜感激任何建议!

编辑 - 我们已尝试增加超时,但呼叫仍然没有离开平板电脑。我们已经确认通话不会使用代理离开平板电脑。

此外,该问题似乎与同时使用 BLE 和 HTTP 有关。

0 投票
1 回答
1870 浏览

scala - okhttp3 ResponseBody 到字符串问题

我正在使用 spark 应用程序(语言 > scala),

并使用 okhttp3 3.6.0 版本。

调用以下方法时发生错误。

例外 :

请帮我 :'(

附言。

0 投票
2 回答
314 浏览

android - 改造 2 依赖问题

我正在使用改造 2 库进行网络调用。即使添加了依赖项,项目也没有建立起来。我附上了截图。

在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
71 浏览

android - 如何在 Okhttp 中使用 OkIo 缓冲区作为 RequestBody

我正在开发一个Android SDK,我必须发送一个带有来自麦克风的原始音频字节的发布请求,我目前正在将字节写入这样的OkIo缓冲区

如何使用 okHttp 将此缓冲区用作 RequestBody?有没有更好的解决方案?

先感谢您!

0 投票
2 回答
2719 浏览

java - Okio/Okhttp 使用 BufferedSink 下载文件并解码 Base64,而无需将整个文件多次保存在内存中

取款机有点问题。对于我的“inapp”-更新即时通讯从我的网络空间下载新的 base64 编码的 .apk。我的功能差不多了,这是没有解码的代码。

Buffer/Log 并不是真正需要的,只是在测试期间使用它来检查响应。

在将字节写入接收器之前,我将如何解码它们?我尝试通过这样做。ByteString,但我找不到将解码的字符串写回 BufferedSource 的方法。

大多数替代方案都非常慢,例如之后重新打开文件,将字节读入内存,解码并将它们写回。

非常感谢您对此的任何帮助

干杯

0 投票
4 回答
10359 浏览

spring - java.lang.NoSuchMethodError: okio.BufferedSource.rangeEquals(JLokio/ByteString;)Z

我正在集成 Outlook API 并进行 HTTP 调用,我使用的是Retrofit 2.3.0 版和 okHttp3 3.9.1 版。 但是,当我进行 HTTP 调用时,例如:

我收到以下异常:

下面是我的部分 pom.xml :

有人可以帮我弄清楚,这是怎么回事?

0 投票
1 回答
544 浏览

android - 如果应用要使用 okhttp3,是否必须包含 okio?

我在低于 LOLLIPOP (api 21) 的 android 版本中包含了 okhttp3 并测试了 PATCH 和 DELETE 方法。我没有包括 Okio,它运行良好。但是,在 okhttp站点中,他们提到了以下内容:

您还需要 Okio,OkHttp 将其用于快速 I/O 和可调整大小的缓冲区。下载最新的 JAR。

任何人都可以确认是否可以安全地忽略 Okio 以使用 OkHttp?

附加信息:在使用 OkHttp 3.10.0 进行 PATCH 调用时,我在 Android 4.1.2 Samsung Galaxy Note 中看到了使用和不使用 okio 1.14.0 的相同警告日志。

03-02 14:18:39.850 6123-6159/ W/dalvikvm: VFY: 无法找到签名中引用的类 (Ljava/nio/file/Path;) 03-02 14:18:39.850 6123-6159/ W/dalvikvm : VFY: 找不到签名中引用的类 ([Ljava/nio/file/OpenOption;) 03-02 14:18:39.850 6123-6159/ I/dalvikvm: 找不到方法 java.nio.file.Files.newOutputStream , 引用自方法 okio.Okio.sink 03-02 14:18:39.855 6123-6159/ W/dalvikvm: VFY: 无法解析静态方法 30883: Ljava/nio/file/Files;.newOutputStream (Ljava/nio/file /Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream; 03-02 14:18:39.855 6123-6159/D/dalvikvm:VFY:在 0x000b 处替换操作码 0x71 03-02 14:18:39.860 6123-6159/W/dalvikvm:VFY:无法找到签名中引用的类(Ljava /nio/file/Path;) 03-02 14:18:39.865 6123-6159/ W/dalvikvm: VFY: