草庐IT

RetroFit

全部标签

android - 如何指定 Get-Request 编码(Retrofit + OkHttp)

我在我的Android应用程序中使用Retrofit2+OkHttp3向REST服务器发出GET-请求。问题是服务器没有指定它传送的JSON的编码。这导致“é”被接收为“�”(Unicode替换字符)。有没有办法告诉Retrofit或OkHttp响应的编码是什么?这是我初始化Retrofit的方式(Kotlin代码):valgson=GsonBuilder().setDateFormat("d.M.yyyy").create()valclient=OkHttpClient.Builder().build()valretrofit=Retrofit.Builder().baseUrl(R

Android - 带有 LiveData 组件的 MVVM 和 Repository 中的 Retrofit 调用

我想将以下组件用于身份验证View(登录):MVVM实时数据改造存储库我不知道如何接收Repository类中对当前ViewModel的异步Retrofit调用。View->ViewModel->RepositorywithLiveData。有人会有想法或例子来实现这个吗? 最佳答案 你可以像下面这样:YourActivity.ktclassYourActivity:AppCompatActivity(){privatevalmyViewModelbylazy{return@lazyViewModelProviders.of(thi

java.lang.IllegalStateException : Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 错误

我正在使用RetroFit在线连接到API。但是我在尝试解析返回的数据时遇到此错误。retrofit.RetrofitError:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:ExpectedBEGIN_ARRAYbutwasBEGIN_OBJECTatline1column2返回的数据在This中下面还给出了数据的格式和模型:iGPlaceApi.getStreams(ITEMS_PER_PAGE,pageNumber*ITEMS_PER_PAGE,newCallback>(){@Overrid

android - 改造与字符串响应

我想对URL进行POST调用,作为响应,我只得到一个字符串“ok”或“no”..所以我的界面是这样的:publicinterfaceregisterAPI{@FormUrlEncoded@POST("addDevice.php")CallinsertUser(@Field("name")Stringdevicename,@Field("username")Stringregid);}所以我只想给POST方法两个参数,我想要一个字符串。在服务器上的PHP脚本中,有这样的内容:所以我用我的Android手机打电话:Retrofitadapter=newRetrofit.Builder().

android - 通过 Retrofit 2, Android 下载文件时是否可以显示进度条

我目前正在使用Retrofit2,我想从我的服务器下载一些文件。我可以回调一些事件来捕获完整下载文件的百分比以显示在通知中,如下图所示我引用了那个链接,但它是上传的,我可以用同样的问题来做吗?Link使用retrofit2库时是否可以显示进度? 最佳答案 您可以使用ResponseBody并将其设置为OkHttp客户端并更新UI中的进度,您可以使用interface。checkthislink 关于android-通过Retrofit2,Android下载文件时是否可以显示进度条,我们在

android - 无法使用 Retrofit 2 和简单 XML 转换器获取 SOAP 信封正文

我正在使用Retrofit2.2.0和RetrofitSimpleXMLConverter2.2.0。我使用addConverterFactory方法将SimpleXmlConverter添加到Retrofit实例。问题是当我收到响应时,出现以下错误java.lang.RuntimeException:org.simpleframework.xml.core.ElementException:Element'Body'doesnothaveamatchinclassResponseEnvelopeatline1我应该得到这样的XML响应:3282635E3DA9-7C02-4DB7-9

android - 在使用 RxJava2 和 Retrofit2 时如何访问响应 header ?

前提我正在开发一个简单的应用程序,我想在其中列出RecyclerView中用户的GitHub存储库。我正在使用this作为我构建它时的端点。问题我面临的问题是GitHubAPI一次只返回30个存储库。要获得更多信息,我可以将per_page=100(100是最大值)附加到我的查询字符串;但是,我们如何处理拥有超过100个repo的用户?解决APIdocsprovide是从“Link”响应header中获取next;url以进行第二个API调用。如何解决这个问题?谢谢! 最佳答案 Response类将允许您访问header。GitHu

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 - javax.net.ssl.SSLException : Write error: ssl=0x7f70604080: I/O error during system call, 管道损坏

我使用retrofit将图片上传到服务器,但有一个奇怪的问题api方法声明:@POST("/uploadImage")@MultipartResultuploadImage(@Part("image")TypedByteArrayimage);rest适配器用户自定义客户端:OkClientclient=newOkClient(getUnsafeOkHttpClient());在哪里privateOkHttpClientgetUnsafeOkHttpClient(){try{//Createatrustmanagerthatdoesnotvalidatecertificatechain

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

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