我正在尝试使用Retrofit2.0在我的应用中缓存一些响应,但我遗漏了一些东西。我安装了一个缓存文件如下:privatestaticFilehttpCacheDir;privatestaticCachecache;try{httpCacheDir=newFile(getApplicationContext().getCacheDir(),"http");httpCacheDir.setReadable(true);longhttpCacheSize=10*1024*1024;//10MiBHttpResponseCache.install(httpCacheDir,httpCache
我正在使用Retrofit-2.0.0对于我的应用程序。现在我在网上找到的每一个Retrofit教程都是基于之前的Retrofit并且没有Call界面在那里。这是我第一次使用Retrofit,我反复收到nullobjectreference.这是我的网络模型界面publicinterfaceTMovieDBService{@GET("/movie")CallgetMovieResponse(@Query("sort_by")StringsortKey,@Query("api_key")StringapiKey);}这是我的updateMovies()更新电影列表的函数。voidupda
我需要在我的应用程序中使用Retrofit库下载所有类型的文件(二进制、图像、文本等)。网上所有的例子都是使用HTMLGET方法。我需要使用POST来防止自动缓存。我的问题是如何在Retrofit中使用POST方法下载文件? 最佳答案 在kotlin中,这样做:在您的服务添加方法中:@Streaming@GETsuspendfundownloadFile(@UrlfileUrl:String):Response要从ViewModel调用此方法:viewModelScope.launch{valresponseBody=yourSer
这是来自Web服务的JSONArray响应:[{"sponsors":[{"leg_id":"NYL000067","type":"primary","name":"AUBRY"},{"leg_id":"NYL000171","type":"cosponsor","name":"PERRY"},{"leg_id":"NYL000066","type":"cosponsor","name":"ARROYO"},{"leg_id":"NYL000223","type":"cosponsor","name":"BARRETT"},{"leg_id":"NYL000312","type":"c
如果您能帮助我使用Retrofit调用一个简单的APIGET方法,那就太好了。我已将Gson和Retrofitjar文件添加到构建路径中。这里是界面:publicinterfaceMyInterface{@GET("/my_api/shop_list")ResponsegetMyThing(@Query("mid")Stringparam1);}如果我在AsyncTask中调用以下命令,我只会得到结果(在logcat中),否则我会得到NetworkOrMainThreadException我应该如何调用它?@OverrideprotectedVoiddoInBackground(Voi
我正在使用库com.squareup.retrofit:retrofit:1.9.0,以便从我的android应用程序向我的服务器发送数据。其实,当我想向服务器发送请求时,我发现了这个错误:failure:retrofit.RetrofitError:307TemporaryRedirect我尝试了很多想法,但同样的问题仍然存在。请专家帮我解决这个问题。问候 最佳答案 编辑:如果您不能使用Retrofit1.9,切换到较新的版本(即2.0+)应该会自动处理下面介绍的解决方案。看起来您的HTTP客户端(在Android端)应该通过读取
我正在尝试使用Retrofit连接到android上的https服务器。这是我的OkHttpClient@ProvidespublicOkHttpClientprovideContactClient(){HttpLoggingInterceptorinterceptor=newHttpLoggingInterceptor();ConnectionSpecspec=newConnectionSpec.Builder(ConnectionSpec.MODERN_TLS).tlsVersions(TlsVersion.TLS_1_2).cipherSuites(CipherSuite.TLS
我是RxJava新手,如果这听起来太新手,请原谅我:-)。到目前为止,我有一个实现Retofit回调的抽象CallbackClass。在那里,我捕获了回调的“onResponse”和“onError”方法,并在最终转发到自定义实现方法之前处理各种错误类型。我还使用这个集中类来处理请求/响应应用程序日志记录和其他内容。例如:对于来self的服务器的特定错误代码,我在响应正文中收到一个新的Authtoken,刷新该token,然后clone.enqueue调用。当然,我的服务器的响应还有其他几种全局行为。当前解决方案(无Rx):publicabstractvoidonResponse(Ca
我正在尝试找出在Retrofit同步调用中进行错误处理的正确方法。我知道对于异步调用,Retrofit有一个失败案例的回调。但是我应该如何处理同步调用的错误?我的猜测是用tryblock包装调用并在catchblock中处理RetrofitError异常。 最佳答案 您的猜测似乎正确,使用同步调用Retrofit会抛出RetrofitError代表错误:Reference.注意handleError中的throwIllegalStateException不应该在同步调用的情况下发生。编辑:Retrofit似乎正在慢慢转向2.0版本,
我刚开始使用Retrofit。我正在开发一个使用SimpleXML的项目。有人可以提供一个示例,其中一个从站点获取XML,例如http://www.w3schools.com/xml/simple.xml"然后读出来? 最佳答案 您将在项目中创建一个接口(interface)作为新类:publicinterfaceApiService{@GET("/xml/simple.xml")YourObjectgetUser();}然后在您的Activity中,您将调用以下内容:RestAdapterrestAdapter=newRestAd