【发布时间】:2011-01-23 05:25:13
【问题描述】:
我正在开发一个具有以下情况的程序。
您想查找食谱,因此Activity 将调用数据库ContentProvider。
配方没有存储在本地,因此它会调用网络服务来获取数据。
此数据将存储在数据库中,因为我假设如果您不想保留本地副本,您会选择稍后将其删除,但您可能希望在不经常上网的情况下购物和烹饪。
所以我认为我的设计可能变得过于复杂。
我目前有一个 Service 将调用 REST 服务,还有一个 ContentProvider 用于访问数据库。
我现在正在考虑将Service 替换为ContentProvider,因为我不需要长时间运行的服务,因为它应该不会经常退出。
因此,Activity 将调用 db ContentProvider,如果查询为空,则 ContentProvider 将调用 REST ContentProvider,因为 Activity 不应该关心数据来自何处,然后 db ContentProvider 将存储信息在返回 Activity 之前。
这是我的方案的最佳方法,还是将 ContentProviders 链接在一起是不好的形式?
【问题讨论】:
-
你是怎么解决这个问题的?我有完全相同的情况,目前不知道如何从内容提供商启动服务(更喜欢使用 REST 服务)。
-
啊...这可能会提供更多信息:stackoverflow.com/questions/9112658/…
-
@Ixx - 我现在搁置了那个项目,所以我还没有解决它,但我希望在日历年年底之前回到它。
标签: android rest android-contentprovider