如何知道数据库中的数据发生变化的时刻(ActiveAndroid ORM)



我有一个HTTP服务器和Android应用程序。

所有数据->JSON格式。对于使用的映射Gson。

ORM-ActiveAndroid。

问题是:我需要一个类似于observer/notifier对象的东西,它可以告诉我,数据库中的一行刚刚更新。

类似这样的东西:

public void interface Observable<T> {
    void onItemUpdated(T item);
}

所以我在寻找解决方案。我读过ActiveAndroid文档,但没有得到任何结果。也许我可以把ContentObserver或类似的东西混合在一起?

如何创建一个日志记录表,在其中可以为每次更新追加一行。它有插入成本,但选择查询太快了。此外,如果需要,还可以存储每个记录的更新历史记录,如果担心性能问题,则可以删除日志记录。

您可以在数据库中创建新的字段,其中包含更新的日期和时间,在数据库中执行每次操作后,您可以向数据库查询最近对数据库进行的更新

您可以通过为要通知的表的URI实现自己的ContentObserver来实现这一点。ActiveAndroid有自己的内容提供商,您可以使用或实现自己的内容,它可以与您的表一起使用。在我的一个项目中,我使用了ActiveAndroid,并拥有自己的第三方应用程序内容提供商。在更新/插入/删除一行后,内容提供商应该通知您某个URI发生了更改,如果您有一个注册的内容观察员,您将收到通知。

最新更新