草庐IT

RoboSpice

全部标签

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

我在带有Retrofit和OKHttp的Android上使用Robospice。使用RobospiceRequestListener将响应传递回Activity,一切都很好。问题是它只在连接超时或其他网络问题时返回失败。如果返回401,则它被归类为成功,但响应为空,因为它无法将JSON解析到我们的MobileAppSetupPOJO中。目前我必须对响应进行空检查,但我不知道是服务器错误还是有效的401是什么原因。publicfinalclassHTTPRequestListenerimplementsRequestListener{@OverridepublicvoidonReques

java - Robospice 存储对象,通过 Ormlite 在数据库中扩展 ArrayList

背景我一直在尝试修改RobospiceOrmliteexamplecode,我已经成功运行了。我所做的唯一更改是我有一个包含对象数组的JSON响应。我创建了2个类:publicclassFoosextendsArrayListpublicclassFoo最初我遇到了问题,因为我的JSON响应是一个没有外部容器的纯数组。我通过googlegroups了解到解决这个问题的方法是创建一个扩展ArrayList的“假”类(Foos)。这产生了以下代码:publicclassFooRequestextendsSpringAndroidSpiceRequest{privateStringbaseU

android-lifecycle - RoboSpice shouldStop() 真的需要吗?

我想知道是否需要SpiceManager的shouldStop()方法。我的想法是它应该从Activity/fragment中解除绑定(bind)可能的监听器,但是如果Activity无论如何都会被杀死,是吗事情?垃圾收集器仍将清理Activity/fragment,后台服务仍将单独完成。或者我在这里错了吗?当您忘记后台线程中的某些引用时,Android真的会泄漏吗?sourcecode中有一些(误导性的)评论:对于shouldStop()它说它将异步解除绑定(bind),对于shouldStopandJoin()同步地。但是shouldStop调用shouldStopAndJoin,

android - 使用带有 Retrofit 的 Robospice 将图像上传到 Google appengine

我正在尝试使用带有Retrofit的Robospice将图像上传到我的Google应用引擎blobstore。我可以获得GAE提供的上传URL,但是当我尝试将带有图像的URL作为MultipartPOST发送时,出现异常:E//RequestRunner.java:134(24689):Thread-3363Anexceptionoccurredduringrequestnetworkexecution:nullE//RequestRunner.java:134(24689):retrofit.RetrofitErrorE//RequestRunner.java:134(24689):

android - 使用 Robospice 和 Android Studio 的 Commons-Io Duplicate Entry 错误

我已经在以下问题上工作了几个小时,但还没有想出解决问题的方法。我尝试了StackOverflow中的以下修复程序(AndroidStudioupdateto1.0corruptsMultiDex和DuplicateZipEntryafterGradlePluginv0.13.1),但没有一个有效。我在尝试构建我的程序时遇到以下错误:Executionfailedfortask':app:packageAllDebugClassesForMultiDex'.>java.util.zip.ZipException:duplicateentry:org/apache/commons/io/C

android - Robospice - 在更改 Activity 时保持 spice 服务继续运行

我用了RoboSpice库来执行异步任务。从他们的示例来看,spice服务在BaseActivity中声明,它在Activity的onStart方法中启动,并在Activity的onStop中停止。一切都很好,但是当我想从互联网上下载文件,然后我切换到另一个Activity时,这个下载任务被取消了,因为spice服务停止了。看起来像:publicabstractclassBaseActivity{/**Therequestmanager.*/privateSpiceManagerrequestManager=newSpiceManager(RequestService.class);@

android - 在 robospice 中暂停后台进程

是否可以暂停当前正在运行的后台服务并从其执行停止点开始再次运行它?如果不是,是否至少可以在SpiceService完成执行之前发送一个信号来停止其执行? 最佳答案 我不是Robospice/Retrofit专家。但是,这是关于http连接的一般问题。要实现这一点,您需要编写低级代码来连接到服务器。打开服务流。这样你就可以检查流是否仍然打开。如果是,则将新数据添加到您的流已经从中获取数据以发送到服务的数组。因为你正在使用这个库。这是不适用的。您唯一的解决方案是取消/停止连接并建立新连接。这应该很简单:if(spiceManager.i

android - robospice 如何管理 Activity 生命周期?

我正在寻找有关androidrobospice库如何管理Activity生命周期的技术答案。从入门页面:https://github.com/octo-online/robospice/wiki/Starter-Guide“作为您的Activity(或其他上下文)的内部类,添加一个将更新您的UI的RequeSTLListener。不用担心内存泄漏,RoboSpice会管理您的Activity的生命周期。”我的问题是robospice如何自动更新请求监听器,以便在轮换后以及Activity被销毁并重新创建为新实例后,它仍然能够使用正确的上下文调用正确的监听器?我一直在尝试对源代码进行逆向

android - 使用 RoboSpice 有没有办法从异常中获取 HTTP 错误代码?

我正在编写一个使用RoboSpice的应用程序。在请求监听器onRequestFailure(SpiceExceptionarg0)中,有没有办法确定该错误是401HTTP错误的结果?我有一个后端服务,当token过期时返回401错误,当这种情况发生时我需要提示用户重新输入他们的凭据。有没有办法知Prop体发生了401HTTP错误?以下是我的请求示例。publicclassLookupRequestextendsSpringAndroidSpiceRequest{publicStringsearchText;publicStringsearchMode;publicLookupRequ