Notification/Event 用于 Content Provider 中的行和列级别观察

Notification/Event for row and column level observation in Content Provider

我的内容提供商有一个 Table。我想知道 table 行何时被修改。我正在为 Table URI 使用 Content Observer,它会告诉 table 何时被修改。然而,它并没有提供太多关于修改了哪一行以及修改了哪些列的信息。我正在寻找类似于 iOS API "handleManagedObjectContextDidChangeNotification" 的东西。是否有任何开源库或 API 可用于行和列级观察?

ContentObserver,以及整个 ContentProvider 框架,不支持您想要的。

如果提供者及其消费者在同一个应用程序中,您可以使用事件总线来引发更细粒度的事件。常见的事件总线实现包括 LocalBroadcastManager、greenrobot 的 EventBus 和 Square 的 Otto。

如果提供者及其消费者在单独的应用程序中,您将只能使用系统级广播或类似的 IPC 机制,您可以更好地控制协议。

将基于 ID 的 URI 发送到您的 contentobserver。然后 contentObserver 可以使用 id 获取更改的行。

uri 中 mytable 的示例 rowid 323。

content://com.example/mytable/323

抱歉,我无法从这台电脑访问我的 android 开发,或者我可以给出一个更准确的例子。