草庐IT

robospice-retrofit

全部标签

android - 如何从 Retrofit v2 的 onResponse 返回值

我想从我的函数中返回一个字符串值。但不知如何处理?我尝试了最终的单阵列解决方案,但没有成功。这是我的代码:publicStringrevealCourtPlace(StringcourtID){BaseService.getInstance().getUniqueCourt(Session.getToken(),courtID).enqueue(newCallback(){@OverridepublicvoidonResponse(Callcall,Responseresponse){JsonObjectobject=response.body();booleansuccess=obj

android - 改造/Robospice : get response headers from successful request?

我正在使用Retrofit/Robospice在我构建的应用程序中使用RetrofitGsonSpiceService进行api调用。所有响应都使用GSON转换器转换为POJO,但是我需要从响应header中检索一些信息。我找不到任何获取header的方法(如果请求不成功,我只能获取header,因为原始响应是在错误对象中发送的!)如何在转换之前拦截响应以获取header? 最佳答案 我花了几分钟才弄清楚@mato在他的回答中到底暗示了什么。下面是一个具体示例,说明如何替换Retrofit附带的OkClient以拦截响应header

android - 如何使用 Retrofit 2 获取 API 请求/响应时间

我在我的android应用程序中使用Retrofit2.1.0进行API解析。我需要改造花费的时间来解析API。如何使用Retrofit2获取请求/响应时间。下面是我用于API解析的RetrofitRest客户端调用。publicstaticclassServiceGenerated{staticOkHttpClienthttpClient=newOkHttpClient.Builder().connectTimeout(60,TimeUnit.SECONDS).readTimeout(60,TimeUnit.SECONDS).writeTimeout(60,TimeUnit.SECO

android - Retrofit 2 - 如何在接收 JSON 响应时显示进度条

我在选项卡式Activity中使用多个fragment来显示json数据。我想在每个fragment收到响应时显示进度条。privatevoidloadJSON(){Retrofitretrofit=newRetrofit.Builder().baseUrl(BASEURL).addConverterFactory(GsonConverterFactory.create()).build();newsAPI=retrofit.create(NewsAPI.class);Callcall=newsAPI.topNews("soure","api-key");call.enqueue(ne

android - Reddit oAuth 2 for Android "userless"app with Retrofit

我正在尝试在基于Android的“无用户”应用程序中实现RedditoAuth2(每个使用Reddit内容的应用程序都必须有这个implemented)并且我正在遵循这些指南。我registeredanapp并获取相应的client_id。我正在关注APIguidelines和thisforRetrofit以便正确编写Android代码。因此,我编写了两种方法来解决这个问题,但似乎都不起作用。相应fragment中的调用对于这两个选项是相同的,如下所示:publicvoidoAuth(){StringbodyString="grant_type="+"https://oauth.red

android - Retrofit2 静态编码表单数据?

我有一个正在处理的新Android项目,Retrofit2对我来说运行良好。但是,在我发送的数据之上,我有一个url需要使用两个字符串之一进行访问。现在看起来像这样:@FormUrlEncoded@POST("token")CallrequestAccess(@Field("grant_type")Stringtype,@Field("code")StringauthCode,@Field("client_id")StringApiKey);授权类型只是两件事之一,我想将它抽象出来,变成静态url,如下所示:@FormUrlEncoded@POST("token")@Field("gr

android - 如何使用 Retrofit 发布复杂的 JSON 参数

我需要做的Post请求应该是这样的{"project":{"name":"newname123","identifier":"id55"},"key":"8f583ad25100575b974062e0cee43e47aa158e4e"}我能够使用Postman中的原始实现将它发送到服务器,但不知道如何使用表单数据发送它这是我的界面@FormUrlEncoded@POST("projects.json")CallCreateProject(@Field(value="project")ProjectToSendproject,@Field("key")Stringkey);无论我尝试使

android - 如何对 retrofit2 回调进行单元测试?

我想做一个单元测试来验证是否调用了function1()或function2()。我以前没有使用过回调,你能告诉我如何做吗?publicvoidsendData(HttpServiceservice,DocumentuserData){Callcall=service.updateDocument(getId(),userData);call.enqueue(newCallback(){@OverridepublicvoidonResponse(Callcall,Responseresponse){function1(response.code());}@Overridepublicv

android - 用于 retrofit 和最新版本 okhttp 的 build.gradle 依赖项

在我们的应用程序中,我们使用retrofit来实现具有以下依赖关系的网络:compile'com.squareup.retrofit2:retrofit:2.3.0'compile'com.squareup.retrofit2:converter-gson:2.3.0'最近我们开始得到这个crash已解决。那么我该如何在我们的应用程序中解决这个问题?我的理解是改造是建立在okHttp库之上的。那么这是否意味着我们将不得不等待包含新okHttp版本的新版本改造,或者我可以手动将新版本的okHttp作为单独的依赖项包含在内,并最终得到:compile'com.squareup.retrof

android - Retrofit + Rxjava 服务器连接失败时调用onError耗时较长

我正在使用Retrofit+Rxjava从服务器获取实体列表,根据我的设计,当任务失败时,首先它会检查Internet连接,然后它会在doOnError方法中检查与服务器的连接可观察。当客户端未连接到Internet时doOnError在合理的时间内被调用并且用户收到错误消息但问题是当Internet连接时我得到错误的端口或域(检查服务器问题错误)需要很长时间(大约1分钟或更长时间)并且真的很烦人。我怎样才能减少这个时间,原因是什么?我如何检查Internet和服务器连接:publicstaticbooleancheckConnection(StringipOrUrl,intport)