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

时间:2015-11-21 11:48:16

标签: android activeandroid

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

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

ORM - ActiveAndroid

问题:我需要像观察者/通知器对象这样的东西,它可以告诉我,刚才更新了数据库中的一行。

这样的事情:

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

所以我找一个解决方案。我已经阅读了ActiveAndroid docs,但它没有找到任何结果。也许我可以和ContentObserver或类似的东西混在一起?

3 个答案:

答案 0 :(得分:1)

如何创建一个日志表,您可以在其中为每个更新附加一行。 它有插入成本,但选择查询是如此之快。如果您担心性能,也可以存储每条记录的更新历史记录。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以通过为要通知的表的URI实现自己的ContentObserver来实现此目的。 ActiveAndroid有自己的内容提供商,您可以使用它,也可以实现自己的内容提供程序。在我的一个项目中,我使用了ActiveAndroid并拥有自己的第三方应用内容提供商。在更新/插入/删除行时,内容提供商应通知您参考某个URI更改了某些内容,并且如果您有此URI的注册内容观察者,则会通知您。