我有一个HTTP服务器和Android应用程序。
所有数据 - > JSON格式。用于映射使用的Gson。
ORM - ActiveAndroid。
问题:我需要像观察者/通知器对象这样的东西,它可以告诉我,刚才更新了数据库中的一行。
这样的事情:
public void interface Observable<T> {
void onItemUpdated(T item);
}
所以我找一个解决方案。我已经阅读了ActiveAndroid docs,但它没有找到任何结果。也许我可以和ContentObserver
或类似的东西混在一起?
答案 0 :(得分:1)
如何创建一个日志表,您可以在其中为每个更新附加一行。 它有插入成本,但选择查询是如此之快。如果您担心性能,也可以存储每条记录的更新历史记录。
答案 1 :(得分:0)
您可以在数据库中创建新字段,其中包含更新的日期和时间,在db中的每个操作之后,您可以查询数据库,了解最近对数据库执行的更新
答案 2 :(得分:0)
您可以通过为要通知的表的URI实现自己的ContentObserver来实现此目的。 ActiveAndroid有自己的内容提供商,您可以使用它,也可以实现自己的内容提供程序。在我的一个项目中,我使用了ActiveAndroid并拥有自己的第三方应用内容提供商。在更新/插入/删除行时,内容提供商应通知您参考某个URI更改了某些内容,并且如果您有此URI的注册内容观察者,则会通知您。