问题标签 [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 和 Jsoup
我有一个应用程序,我使用 Jsoup 从 Internet 获取 HTML 文件并将其解析为 POJO。然后我使用自定义内容提供程序将我的 POJO 持久化到 SQLite 数据库中。它有很多代码,并且某些事情很难实现,尤其是缓存(即如何确定我的对象已经在数据库中,如何管理过期等)。通过查看互联网,我了解到 RoboSpice 可能会来救援,因为它可以透明地处理缓存。但是,我还没有找到任何关于如何插入自定义解析器的示例(我的结果既不是 JSON 也不是 XML,只是我目前正在使用 Jsoup 解析的纯 HTML)。因此,如果您能指出一些相关的例子,我将不胜感激。
这是我在做什么的更详细的描述。我的应用程序读取某些网站以获取某些条目的列表。这些条目是基于日历的,我逐月请求它们。每个月的请求都会向我返回该月的条目列表。我想让这些请求可缓存和可查询,因此我需要一个数据库后端,以便我可以针对它运行自定义 SQL 查询。我应该使用哪种 RoboSpice 配置、哪些扩展以及我可以参考哪些代码示例?
提前致谢。
android - 使用 robospice ormlite 清除旧缓存数据
我使用 ormlite 来缓存 sqlite 数据库Robospice
。缓存后的数据如下:
表缓存条目(由 robospice 生成)
表事件结果
当时间到期时,robospice 将请求并将新的行数据添加到EventResult
.
问题是我只想清除旧数据(清除行 id 1、2 并保留行 id 3),EventResult
其中:
但它只清除了cacheentry
表中的缓存键行。
而这个清除了所有表中的所有数据。
您能否告诉我如何控制只清除旧数据并使用 robospice 将最新数据保留在表中?提前致谢。
更新:EventResult
已被许多其他表引用,我必须从它们中清除所有引用行。
java - RoboSpice:如何在 SpiceRequest 中触发 RequestListener.onRequestFailure 方法
我有一个扩展类,但是当方法发生故障时SpiceRequest
我需要调用该方法。我试图在该方法中引发异常,但这不会触发该方法。onRequestFailure(SpiceException)
loadDataFromNetwork()
onRequestFailure(SpiceException)
我怎样才能使这项工作?
android - RoboSpice-改造 POJO
我有一个这样的 JSON:
但问题是如何构造 POJO 类。在这些示例中,只有一个简单 JSON 示例。
我尝试过这样的事情:
在我使用的 RetrofitRequest 类中Test.Objects.class
任何帮助将不胜感激!
android - 用于非 maven 模式的 Robospice 罐子
我正在尝试构建一个没有 maven 的示例项目(core-basic),只需选择位于 repository/dependencies/1.4.9/robospice 的 jar 并将它们复制到 Android 项目 libs 文件夹即可。
我正在复制的罐子特别是这些:
- commons-io-1.3.2
- commons-lang3-3.1
- robospice-1.4.9
- robospice-cache-1.4.9
但是,Eclipse 显示此错误:
此外,我无法访问 jar 的内容,WinRar 说它们已损坏或无效。
那么,我做错了什么?我真的可以通过将它们复制到 libs 文件夹来使用这些 jar,还是我必须做更多的事情?为什么日食说他们无法阅读?
(在此先感谢。尽管我知道强烈建议为 Robospice 设置 maven,但我想知道为什么会发生这种情况)
android - Robospice - 在更改活动时保持香料服务继续运行
我使用RoboSpice库来执行异步任务。从他们的示例中,spice 服务在 BaseActivity 中声明,它在活动的 onStart 方法中启动,并在活动的 onStop 中停止。一切都很好,但是当我想从互联网下载文件,然后我切换到另一个活动时,这个下载任务被取消了,因为 spice 服务被停止了。看起来像:
所以我想知道是否有任何安全的方法可以让下载任务继续从 Spice 服务运行(此任务不触及 UI),并且另一个任务正常工作(意味着它们可以在停止活动时被取消)但它仍然可以尊重活动生活圈。
android - 我可以在服务中使用 SpiceManager 吗?
我正在尝试将 a 附加SpiceManager
到服务,但我得到:
服务流程看起来有点像这样:
这给了我服务启动后的类转换异常?
spring - robospice,spring-android,如何进行 oauth REST 调用
我有一个通过 REST 调用与服务器通信的 android 应用程序。OAuth 用于身份验证。一切都很好,有路标库和 AsyncTasks。
由于 AsyncTask 有很多缺陷(内存泄漏等),我试图用 RoboSpice 库实现 REST 调用。RoboSpice 非常酷。唯一的问题(对我来说也是一个大问题)是我无法弄清楚 OAuth 如何与 RoboSpice 相适应。
顺便说一句,我正在使用带有 spring-android 的 robospice。
android - 使用 RoboSpice 的 OkHttpBitmapSpiceManager 从 URL 加载图像时出现 NoClassDefFoundError
我正在创建一个使用 RoboSpice 进行异步网络调用的 Android 应用程序。虽然我没有使用 RoboSpice 的经验,但我选择了 RoboSpice,因为它被认为是 Internet 上最好的之一,而且它可以自动将 JSON 转换为 POJO。不幸的是,RoboSpice 的文档质量有点差。因此我的问题:
我已成功使用 RoboSpice 对 REST GET 方法进行网络调用,自动将 JSON 解析为 POJO,并在 Android ViewPager 中显示检索到的对象列表。我正在使用Jackson2GoogleHttpClientSpiceService来执行此操作。现在,在这个 ViewPager 中,我也展示了一张图片。显然,我想使用 RoboSpice 下载此图像。我使用了RoboSpice 示例之一(它使用 OkHttpBitmapSpiceManager 下载图像)作为指南,并据此将这一行添加到我的活动中:
此外,我已将此行添加到清单中:
现在,由于我没有在我的 Android 项目中使用 maven,我不得不将以下 jar 添加到我的项目中:robospice-ui-spicelist-1.4.9.jar(我显然添加了所有其他必要的 jar 以使用Jackson2GoogleHttpClientSpiceService,有效)。
问题是,应用程序甚至无法启动。每当我删除(或评论)包含new OkHttpBitmapSpiceManager()
应用程序的行时,它都能完美运行。所以显然调用构造函数是导致应用程序崩溃的原因。我从 logcat 收到以下错误:
对我来说,这个错误似乎与缺少 jar 或其他东西有关。但是我已经根据文档添加了所有必要的 jar。有 RoboSpice 经验的人可以向我解释我在这里做错了什么吗?我应该添加更多的罐子还是我错过了其他东西?或者我什至应该使用完全不同的方法来使用 RoboSpice 从 URL 加载图像?
编辑!
为了更清楚,我已将以下 jar 添加到我的 libs 文件夹和构建路径中:
- commons-io-1.3.2.jar
- commons-lang3-3.1.jar
- google-http-client-1.17.0-rc.jar
- google-http-client-android-1.17.0-rc.jar
- google-http-client-jackson2-1.17.0-rc.jar
- 番石榴-jdk5-13.0.jar
- 杰克逊核心2.1.3.jar
- jsr305-1.3.9.jar
- robospice-1.4.9.jar
- robospice-cache-1.4.9.jar
- robospice-google-http-client-1.4.9.jar
- robospice-ui-slicelist-1.4.9.jar
java - 如何将泛型类型的类作为参数传递?
我大致有以下代码:(SpiceRequest 是来自 RoboSpice 项目的类)
是否可以传递给泛型类型的其他方法类对象?(对不起,如果它是微不足道的,我是 Java 世界的新手)
编辑更详细的解释
我正在尝试替换AsyncTask
来自网络的女巫加载数据并SparseArray<MyService>
从SpiceRequest
RoboSpice 项目返回。Witch 需要T
在它的构造函数调用中提供。
MyService
不是安卓“服务”
编辑 2 通过小变通解决问题,添加新的中间类:
并传递:Result.class
给超级SpiceRequest
构造函数