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

标签 android ormlite observable

我如何观察外部发生的变化,例如在服务中还是通过广播接收器?

我是这样听的:

myDao.registerObserver(this);

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

我正在使用 OrmLite v5.0

最佳答案

How can I observe changes if they are made externally, e.g. in a service or via a broadcast receiver?

ORMLite 观察器仅在监视对同一 myDao 实例的调用时起作用。 ORMLite 无法通过其他机制以某种方式拦截数据库调用以报告它们。这真的是您要问的吗?

您可以定期查询数据库以检测新行或对现有行的更改,但这看起来很昂贵。您当然可以将您的实体配置为使用当前时间更新 lastModified 字段以使其更容易。

另一种解决方案可能是某种数据库代理。其他解决方案是针对其他数据库更新,在更新行时发送某种带外通知。

希望这对您有所帮助。

关于Android, OrmLite - 观察dao的外部变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39317034/

相关文章:

java - 在日期结束后在列表 kotlin 中添加值

android - 使用 ORMLite 实现一个以 List<String> 作为 Column 类型的 SQLite 数据库

android - ORMLite 不处理 SQLiteExceptions?

JavaFX - TableView 不更新项目

firebase - 如何在不丢失动态更新的情况下组合 3 个 firebase observable

android - 制作我的 Ionic AngularJS 程序的 iOS 应用程序

安卓开发工具包。音频管理器。 setStreamVolume 最大 int 值

安卓 API-23 : InetAddressUtils replacement

android - 降低 ORMlite 的内部日志详细程度或禁用它

javascript - 如何在 KnockoutJS 中访问 ViewModel 之外的可观察对象?