问题标签 [retrofit2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 当我的所有数据都来自同一个改造时,为什么使用 RecyclerView 而不是 ListView 会给我白屏结果?
我想在 RecyclerView 中显示来自GitHubApi的数据,但我做不到。我可以在 ListView 中显示这些数据。我可以将 RecyclerView 与我自己的List<>
集合数据一起使用。当我想将 RecyclerView 与 Retrofit 一起使用时,我的应用程序会显示白屏而不是抛出错误。我无法解决这个问题。
这是我的 RecyclerView 适配器类:
java - 改造 - 并行 HTTP 请求
我有一个 Android 应用程序,它目前正在使用 Retrofit 库来发出网络请求。我有很多并行异步请求。当所有请求都完成后,我现在怎么办?
http-headers - 改造 2.0 标头身份验证
现在这给了我在 Retrofit 2.0 中的失败返回,最初我没有“授权”标头,它给了我未经授权,这是可以理解的。但是现在我用我的身份验证令牌授权它并且它失败了。Retrofit 2.0 的新手,谢谢——
java - 如何解析 Retrofit 2 响应以显示数据?
我想使用 Retrofit 2 和 Gson(或 GsonFormat,我不太确定)从 API( http://jsonplaceholder.typicode.com/posts
)显示“标题”,我创建了以下类
Modal。爪哇
APIService接口,
MainActivity.java
json格式
所以我在 onResponse 方法中从 API 获得响应,但是
我如何将每个标题存储在 Modal.java 类的对象中,并且列表“用户”将包含 Modal.java 的所有对象,以便我以后可以使用“用户”列表上的迭代器。
java - 无法在 Retrofit 2 中获取 json 对象和数组
我正在尝试从 api http://badiyajobs.com/apis/v1/roles
解析 json但 response.isSuccess 返回 false
我的模态类是,
示例 json 是,
APIService.java 是,
MainActivity.java 是,
在这里,我在 logcat 上得到以下信息,
而不是 response.body() 的字符串表示
android - 在生产环境中使用 beta 库是否安全?
我愿意使用改造 2.0.0-beta3
http://square.github.io/retrofit/
有了库的基本功能,我不确定是否要进行改造,或者一般来说,在 beta 阶段使用具有基本功能的库是否同样安全,只要我对其进行了测试并且它正在工作(但没有工作台)标记)。
android - 使用 Retrofit+GSON+SugarORM 时出现长 id 问题
根据本教程,我正在使用 Retrofit 和 GSON 获取 JSON 并将其序列化为 POJO 。一切正常。为了将实例保存到 SQLite 数据库中,我使用了 Sugar ORM。我的 POJO 有字段 - 整数 ID。
Sugar ORM 要求 Integer id 应该是 Long。我说好的,把它弄长了。当我运行我的应用程序时,会出现此错误:
01-18 06:03:44.436 4498-4498/uz.cp.retrofitsandbox E/AndroidRuntime: 致命异常: 主进程: uz.cp.retrofitsandbox, PID: 4498 java.lang.RuntimeException: 无法启动活动 ComponentInfo{uz. cp.retrofitsandbox/uz.cp.retrofitsandbox.MainActivity}:java.lang.IllegalArgumentException:无法在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在 android.app.ActivityThread.access$800(ActivityThread.java:144) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5221) 在 java.lang.reflect.Method.invoke(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 原因:java.lang.IllegalArgumentException:无法为方法 GitApiInterface 的 uz.cp.retrofitsandbox.GitResult 类创建转换器。getUsersNamedTom 在 retrofit.Utils.methodError(Utils.java:201) 在 retrofit.MethodHandler.createResponseConverter(MethodHandler.java:67) 在 retrofit.MethodHandler.create(MethodHandler.java:32) 在 retrofit.Retrofit.loadMethodHandler(Retrofit.java :138) 在 retrofit.Retrofit$1.invoke(Retrofit.java:127) 在 java.lang.reflect.Proxy.invoke(Proxy.java:397) 在 $Proxy0.getUsersNamedTom(Unknown Source) 在 uz.cp.retrofitsandbox.MainActivity.onCreate(MainActivity.java:27) 在 android.app.Activity.performCreate(Activity.java:5933) 在 android.app.Instrumentation。 callActivityOnCreate(Instrumentation.java:1105) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) ...10 更多原因:java.lang.IllegalArgumentException: class uz.cp.retrofitsandbox.Item 在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:146) 在 com.google 声明多个名为 id 的 JSON 字段.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:83) 在 com.google.gson.Gson.getAdapter(Gson.java:359) 在 com.google.gson.internal.bind.CollectionTypeAdapterFactory。create(CollectionTypeAdapterFactory.java:52) at com.google.gson.Gson.getAdapter(Gson.java:359) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:122) at com.google .gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46) 在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.(ReflectiveTypeAdapterFactory.java:92) 在 com.google.gson.internal.bind。ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:91) 在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:142) 在 com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java: 83) 在 com.google.gson.Gson.getAdapter(Gson.java:359) 在 retrofit.GsonConverterFactory.get(GsonConverterFactory.java:50) 在 retrofit.Utils.resolveConverter(Utils.java:72) 在改造.MethodHandler.createResponseConverter(MethodHandler.java:65) ... 19 更多
此错误将我引导至此行(27):
所以我的问题是:为什么会发生这个错误?如何解决这个问题?
构建.gradle(应用程序)
onCreate(MainActivity.java):
GitApiInterface.java
GitResult.java
项目.java
android - Android:无法使用 Retrofit 2.0.0 beta 2 上传多部分图像文件
嗨,我无法使用改造 2.0.0-beta2 上传图像。它给了我“图像丢失”错误。尽管我检查了该文件是否存在于系统中,并且如果我在图像视图中显示它也可以正确显示。
需要上传的 URL:http: //mywebsite.com/signature/upload/
所以我的 BASE_URL 是 = http://mywebsite.com/
我的.gradle文件有这个:
SeriveGenerator.java类是
UploadService.java类是
最后在我的 android 活动中
所以我从活动中获得成功日志“成功”,但服务器文件不存在,使用邮递员,我尝试手动上传表单数据中的图像,正确上传。
android - 如何在改造 2 + rx-android 上注册全局错误转换器?
我的服务器在一切正常时返回域 java 对象,但在出现错误时返回一个 ErrorResponse 对象。(编辑:服务器返回 http 代码 40x,以及带有错误信息的 json 正文)如何在改造 2 + rx-android 上注册一个全局错误转换器以避免在每次调用时都做同样的事情?
目前我在每次通话时都这样做:
也许我应该编写一个自定义的 CallAdapterFactory 来自动处理这个问题,并返回一个带有 onError(ErrorResponse err) 的 Observable 而不是库存的 onError(Throwable t)?
关于如何实现这一目标的任何想法?
这是个好主意吗?
android - Multipart Retrofit 2.0 图片上传
我正在尝试通过 POST 多部分请求上传图像,该请求应具有如下结构:
--------------------------219391268715340 内容处置:表单数据;名称="照片[]"; 文件名="DSCF0157-Laptop.JPG" 内容类型:图像/jpeg
(字节数据)
我的代码:
由于 @PartMap 注释,我使用地图 - 我想上传多个文件。我的服务器返回 http 代码 200 - 但没有上传任何文件。Api 调用已经过测试 - 如果被我们的 Web 应用程序使用,它可以正常工作。知道我做错了什么