通知android中数据表的变化

时间:2013-10-05 14:37:07

标签: android database contentobserver

在我的Android应用程序中,有一个服务将记录插入到数据库表A中,每当在数据库表A中插入任何新记录时,我都需要进行一些操作。

如何使用ContentObserver连续观察表A?当我们为了观察CallLogs和Contacts URIs而在表A中发生任何变化时,我应该给出什么URI来获得通知?

2 个答案:

答案 0 :(得分:2)

您无法与内容提供商“观察表格”。 SQLite数据库中的更改不能触发任何Java代码。

然而,您可以(这是联系人和日志提供商所做的)在每次插入后通知所有感兴趣的人。

所以:

  • 将您的插入移动到自定义内容提供程序中,并让它通知其侦听器
  • 或者 - 如果你需要更轻松的东西 - 发送一个简单的广播意图,说“数据已经改变”(并收听广播)。

答案 1 :(得分:0)

以相同的方式:创建自定义ContentProvider以访问数据库表