【问题标题】:How to observe if database content has changed如何观察数据库内容是否发生了变化
【发布时间】:2011-06-03 09:46:49
【问题描述】:

我想知道如何观察 Cursor 的基础数据库表是否已更改,以便我可以更新 UI。

是否有任何内置机制?我读过ContentObserver 类,但据我了解,它们只能与ContentProviders 一起使用,而不能在直接访问数据库时使用。

【问题讨论】:

    标签: android database observer-pattern android-contentprovider


    【解决方案1】:

    我们可以对 oracle 数据库做同样的事情。 但是 sqlite 不支持存储过程。 您可以做的是您可以运行一个线程进行数据库操作。经常检查数据库中的数据。每当数据库发生任何变化时。如果数据库大小发生变化,请检查数据库,然后您可以调用您的应用程序。

    如何通过db调用调用java程序

    从oracle存储过程调用java程序。

    假设有oracle存储过程OSP1和Java程序Java1。 现在需要在Java1上创建一个oracle存储过程OSP2。 然后我们可以简单地从 OSP1 调用 OSP2。

    简单的步骤是:

    1. 使用 loadjava(在安装 oracle 的 bin 目录中找到的命令行可执行文件)在 oracle 中加载 java 类。 $bin> loadjava -user scott/tiger Java1.class

    上述类现在已加载到数据库中,可以在 dba_object 视图中看到。

    1. 现在创建一个基于 Java1.class 加载到数据库中的 Oracle 存储过程 OSP2。 $bin> 创建或替换过程 OSP2 作为语言 java 名称“Java1.method1()”; 其中method1()是java类Java1中的一个方法。

    2. 现在可以直接执行 OSP2: 执行 OSP2; 或从 dbms_java 调用 或者可以从另一个oracle存储过程OSP1调用。

    【讨论】:

    • 感谢您的回答,但正如您已经提到的,SQLite 不支持此功能,我正在寻找适用于 Android 的解决方案。
    • 嗨,弗洛,我认为你必须为此编写自己的监听器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2019-10-26
    • 2019-03-18
    相关资源
    最近更新 更多