问题标签 [robospice]

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.

0 投票
1 回答
905 浏览

android - 如何使用 Mockito 测试 Robospice 和 Retrofit 的 API?

我一直在关注这个博客条目,它展示了如何使用 Mockito 和 Retrofit 模拟请求。问题是我同时使用 Robospice,它不需要Callback在服务接口上提供 as 参数(因为它将是一个同步调用):

所以我不能以这种方式拦截我的测试中的回调:

有什么办法可以做到这一点吗?谢谢!

0 投票
1 回答
1310 浏览

android - 将 RoboSpice 与 Jackson2 和 Spring 一起使用

我想将 Jackson2 与SpringRoboSpice. 我的 libs 文件夹包含以下 jars 。

  • commons-io-1.3.2.jar
  • commons-lang3-3.2.1.jar
  • jackson-annotations-2.2.3.jar
  • 杰克逊核心2.2.3.jar
  • jackson-databind-2.2.3.jar
  • robospice-1.4.11.jar
  • robospice-cache-1.4.11.jar
  • robospice-spring-android-1.4.11.jar
  • spring-android-core-1.0.1.RELEASE.jar
  • spring-android-rest-template-1.0.1.RELEASE.jar

如此处所写将切换到如果找到jackson2 jars。SpringAndroidSpiceServicejackson2

应用程序崩溃并出现此异常:

我错过了什么?

0 投票
1 回答
1720 浏览

gradle - Android Studio:Gradle 出现重复文件错误

我想添加 Robospice 库时出错;这是我的 build.gradle 文件:

但不幸的是,Gradle 给了我这个错误:

APK D:\blablabla\build\apk\mtc-debug-unaligned.apk 打包过程中出现重复文件 任务“:mtc:packageDebug”执行失败。在 APK META-INF/LICENSE.txt 文件 1 中复制的重复文件:C:\Users\Anthony.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.2.1\66f13681add50ca9e4546ffabafaaac7645db3cf\ commons-lang3-3.2.1.jar 文件 2:C:\Users\Anthony.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.2.1\66f13681add50ca9e4546ffabafaaac7645db3cf\commons-lang3 -3.2.1.jar

谢谢你的帮助 !

安东尼

0 投票
1 回答
169 浏览

php - Android - 更新 PHP 会话的后台线程

我想知道是否有任何方法可以运行后台线程,它可以在所有活动之后运行。我需要在我的移动应用程序中更新我的 PHP 服务器上的会话,但我不想在每个 AsyncTask 类的 doInBackground 中创建它,而是在某个线程中,它在所有活动后面工作并每 15 分钟连接到服务器,以更新会话,所以我可以将 SID 存储在数据库中,并在每次需要时使用它。

我阅读了有关 Handler 和 Service 的信息,但据我了解,它们仅在特定活动中起作用,而不是在整个应用程序的背景中起作用,并且我无法根据需要与它们续订会话。我错了吗?

还是可以用 RoboSpice lib 以某种方式处理它?我听说过它,但从未检查过它的功能。

抱歉,如果我错过了已经提出和回答的类似问题。

0 投票
1 回答
1173 浏览

android - 我如何让 Robospice 将 Retrofit 和 OKHttp 的 200 响应以外的任何内容视为错误

我在带有 Retrofit 和 OKHttp 的 android 上使用 Robospice。对于使用 Robospice RequestListener 传递回活动的响应,一切都很好。问题是它仅在连接超时或其他网络问题时才返回失败。如果返回 401,则将其归类为成功,但响应为空,因为它无法将 JSON 解析为我们的 MobileAppSetup POJO。

目前我不得不对响应进行空值检查,但我不知道是服务器错误还是有效的 401 是什么原因。

我需要将这些错误传递给 onRequestFailure 回调,以便我可以正确处理它。有没有办法指定 Robospice 应视为错误的错误代码。我认为这涉及添加某种自定义错误处理程序,但目前确实找不到解决方案。

0 投票
2 回答
341 浏览

android - 使用 RoboSpice 将多个 Web 服务聚合为一个响应

我刚开始用RoboSpice替换我自己的网络请求代码并遇到了一个阻止程序。我需要做的是发出一个返回 json 的请求,然后这个 json 给了我 X 很多新的 url:s,我需要从中加载额外的数据才能完成请求。

我更愿意这样做,以便从片段的角度来看,它只是一个 spiceRequest,当我从RoboSpice GitHub 页面解释它时,它以某种方式支持这一点。

RoboSpice GitHub 页面中的“支持不同 Web 服务的聚合”

有没有人做过类似的事情,并想给我一些关于如何实现这一目标的信息?

或者:有谁知道我是否可以启动一个 spiceRequest,然后在 spiceService 中进行处理时启动 X 个新的 spiceRequest,我猜 RoboSpice 无法自行合并我的数据,并且进行实际合并不是问题这里。重要的是,我可以在 spiceService 仍在后台运行时执行此操作,这样即使活动/片段被破坏/重新创建,它也可以完成。

0 投票
2 回答
354 浏览

android - 杰克逊 - 无法序列化数组,UnknownLengthHttpInputStream

我正在为 Android 上的聊天编写 APE 协议的实现。当我发送连接请求时,答案是:

我的 POJO 是:

解析 JSON 时出现异常:

所以例外是:UnknownLengthHttpInputStream。也许这可能是问题所在:来自服务器的响应内容类型是 text/html (我无法更改),所以我使用 -method 将此类型添加到 Jackson 转换器支持的媒体类型。这可能是错误的原因吗?

0 投票
1 回答
224 浏览

android - 在广播接收器中使用 RoboSpice

我想知道是否可以在 BroadcastReceiver 中使用 RoboSpice,如果可以,我应该如何处理生命周期?

现在我只是调用方法spiceManager.start(context)onReceive(Context, Intent)但服务永远不会停止。

盖坦

0 投票
1 回答
358 浏览

android - 可以在非 UI 线程中运行 Robospice 侦听器吗?

我正在考虑使用 robospice 库。从文档/示例中,我看到请求在后台线程中执行,而在 UI 线程中的侦听器中执行。

我想知道是否有可能通过 robospice 在非 UI 线程上运行侦听器?

假设我有请求 A 和 B 以及侦听器(可以在 robospice 上执行),以防例如请求 B 取决于请求 A 的结果。所以当 A 完成时,它的侦听器执行请求 B。没关系,但是在如果我想读取用于请求 B 的文件的一部分,那么这会阻塞 UI 几毫秒,因为 A 的侦听器是在 UI 线程上执行的。

我可以通过使用例如 HandlerThread 来解决这个问题,但我不喜欢这样 UI 将表现为 A 和 B 之间的某种代理。

那么,可以在 UI 线程之外运行 robospice 侦听器吗?

0 投票
1 回答
271 浏览

android - 在 RestClient Robo Spice 请求中未调用 Androidannotations RestErrorHandler

我在我的 RestClient 中配置了 RestErrorHandler:restClient.setRestErrorHandler(restClientErrorHandler);

但它没有被调用。

我调试了代码,我在生成的 RestClient_ 类中看到 restTemplate.exchange 正在引发异常,但是正在为 response.getBody() 而不是整个方法生成调用我的 RestErrorHandler 的 try catch。

这是 Androidannotations 中的错误还是我做错了什么?

我在 Robo Spice 请求中使用我的 Androidannotations RestClient。谢谢!