草庐IT

Retrofit

全部标签

android - 使用本地 JSON 的 Retrofit 2.0 Android 单元测试

我是Retrofit2.0的新手,我想问一下使用它进行单元测试的最佳方法,尤其是对于异步请求。我找到了一篇关于它的好文章here我对使用本地JSON静态文件进行单元测试很感兴趣,因为我认为它会更快并且并不总是需要互联网连接,但是当我在Retrofit2.0上实现它时它不会工作。是否可以在Retrofit2.0中执行此操作?或者也许这里有人可以帮助我提供好的引用资料或一些关于如何进行这些单元测试的好例子?抱歉我的英语不好。 最佳答案 这是使用OkHttpInterceptor实现的改造2引用方法的快速翻译.我给了它一个快速测试,但没有

android - gradle如何解决Retrofit等不同版本的重复依赖?

假设,我想创建具有Retrofit2.0.0依赖项的android库。如果将使用我的库的开发人员在他的项目中也将依赖于Retrofit较低版本(即1.9.0),gradle将如何解决这个问题?另外,在我自己的库中使用像Retrofit这样的库来简化代码是不是一种不好的方法? 最佳答案 Gradle有很多依赖解析策略,你可以看看dependencymanagement官方Gradle用户指南的一部分。特别是在52.2.3。解决版本冲突。最常见的策略是最新的:Newest:Thenewestversionofthedependencyi

android - 如何使用 Retrofit 或类似工具将文件流式传输到服务器?

我可以使用Retrofit的MultiPart注释将文件毫无问题地上传到我的服务器。但是,我想要的是将仍在写入磁盘的文件流式传输到服务器。是否可以使用Retrofit? 最佳答案 多部分请求改造使用okhttp3.RequestBody。因此,您必须创建自己的RequestBody来生成数据。这是取自OkHttp食谱(https://github.com/square/okhttp/wiki/Recipes#post-streaming)的示例publicstaticfinalMediaTypeMEDIA_TYPE_MARKDOWN

android - retrofit - I/art : Background sticky concurrent mark sweep GC freed

我正在尝试使用Retrofit发出一个简单的REST请求,但我遇到了很多GC错误。我真的不知道如何解决它。我试图在模拟器上放置更多内存,但问题仍然存在。什么时候进行同步调用Response>response=usersCall.execute();以下异常java.lang.RuntimeException:AnerroroccurredwhileexecutingdoInBackground()android.os.AsyncTask$3.done(AsyncTask.java:309)atjava.util.concurrent.FutureTask.finishCompletio

android - Retrofit 2 enqueue方法运行2次

我是RetrofitLibrary的新手。我正在开发一个应用程序,我必须在其中进行多个API调用,但是当我尝试进行我的第一个API调用时,这个问题一直困扰着我...我面临的问题是,每当我过去调用retrofit的异步调用方法时,onResponse方法中的功能就会运行2次...这是我异步调用API时的代码...finalApiModuleapiService=ApiServiceGenerator.createService(ApiModule.class);Callcall=apiService.getConfig();call.enqueue(newCallback(){@Over

android - Robolectric 和 Retrofit - 等待响应

我想测试我的代码是否正确地从API下载数据(使用Retrofit)并将它们显示在RecyclerView中。为此,我创建了一个模拟API的拦截器(基于thissolution)并创建了一个测试(使用Robolectric):@TestpublicvoidlistLoadedCorrectlyTest(){MyListFragmentmyListFragment=newMyListFragment();Bundleargs=newBundle();FragmentTestUtil.startFragment(myListFragment);Robolectric.flushForegro

Android - Retrofit - 查询 - 雅虎天气

我正在尝试使用Retrofit向Yahoo请求当前天气。我在试图通过这座城市时遇到了问题。我知道我必须使用@QueryYahoo查询有点复杂,我不确定如何进行。这是我的代码@GET("yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20**text%3D%22brussels%2C%20be%22)%20and%20u%3D%27c%27&format=json&env=store%3A%2F%2Fdatata

java - Android Retrofit 2 gzip 错误

我正在使用retrofit2开发android应用程序。gzip有问题,这里是异常堆栈。我不知道异常到底发生在哪里。任何建议表示赞赏。谢谢。Unknownexceptionjava.io.EOFExceptionatokio.RealBufferedSource.require(RealBufferedSource.java:64)atokio.GzipSource.consumeHeader(GzipSource.java:114)atokio.GzipSource.read(GzipSource.java:73)atokio.RealBufferedSource.request(R

android - 从 retrofit2 响应中获取 JSONObject

如何从像这样的请求(使用OkHttp3)的响应对象中获取retrofit2未知的JSON对象:Observable>apiCall(@Bodybody);MyResponseObject看起来像这样:publicclassMyResponseObject{@SerializedName("title")publicStringtitle;@SerializedName("info")publicJSONObjectinfo;@SerializedName("question_id")publicStringquestionId;}我想得到JSONObjectinfo像一个普通的对象。

android - Retrofit2 - 在 GET 请求中发送类型 T 的数组

我需要使用retrofit2在GET请求的正文中发送类型为User[]的数组。这是最终有效载荷必须看起来的样子:body:{"data_id":1,"data_provider":"string_value","users":[{user_id:1,name:'name'},{user_id:1,name:'name'},...]}当前的API实现如下所示:@GET("api/users/submit.json")CallsubmitData(@Query("data_id")intdata_id,@Query("data_provider")Stringdata_provider,@