问题标签 [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.
android - 在使用 RoboSpice 执行网络请求之前从缓存中获取数据
我正在使用 RoboSpice 并希望在我的应用程序中具有以下行为:
- 用户启动需要来自服务器的数据的活动
- spiceManager 检查数据是否被缓存,如果是则返回。
- 无论是否返回了缓存数据,都会向服务器发出请求
- 当新数据从服务器到达时,我用它更新 UI(如果活动仍然处于活动状态)
它应该类似于 facebook 应用程序:当您打开它时,您会立即看到一个过时的时间线,并最终收到更新。
起初我认为spiceManager.getFromCacheAndLoadFromNetworkIfExpired()
这是实现这一点的好方法,但如果数据被缓存并且有效,它只是返回缓存而不在它之后立即发出网络请求。DurationInMillis.ALWAYS_EXPIRED
我用和都试过了DurationInMillis.ALWAYS_RETURNED
。
我应该使用getFromCache()
来检索缓存的数据,然后从内部onRequestSuccess()
调用spiceManager.execute()
always_expired 作为参数吗?或者有更好/更简单的方法来做到这一点?
提前感谢您的帮助!
[编辑] 这些链接可能会添加到讨论中: https ://groups.google.com/forum/#!topic/robospice/n5ffupPIpkE/discussion https://groups.google.com/forum/#!topic/robospice/ LtoqIXk5JpA
android - 待处理的请求完成后如何询问 Robospice?
我正在使用 Robospice。我想编写一些可重用的代码来停止 ProgressBars 和 ProgressDialogs 待处理的网络请求已清除当前活动。但是,我遇到了几个问题。
我通过检测自定义 SpiceServiceListener 来调用我在每个活动中实现的自定义回调来观察请求何时完成。在 onRequestAdded() 期间,我会显示任何 Progress UI 元素。在 onRequestSucceeded()、onRequestFailed() 和 onRequestCancelled() 期间,我检查 getSpiceManager().getPendingRequestCount() 以查看它是否达到零,然后隐藏任何 Progress UI 元素。
在我的应用程序中,未决请求计数从未达到零(至少在这三种方法中),但它似乎停止在 1。这是真的,即使我可以从 Retrofit 日志中看到我的请求似乎都已完成。
未决请求计数是全局的还是特定于当前活动及其香料管理器实例?是否有更好的方法来监视当前活动中完成的所有请求?
java - Robospice 动态映射
有人可以告诉我如何在我的“RequestResult.java”中使用 RoboSpice 进行动态映射吗?
我的 JSON 看起来像这样:
或者
根据请求,类型是 x 或 y。所以如果 "type": "x" 我有必要使用模型 "x.java" 如果 "type" : "y" 需要使用模型 "y.java"
android - 未能构建示例 robospice-sample-ormlite-content-provider Robospice
无法构建项目 robospice-sample-ormlite-content-provider 我使用 maven:
我尝试了 2 个多小时,所有在网上找到的解决方案都没有运气。任何人都可以提供准备好的eclipse项目吗?
谢谢。
编辑 2: 我使用Ropospice库并尝试编译示例项目: https ://github.com/octo-online/robospice
EDIT1: pom.xml
java - 具有嵌套 JSON 和名称作为变量的 Jackson 模型的映射不正确
尝试使用 RoboSpice 和 Jackson 映射获取响应时出现以下错误,因为返回的错误 JSON 映射不正确
使用 Curl 我得到以下正确响应:
我的模型对象失败的休息如下,问题是“错误”项目没有正确映射但我不确定它应该是什么,因为变量名“电子邮件”可以更改(即“代理”、“供应商” “ , ETC..)
android - 如何使用 RoboSpice 在套接字上监听服务器推送的数据?
我正在尝试使用 RoboSpice 为我的应用程序维护一个持久的 TCP 套接字。(出于电池寿命的考虑,很多人不建议保持持久连接,但是,我的应用是实时应用,所以我需要保持连接打开)。我不仅需要向远程服务器发送请求,还希望监听来自套接字的传入数据。RoboSpice wiki 和示例展示了如何发送请求,但如何利用框架来处理传入数据并在传递传入数据时执行某些操作?
@Snicolas,感谢您的出色工作。你能给我一些提示吗?谢谢你。
android - 通过在改造中透明地发送另一个请求来处理特定错误
这是我要处理的情况,
- 如果执行了请求,并且响应表明身份验证令牌已过期,
- 发送刷新令牌请求
- 如果刷新令牌请求成功,则重试原始请求
这对调用的Activity、Fragment...等应该是透明的。从调用者的角度来看,这是一个请求,一个响应。
我之前在直接使用 OkHttpClient 时已经实现了这个流程,但是我不知道如何在 Retrofit 中实现这一点。
也许与这个关于 ResponseInterceptor 的公开问题有关?
如果在改造中没有直接的方法来实现这一点,那么实现它的最佳方法是什么?基础监听器类?
我也在使用带有 Retrofit 的 RoboSpice,如果它在这种情况下有用的话。
android - 使用 RoboSpice 并行执行
通过异步执行一堆请求的最简单方法是什么RoboSpice
?
我在某处读到需要实现 aRequestRunner
但我不知道如何将它与 合并,有SpiceManager
什么想法吗?
android - 带有 Robospice 的 Android:使用 Json 数据获取请求
我用 Robospice 开发了一个 Android 应用程序。从我的移动应用程序到我的远程服务器的交换基于请求和答案的 Json(Http GET 和 POST)。
所以我创建了一个这样的 JsonSpiceService :
我的 GET 请求:
此请求与标准服务 JacksonSpringAndroidSpiceService 一起发送:
我的 POST 请求:
此请求与我的扩展服务 JsonSpiceService 一起发送:
当我想发送带有 Json 数据(POST)的请求时,它可以工作。但是当我发送 GET 请求时它不起作用;收到的结果始终为空(我的 Json 反序列化)。对于我的 GET 请求,我必须使用标准服务:JacksonSpringAndroidSpiceService
但我不知道为什么我的 JsonSpiceService 不适用于 GET 请求......
感谢你们 !
android - 如何更改 Robospice/Jackson 中的根 JSON 数组元素名称?
我在Robospice和Google HTTP Java 客户端中使用了这个 Request 类:
我使用的是:
和
如何将根数组名称(从“项目”)更改为其他名称?我已经尝试过@JsonProperty("Foo")
,但这并没有做任何事情。