在安卓系统中,RoboSpice库是什么?

8

我正在尝试理解Android中的RoboSpice库


我在这里看到了在线文档


我的尝试:

  • 我之前学习过使用Spring库,还有Retrofit、AsyncHttp等
  • 我明白以上所有库都将JSON响应转换为POJO

我需要更多信息:

  • 当我看到Robospice的文档时,它似乎是围绕着SpringRetrofitAsyncHttp等的一个包装器
  • 这是真的吗?
  • 因此,通过使用RoboSpice,我们可以选择底层层次为SpringRetrofitAsyncHttp
  • 如果这样做,RoboSpice会将SpringRetrofitAsyncHttp等作为样板代码,使开发更容易

如果我不正确,请提供关于此的清晰信息


我是Android新手,请回答时简单易懂

1个回答

15

我不是RoboSpice的专家,以下是该功能的简要解释:

在我们的应用程序中经常需要进行异步网络操作(例如从URL获取图像等)。

一种常见技术是在AsyncTask对象中执行网络请求。

问题在于,AsyncTask对象不受活动生命周期的控制。

当设备配置更改发生时(例如旋转设备),会创建一个新活动(请参阅处理运行时变化)。创建异步网络请求的原始活动现在已被销毁,但AsyncTask仍在工作。正在执行网络操作的AsyncTask可能会尝试使用某些进度信息更新UI(例如下载已完成),但AsyncTask仍然引用已被销毁的原始活动。我们需要将AsyncTask附加到新的活动上。

我的了解是RoboSpice可以解决这个问题。我无法评论RoboSpice的底层实现。


感谢提供有价值的信息 [+1]...... 另外,除了Robospice之外,我还可以用什么其他方式来处理Android中的运行时变化?哪种方式最好,例如(游标适配器,无限适配器等)用于处理运行时变化? - Devrath
在Android中,这些运行时更改被称为“配置更改”。有许多处理配置更改的方法。处理这些更改的推荐方法是使用Fragments,因为Fragments可以在配置更改后保持活动状态。有许多在线教程可以解释如何使用Fragments,快速的谷歌搜索应该能给你所需的所有信息。 - 2bard
我也是Robospice的新手,我认为它可以做Spring Android(底层)所能做的一切,甚至更多。在这里看看:https://github.com/stephanenicolas/robospice/wiki/Spring-Android-module - Simon
有人能告诉我,我应该使用okhttp3而不是robospice吗?还是我需要使用retrofit + okhttp3 + rxjava来实现robospice的功能? - sejn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接