2010-07-27 114 views

回答

8

事情比我预期的要好得多。我现在有一个Android手机(HTC Desire,Android 2.2),我做了第一个测试。

到目前为止打开和关闭数据库相对较慢(第二次打开现有数据库需要0.2秒,关闭大约0.2秒),但除此之外,它看起来像H2在Android上表现相当好,即使Dalvik VM还没有像桌面JVM那样优化。现在提供具体的数字还为时尚早,但Android现在是一个受支持的平台。

+0

您好托马斯,你能提供一个链接或教程来整合H2数据库与Android并开始使用它。 – Vignesh 2011-08-29 07:19:39

+0

没有一步一步的教程,唯一的文档是http://h2database.com/html/tutorial.html#android – 2011-08-29 08:06:09

+0

我已阅读它,只有在那之后,我正在寻找一个教程,已经发布了一个关于这个问题,请看看http://stackoverflow.com/questions/7204785/integrate-h2-database-with-android – Vignesh 2011-08-29 08:24:41

3

我也会对Android上H2数据库的实际性能测试非常感兴趣。我认为H2会比SQLite慢很多,主要是因为Android上的虚拟机还不是那么棒。 Android 2.2的性能有所提高,但我认为还是有很大的不同。我的猜测是H2目前慢了大约10倍。但这只是一个猜测。

关于Unicode问题:在将字符串存储到SQLite之前,如何将字符串转换为UTF-8?

+0

我的问题是像LOWER和UPPER这样的函数只能用于ASCII字符,因为Android上的SQLite没有链接到libicu。 – Eduardo 2010-07-27 20:24:52

+1

我知道这是一个痛苦,但是如何存储一个额外的列'uppercased'版本数据?因此,您不使用CREATE TABLE ADDRESS(NAME VARCHAR(255)),而使用CREATE TABLE ADDRESS(NAME VARCHAR(255),NAME_UPPER VARCHAR(255)) – 2010-07-28 06:39:50

+0

您只能使用TEXT列;无论如何,SQLite会忽略VARCHAR长度。 – 2010-09-06 14:06:48