Android,OrmLite - 观察Dao的外部变化

3
如何观察外部变化,例如在服务或通过广播接收器进行的更改?
我可以这样监听:
myDao.registerObserver(this);

当数据库在服务或广播接收器中发生更改时,方法void onChange()不会被调用。

我正在使用OrmLite v5.0

1个回答

1
如果更改是外部进行的,例如通过服务或广播接收器,我该如何观察更改?ORMLite观察程序仅在监视对同一myDao实例的调用时才起作用。 ORMLite没有办法拦截通过其他机制的数据库调用以报告它们。 这真的是你想问的吗?您可以定期查询数据库以检测新行或现有行的更改,但这似乎很昂贵。 您当然可以配置实体以使用当前时间更新lastModified字段,以使其更容易。 另一个解决方案可能是某种类型的数据库代理。 其他解决方案是在更新行时发送某种类型的带外通知。 希望这可以帮助到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接