草庐IT

Retrofit2

全部标签

android - Retrofit 2 如何从嵌套的 json 对象获取响应 (android)

这是我的第一个json响应,我得到了token{"token":"I0ZmEifQ.CdbGWjkIYnuO29uJokCIGn8kXFbLbVp3gnlsEszagno"}pojo类publicclassTokenReceiver{privateStringtoken;publicStringgetToken(){returntoken;}}上面的工作正常但是如何得到下面的响应{"user":{"id":1,"first_name":"Super","last_name":"Admin","email":"abc@sad.sdf","mobile_no":2147483647,"cr

android - 我们可以将什么作为音频文件的 okhttp3 MediaType.parse 方法的参数?

我发现要使用带RequestBody的Android上传图片,我们可以使用MediaType.parse("image/jpeg")。但是,音频文件的参数是什么?预先感谢您的回答。 最佳答案 您可以使用此方法获取任何文件的mime类型:publicstaticStringgetMimeType(Stringurl){Stringtype=null;Stringextension=MimeTypeMap.getFileExtensionFromUrl(url);if(extension!=null){type=MimeTypeMap.

android - 如何在 Android 上通过 retrofit2 使用 Cognito 凭证调用 API 网关?

我在我的Android应用程序中使用retrofit2进行任何http/rest调用。现在我需要调用一个由AmazonAWSAPIGateway生成的api.AWS文档say我应该生成客户端代码并抛出API网关控制台并使用类ApiClientFactory构建请求:ApiClientFactoryfactory=newApiClientFactory();//UseCognitoCachingCredentialsProvidertoprovideAWScredentials//fortheApiClientFactoryAWSCredentialsProvidercredential

java - 如何使用 Retrofit/OkHttp 使并发请求更快?

我需要在Android中使用Retrofit尽快发出50个httpGET请求。我正在使用带有OkHttp的Retrofit。目前,Retrofit与纯JavaThreadPoolExecutor和HttpUrlConnection相比表现不佳:对于所有50个请求,Retrofit大约需要50秒,普通HttpUrlConnection大约需要30秒,如果我为ThreadPoolExecutor设置了池大小20,为Retrofit/OkHttp我设置了okHttpClient.dispatcher().setMaxRequests(20);。如果我查看logcat,无论我在setMaxRe

android - 在 Android 4.4 中启用 TLS 1.2

我使用Retrofit和OkHttp3来发出请求。我知道在Android4.4中TLS1.1和TLS1.2未默认启用。所以我正在尝试启用它们。但到目前为止我没有成功。我读到这可能是androidstudio模拟器的问题,但我无法在带有android4.4rigthnow的真实设备上进行测试这是我到目前为止所做的:privateScreateService(ClassserviceClass){Retrofitretrofit=builder.client(getNewHttpClient()).build();returnretrofit.create(serviceClass);}p

android - 在 Retrofit 2 上使用 RxJavaCallAdapterFactory 时出现 AbstractMethodError

我收到这个错误:FATALEXCEPTION:mainE/AndroidRuntime:java.lang.AbstractMethodError:abstractmethodnotimplementedatretrofit.RxJavaCallAdapterFactory.get(RxJavaCallAdapterFactory.java)atretrofit.Retrofit.nextCallAdapter(Retrofit.java:189)atretrofit.Retrofit.callAdapter(Retrofit.java:175)atretrofit.MethodHan

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 - 使用 Retrofit 时手动解析部分响应

我正在使用一个RESTAPI,该API返回一个JSON文档,该文档以如下方式开头,并包含一个“集合”,其中包含带有“ABC”等字符串ID的项目。注意“routes”字段,它包含一系列名为“ABC”、“ABD”、“ABE”等的字段,但是routes在json中并没有表示为数组,所以所有这些{"status":true,"page":1,"per_page":500,"total_count":1234,"total_pages":8,"total_on_page":500,"routes":{"ABC":[{"value":22313,我正在使用Retrofit,问题是路线字段不是数组(