草庐IT

android - 在 Android 上为 OkHttp 缓存创建目录?

在Android上,我应该如何为com.squareup.okhttp.Cache构造函数创建File参数?看起来Context给了你很多选择:newFile(context.getCacheDir(),"HttpResponseCache")新文件(context.getExternalCacheDir(),"HttpResponseCache")context.getDir("HttpResponseCache",Context.MODE_PRIVATE)只是想知道什么是最佳实践。谢谢! 最佳答案 第一个应该运行良好,并且为您的

android - Okclient中的okclient无法应用于(okhttp3.okhttpclient)

我正在尝试在我的一个项目中使用Retrofit。我遇到了错误(newOkClient(newOkHttpClient()))RestAdapteradapter=newRestAdapter.Builder().setEndpoint(Constants.GET_API_URL_BASE).setLogLevel(RestAdapter.LogLevel.FULL).setClient(newOkClient(newOkHttpClient())).build();apiGet=adapter.create(ApiCalls.class);错误,红色下划线,已打开(newOkHttpC

java - square - okhttp - OkHttpClient 无法解析

目前我正在研究StormyTreehouseAndroidapp.我想使用squareOkHttpClient但是在导入类时出现错误“无法解析符号okhttp3”:importcom.squareup.okhttp3.OkHttpClient;。用okhttp替换okhttp3并不能修复错误。感谢您的帮助。主Activity.javapackagecom.trainerworkout.stormy;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;//cannotresolvesymbol'ok

java.lang.NoClassDefFoundError : okhttp3. OkHttpClient$Builder

在我的项目中,我使用了OkHttp(version2.5.0)作为我的网络请求库。但是几天前,我尝试将Retrofit2作为我的应用程序网络请求库的一部分,如您所知,新的Retrofit2库依赖于OkHttp(版本3.2.0)。所以当我的应用程序在android手机上运行时,问题就来了android5.0以下的版本老是崩溃(大版本也能正常运行不崩溃),崩溃堆栈信息如下:04-1521:28:51.18517238-17238/com.comingx.athitW/System.err:java.lang.NoClassDefFoundError:okhttp3.OkHttpClient

java - OkHttp 对请求启用/禁用 gzip 压缩

我正在使用Retrofit来管理我的请求,并希望进行一些测试以检查使用或不使用gzip的请求大小。默认情况下,OkHttp对请求执行gzip压缩,或者它必须使用interceptor实现?我已经添加了@Headers({"Accept-Encoding:gzip,deflate","Content-Encoding:gzip"})或:@Headers({"Content-Type:application/json;charset=utf-8","Accept:application/json"})我的请求并没有看到请求长度有任何变化。 最佳答案

java - OkHttpClient 在将 Retrofit 更新为 Retrofit 2 后损坏

我从retrofit更新到retrofit2后出现此错误。FATALEXCEPTION:OkHttpDispatcherProcess:nz.co.datacom.mars.junction,PID:21616java.lang.NoSuchMethodError:Novirtualmethodlog(Ljava/lang/String;)VinclassLokhttp3/internal/Platform;oritssuperclasses(declarationof'okhttp3.internal.Platform'appearsin/data/app/nz.co.datacom

android - setLevel okhttp LoggingInterceptor 弃用

setLevel(okhttp3.logging.HttpLoggingInterceptor.Level)'已弃用setLevel应该替换什么?删除已弃用的问题 最佳答案 根据文档“移动到var。将setLevel(...)替换为level(...)以修复Java”,将setLevel(...)替换为level(...)将解决此问题在Java中:HttpLoggingInterceptorlogging=newHttpLoggingInterceptor();logging.level(HttpLoggingInterceptor

android - 无法从改造 2 发布多部分数据

我必须以这种格式发送帖子请求。--__X_PAW_BOUNDARY__Content-Disposition:form-data;name="user_photo[image]";filename="file.jpg"Content-Type:image/jpegÿØÿàJFIFHHÿáLExifMM*i    ÿí8Photoshop3.08BIM8BIM%ÔÙ²éìøB~ÿÀ "ÿÄÿĵ}!1AQa"q2¡#B±ÁRÑð$3br%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ

java - 改造不适用于特定版本的 android

我在运行Android4.3的模拟器上使用Retrofit时遇到问题,我的设备运行的是Android4.4.2,而相同的代码在另一个运行Android7.1.1的模拟器上运行正常每次我尝试执行get请求时,我都会收到超时异常。java.net.SocketTimeoutException:failedtoconnecttojsonplaceholder.typicode.com/2606:4700:30::681c:3f5(port443)after10000msatlibcore.io.IoBridge.connectErrno(IoBridge.java:159)atlibcore

android - 禁用okhttp的缓存

我知道禁用okhttp的缓存是调用Request.cacheControl(CacheControl.FORCE_NETWORK)。是否可以从OkHttpClient.class设置cacheControl?因为我有1个客户满足我的所有要求。所以我想通过从okhttpClient禁用它来禁用所有请求的缓存 最佳答案 使用它来构建Retrofit并将缓存提供为nullAPI将不会缓存任何内容。privateOkHttpClientcreateOkHttpClient(){returnnewOkHttpClient.Builder().