使用同步适配器来维护传入的Feed

时间:2011-05-04 19:02:16

标签: android android-syncadapter contentobserver

我找不到一个具体的例子,虽然它似乎是一个相当良好的路径,并且是同步适配器的主要目的之一。我已经实现了大部分这个但仍然有一些问题需要弄清楚。这是我现在的基本策略

PerformSync

  • 找出本地存储的最后一项
  • 如果没有本地商品,请将新商品拉到特定的最大尺寸
  • 如果有本地商品,请拉新商品直至到达本地商品
  • 删除超过最大商品尺寸的商品

我有一个带有内容观察者的列表适配器,它应该反映同步的信息。

问题: 如果所有这些都是合理的,那么我目前的困境是如何从数据库中删除项目。我假设我在内容使用时应该避免任何删除,但在我的同步适配器中,我如何知道当前是否正在观察数据? (观察者的静态地图?)

补充: 除此之外,我希望有一些这方面的例子,所以我可以预见其他问题。我知道谷歌IO谈话,它有一些很好的高级哲学,但细节会为许多非大师开发者创造奇迹。

我认为这是一个非常有价值的功能,所有Android倡导者都希望完成并做得正确,因为同步适配器是Android最令人向往的功能之一,并且只能帮助增加用户群,帮助我们所有人。

1 个答案:

答案 0 :(得分:2)

只是一个建议:也许同步适配器应该只添加新项目但不能删除旧项目,删除应该由应用程序完成。

注意:在应用显示电子邮件时,Android Gmail中的删除似乎正在发生。尝试在web-gmail中删除/存档消息,然后在Android中进行菜单刷新:同步将在后台运行,然后消息将在没有任何通知的情况下消失。所以它似乎是可以接受的。

<强>更新

也许您的同步适配器应检查您的活动是否处于活动状态,以及是否删除旧项目。如何检查您的活动是否有效:http://www.mannaz.at/codebase/android-activity-foreground-surveillance/