【发布时间】:2011-06-03 09:46:49
【问题描述】:
我想知道如何观察 Cursor 的基础数据库表是否已更改,以便我可以更新 UI。
是否有任何内置机制?我读过ContentObserver 类,但据我了解,它们只能与ContentProviders 一起使用,而不能在直接访问数据库时使用。
【问题讨论】:
标签: android database observer-pattern android-contentprovider
我想知道如何观察 Cursor 的基础数据库表是否已更改,以便我可以更新 UI。
是否有任何内置机制?我读过ContentObserver 类,但据我了解,它们只能与ContentProviders 一起使用,而不能在直接访问数据库时使用。
【问题讨论】:
标签: android database observer-pattern android-contentprovider
我们可以对 oracle 数据库做同样的事情。 但是 sqlite 不支持存储过程。 您可以做的是您可以运行一个线程进行数据库操作。经常检查数据库中的数据。每当数据库发生任何变化时。如果数据库大小发生变化,请检查数据库,然后您可以调用您的应用程序。
从oracle存储过程调用java程序。
假设有oracle存储过程OSP1和Java程序Java1。 现在需要在Java1上创建一个oracle存储过程OSP2。 然后我们可以简单地从 OSP1 调用 OSP2。
简单的步骤是:
上述类现在已加载到数据库中,可以在 dba_object 视图中看到。
现在创建一个基于 Java1.class 加载到数据库中的 Oracle 存储过程 OSP2。 $bin> 创建或替换过程 OSP2 作为语言 java 名称“Java1.method1()”; 其中method1()是java类Java1中的一个方法。
现在可以直接执行 OSP2: 执行 OSP2; 或从 dbms_java 调用 或者可以从另一个oracle存储过程OSP1调用。
【讨论】: