Android - 通知观察者 sqlite 查询/ View 的变化

标签 android sql sqlite

我正在开发一个应用程序,我需要在其中更新数据库,然后在更新改变了他们正在观察的内容时通知感兴趣的观察者。在我看来,一个明显的方法是定义触发器,当观察到的数据发生变化时调用回调(例如,参见 http://www.mail-archive.com/sqlite-users@sqlite.org/msg32753.html )。但是,Android SQLite 绑定(bind)似乎不支持用户定义的函数,这扼杀了这个想法。任何人都可以就如何执行此操作提供其他建议吗?

我可能可以在不涉及数据库的情况下实现更改通知机制,但我宁愿不这样做,因为使用现成数据库的很大一部分原因是为了获得这种功能......

干杯, 扣篮

最佳答案

Duncan,你能给我们介绍一下你想通过这样做实现的目标吗?似乎您正在从您的应用程序中以编程方式将信息写入数据库,然后您可能希望也可能不想明显地通知用户?如果是这种情况,我不确定是否需要一个单独的数据库触发器概念来控制通知。如果这些是分离的 Activity 或存在其他一些实质性分离,我认为您可能需要考虑编写自己的自定义 Intent 以在数据库写入期间触发并设置“感兴趣的观察者” Activity 以接收它。

如果没有对 SQLite 实现的更强大支持,我认为在您的应用程序中处理它是您可以争取的最佳选择。

Android Intents 文档:http://developer.android.com/guide/topics/intents/intents-filters.html

自定义 Intent 示例:http://thinkandroid.wordpress.com/2010/02/02/custom-intents-and-broadcasting-with-receivers/

关于Android - 通知观察者 sqlite 查询/ View 的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568084/

相关文章:

mysql - SQL多列命令

android - 如何在预加载的数据库中填充 ListView

android - 进度条未在线程 android 中更新

java - 根据recyclerview中的最后聊天记录显示用户

android - 卡在与 GoogleApiClient 的连接失败循环中

android - Codename One - 跨平台 BrowserComponent 页面加载指示器

mysql - 使用连接从 MySQL 数据库中选择 2 列

sql - 将行合并为一个结果并将结果添加为 SQL 中的不同值

c# - Xamarin Android C# SQLite 参数查询

python - 选择查询非常慢,我怎样才能加快速度?