如何观察数据库内容是否已更改

时间:2011-06-03 09:46:50

标签: android database observer-pattern android-contentprovider

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

机制中是否有任何构建?我已经阅读了ContentObserver类,但据我了解,它们只能与ContentProviders一起使用,而不能直接访问数据库。

1 个答案:

答案 0 :(得分:0)

我们可以用oracle数据库做同样的事情。 但是sqlite不支持存储过程。 你可以做的是你可以运行一个线程进行数据库操作。始终检查数据库中的数据。当数据库发生任何变化时。检查数据库是否有数据库更改,然后您可以调用您的应用程序。

如何从db调用

调用java程序

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

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

breif的步骤是:

  1. 使用loadjava(在oracle安装位置的bin目录中找到的命令行可执行文件)在oracle中加载java类。 $箱位GT; loadjava -user scott / tiger Java1.class
  2. 上面的类现在加载到数据库中,可以在dba_object视图中看到。

    1. 现在创建一个基于Java1.class构建的oracle存储过程OSP2,加载到数据库中。 $箱位GT;创建或替换过程OSP2作为语言java name'Java1.method1()'; 其中method1()是java类Java1中的方法。

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