Robospice/Retrofit后台服务访问数据库

say*_*now 8 android robospice retrofit

我已成功创建了一个Retrofit API Rest客户端,同时进行GETPOST调用,并将其作为后台服务整合到Robospice中.

但是,我希望Robospice服务连接到数据库,并从GET调用异步地保留检索到的对象.使用Retrofit Callback类似乎是显而易见的方式,但连接到数据库需要Context,我担心泄漏Context.

那么,在处理请求之前和之后,让Robospice SpiceService将数据持久保存到数据库的最佳方法是什么?

say*_*now 2

最后,当我批量处理各种Rest API 服务调用以保存无线电(Reto Meier Dev Bytes:高效数据传输)时,我RetrofitSpiceService从包含Robospice SpiceServiceDatabaseHelper(需要) 以及Rest服务的Context相应回调。Retrofit

这样,控制器服务处理所有触发(AlarmManager触发控制器服务)并持久化到数据库,并且 Rest 服务可以正常关闭自己context,而无需了解database或类似的情况。

对于@lion789:
我有 4 个模型,每个模型都有一个相应的 API 调用来与服务器同步(1 个POST,3 个GET)。
为了处理这些同步调用,我有一个IntentService包含 4 个SpiceManager属性和 4 个Retrofit Callback类 - 每个模型/API 调用一个。
传递IntentService一个Enum指示应调用的 API 序列的参数。
调用IntentService适当的SpiceManager运行,然后Callback触发持久性并调用一个IntentService方法来触发序列中的下一个 API 调用。

当我将其用于我的身份验证和推送注册代码时,其中很多内容都是抽象和接口的,因此描述起来有点噩梦,但到目前为止它运行得很好。