【问题标题】:How to connect HSQL (file based) with my android app?如何将 HSQL(基于文件)与我的 android 应用程序连接?
【发布时间】:2012-06-16 03:11:56
【问题描述】:

您好,我在将我的 android 应用程序连接到 HSQLDB 时遇到问题。

第一个问题:

是否有我应该使用的用于 HSQLDB 的特定 android jar 或者我可以使用任何 HSQL jar?

第二个问题:

如果我可以使用提供的 jar。我怎样才能使连接正常工作,我应该在 Class.forName("") 中放置什么,因为我在使用时遇到 ClassNotFoundException 错误: Class.forName("org.hsqldb.jdbc.JDBCDriver") 还是 Class.forName("org.hsqldb.jdbc.JDBCDriver").newInstance() ?

谢谢。

【问题讨论】:

  • 您是否在您的 Android 项目中包含该 jar?如果 HSQLDB 不使用 Android 上不可用的任何 API,它应该按原样工作。顺便说一句,为什么不直接使用 Android 内置的 SQLite?
  • 我确实包含了 hsqldb.jar 我尝试导入它以确保它存在并且它有效。至于为什么使用 HSQLDB:我正在使用桌面应用程序中的 hsqldb .script 文件并尝试在 android 应用程序上重建数据库。
  • 有两种可能性 - jar 包含在您的项目中,但未包含在最终的 Android APK 中,或者它使用了一些 Android 上没有的类。无论如何,将您的脚本移植到 SQLite 应该不会太困难。这将为您以后省去很多麻烦。
  • 但是 HSQL 脚本不会与 sqlite 完全兼容,我不想使用适配器。连 Sqlite 都不兼容 android 的 Sqlite
  • 有不同的版本有一些差异,但 SQLite 是 SQLite。它独立于平台。不要使用适配器,只需用 SQLite 语法重写你的脚本(除非你使用神秘的特性,否则应该基本相同)。

标签: android database hsqldb


【解决方案1】:

我已经能够在 Android 4.1 中建立与 HSqlDB 的连接。

任何希望在 Eclipse 中执行此操作的人,请确保您的库中有 hsqldb.jar 并确保它已导出。所有这些都在 Eclipse 中的 Project > Java Build Path 中。

我能够建立连接,并且它创建了一组新的数据库文件。我正在使用基于文件的数据库。具体来说,我正在为 Ouya 构建一个 LibGDX 游戏,但它应该适用于任何 android 项目。运行 Hsql 的代码与 Android 项目位于完全不同的项目中,因此我需要将其作为两者的库,并将其从 Android 项目中导出。

【讨论】:

    【解决方案2】:

    这已经很多年了,但我想我找到了问题所在。您需要确保拥有为适合您的目标 Android 版本的 jdk 编译的 hsqldb.jar。就我而言,我需要下载 hsqldb-2.6.0-jdk6.jar。在我发布此内容时,Android 11 (30) 仅支持 jdk 8。hsqldb.jar 的当前“最新”发布版本 (2.6) 为 11。

    【讨论】:

      猜你喜欢
      • 2019-12-03
      • 2011-08-21
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多