Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何观察数据库内容是否已更改_Android_Database_Observer Pattern_Android Contentprovider - Fatal编程技术网

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

Android 如何观察数据库内容是否已更改,android,database,observer-pattern,android-contentprovider,Android,Database,Observer Pattern,Android Contentprovider,我想知道如何观察游标的底层数据库表是否已更改,以便更新UI 是否有任何内置机制?我已经读过这个类,但据我所知,它们只能与一起使用,而不能直接访问数据库 我们可以用oracle数据库做同样的事情。 但sqlite不支持存储过程。 您可以做的是运行一个数据库操作线程。始终检查数据库中的数据。当数据库中发生任何更改时。检查数据库,如果数据库大小发生变化,则可以调用应用程序 如何从db调用调用java程序 从oracle存储过程调用java程序 假设有oracle存储过程OSP1和Java程序Java1

我想知道如何观察游标的底层数据库表是否已更改,以便更新UI


是否有任何内置机制?我已经读过这个类,但据我所知,它们只能与一起使用,而不能直接访问数据库

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

如何从db调用调用java程序 从oracle存储过程调用java程序

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

breif的步骤包括:

  • 使用loadjava(在安装oracle的bin目录中找到的命令行可执行文件)在oracle中加载java类。 $bin>loadjava-用户scott/tiger Java1.class
  • 上面的类现在加载到数据库中,可以在dba_对象视图中看到

  • 现在创建一个oracle存储过程OSP2,它构建在数据库中加载的Java1.class上。 $bin>将过程OSP2创建或替换为java语言 名称“Java1.method1()”; 其中method1()是java类Java1中的一个方法

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


  • 谢谢你的回答,但正如你已经提到的SQLite不支持这一点,我正在寻找Android的解决方案。嗨,弗洛,我想你必须为此编写自己的侦听器