我已经使用 sqlite、h2 和 sybase 数据库在 android 上实现了一个 database-testapp。对于 sqlite,我还实现了 ormlite 接口。现在我很感兴趣是否可以在 android 上使用 ormlite 也可以使用 h2 或 sybase。
3 回答
我对此表示怀疑,但 H2 的答案似乎是肯定的。我刚刚创建了加载和使用 H2 的 ORMLite HelloAndroid 测试应用程序的 H2 版本。它似乎加载慢了很多,这可能更多是应用程序大小的函数,因为它必须包含 H2 jar,而不是 H2 与 SQLite 的性能
您可以在此处查看源项目。
此外,重要的是要记住 JDBC 不是 Android 下认可的代码路径。这似乎现在可以工作(使用 Android 2.1),但不能保证它会在未来版本的 Android OS 中使用。
我还在 4.16 版中向 ORMLite 添加了一个 STRING_BYTE 数据库类型,这样您就可以将 Unicode 字符串作为 BLOB 存储在数据库中。这允许人们使用 SQLite(和其他不兼容 Unicode 的数据库)来存储 Unicode 字符串。默认情况下它将使用 ,Charset.forName("Unicode")
但您可以指定字符集名称以另一种方式存储它。
我自己没有测试过,但我几乎可以肯定H2会起作用。最有可能的写入操作比 SQLite 慢(根据我的测试大约是它的一半),一些读取操作要快一些,有些比较慢。
Sybase Ultralite 12.0.1 确实支持Android,看起来有一个封闭的测试程序。此外,可能有一个 Sybase JDBC 驱动程序可以通过 TCP/IP 连接到 Sybase 数据库。然而到目前为止我还没有找到一个。
http://www.sybase.com/detail?id=1002288
SQL Anywhere Ultra Lite 在安卓上运行。
根据Android 上的H2 Database vs SQLite, h2 也可以在 android 上运行。