草庐IT

Retrofit2

全部标签

android - 如何将 JAXB 与 Retrofit 一起使用而不是 SimpleXml

根据Retrofit2.4.0更新:New:ConverterforJAXBreplacesthenow-deprecatedconverterforSimpleXMLFramework.我还没有找到关于如何实现它来替换我的简单xml注释pojo的教程。谁能分享一个关于如何从simplexml转换到jaxb的快速指南? 最佳答案 我今天一直在谷歌上搜索这个,最终找到了retrofitJAXBGithubpage。,他们礼貌地告诉我们JAXB不适用于Android:NotethatJAXBdoesnotworkonAndroid.然后

android - 使用 Retrofit 1.8.0 的多部分请求不起作用

我有大约4天的时间,尝试在android中使用Retrofit1.8.0发出多部分请求并取得成功。我的界面看起来像这样@Multipart@POST("/posts/add.json")voidaddComment(@Part("id")Stringid,@Part("post[body]")Stringbody,@Part("post[attachment]")TypedFileattachment,Callback>callback);但是,在服务器端,我收到以下信息Parameters:{"id"=>#,"post"=>{"body"=>#,"attachment"=>#},"c

android - 使用 Retrofit 分段上传到 Amazon S3

我正在尝试将我所有的异步任务和HttpPost代码转换为使用Retrofit,到目前为止一切顺利,但是我在将用户文件上传到amazons3存储桶时遇到了问题。文件上传分为两部分:查询api以获取upload_url和亚马逊上传参数。使用第一次调用时提供的参数将文件上传到指定位置。这是第一次调用时提供给我的参数列表示例。根据文档,这些值可以更改或不包含在内,并且第二次api调用必须按照提供的确切顺序调用使用这些参数。"AWSAccessKeyId":"some_id","key":"/users/1234/files/profile_pic.jpg","acl":"private","F

android - 在 Retrofit 中一起使用 @Field 和 @Body 参数

我正在使用Retrofit将一些数据发布到我的后端。我需要发送3个字符串和一个自定义Place对象。这是我正在做的:@POST("/post/addphoto/")publicvoidaddImage(@Field("image_url")Stringurl,@Field("caption")Stringcaption,@Field("google_place_id")StringplaceId,@BodyPlaceplace,Callbackresponse);有了这个,我得到了这个错误:@Fieldparameterscanonlybeusedwithformencoding.当我

android - Okhttp 在与 Retrofit RxJavaCallAdapterFactory 一起使用时忽略 Dispatcher 设置

考虑以下OkHttp和Retrofit的初始化:publicstaticSomeServiceRestInterfacenewRestService(StringapiUrl){Retrofitretrofit=newRetrofit.Builder().baseUrl(apiUrl).client(createOkHttpClient()).addCallAdapterFactory(RxJavaCallAdapterFactory.createWithScheduler(Schedulers.io())).addConverterFactory(createGsonConverte

android - 如何使用 Retrofit(@Fields) 发送图像文件

我在这里使用@Fields数据和@FormUrlEncoded但我必须在同一个API@Part("user_image")RequestBody文件中使用它们与@Multipart。怎么可能?提前致谢。@FormUrlEncoded@POST("/datingapp/index.php/Webservice")CallsignupUser(@Field("user_name")Stringname,@Field("age")Stringage,@Field("work")Stringwork,@Field("home_town")Stringhome_town,@Field("gend

java - 如何在 Retrofit onResponse 的方法中返回数据?

我是改造新手,我想让我的getData方法返回一个要素对象。最简单的方法是什么?数据服务.javapublicclassDataService{privatestaticfinalStringTAG=MainActivity.class.getSimpleName();privatefinalApiClientapiClient;publicDataService(){apiClient=newApiClientFactory().createApiClient();}publicListgetData(){apiClient.getData().enqueue(newCallback

android - 同一字段有两种不同类型给 Retrofit 2 的 Gson 转换器带来麻烦

这是json模式:如您所见,rated可以是bool值和对象。我正在使用Retrofit2和Gson转换器。我应该如何为这个模式创建我的模型? 最佳答案 这是我解决这个问题的方法:在您的模型中创建自定义类型适配器并手动解析评级;publicclassAccountState{//@SerializedName("rated")//NOPE,parseitmanuallyprivateIntegermRated;//alsodon'tnameitratedpublicIntegergetRated(){returnmRated;}pu

android - 如何使用 Retrofit 2 获取 hashmap 响应

我正在尝试使用改造2获取json对象响应。我使用hashmap,因为键是动态的。这是我的响应类:publicclassCountries{privateMapdatas;publicMapgetDatas(){returndatas;}}Model类是:publicclassModel{@SerializedName("country_name")privateStringcountry_name;@SerializedName("continent_name")privateStringcontinent_name;publicStringgetCountry_name(){retu

android - Retrofit 中的 Rxjava observeOn 和 subscribeOn

观察:这个方法简单地改变了下游所有运算符(operator)的线程(https://medium.com/upday-devs/rxjava-subscribeon-vs-observeon-9af518ded53a)当调用API时,我想在IO线程上运行与服务器的通信,并希望在mainThread上处理结果。我在很多教程中看到下面的代码,毫无疑问它是正确的。但我的理解是相反的,所以我想知道我误解了什么。requestInterface.callApi().observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.i