2010-07-27 9 views

Antwort

8

Die Dinge sind viel besser als ich erwartet habe. Ich habe jetzt ein Android-Handy (HTC Desire, Android 2.2) und ich habe einen ersten Test gemacht.

Öffnen und Schließen einer Datenbank ist bisher relativ langsam (Öffnen einer bestehenden Datenbank zum zweiten Mal dauert 0,2 Sekunden, schließen etwa 0,2 Sekunden), aber ansonsten sieht es aus wie H2 auf Android, auch wenn die Dalvik VM ist noch nicht so optimiert wie eine Desktop-JVM. Es ist zu früh, um konkrete Zahlen zu nennen, aber Android ist jetzt eine unterstützte Plattform.

+0

Hallo Thomas, können Sie einen Link oder ein Tutorial zur Verfügung stellen H2-Datenbank mit Android zu integrieren und zu beginnen, es zu verwenden. – Vignesh

+0

Es gibt keine Schritt-für-Schritt-Anleitung, die einzige Dokumentation ist http://h2database.com/html/tutorial.html#android –

+0

Ich habe es gelesen, erst danach suche ich nach einem Tutorial, auch ich ' Ich habe eine Frage dazu geschrieben, bitte schauen Sie http://StackOverflow.com/Questions/7204785/integrate-h2-Database-with-android – Vignesh

3

Ich wäre auch sehr interessiert an realen Leistungstests für die H2-Datenbank auf Android. Ich denke, dass H2 viel langsamer sein wird als SQLite, hauptsächlich weil die virtuelle Maschine auf Android immer noch nicht so gut ist. Das wurde mit Android 2.2 besser, aber ich denke, dass es immer noch einen großen Unterschied gibt. Meine Vermutung ist, dass H2 derzeit etwa 10 mal langsamer ist. Aber das ist nur eine Vermutung.

Über das Unicode-Problem: Was ist mit der Umwandlung von Zeichenfolgen in UTF-8, bevor sie in SQLite gespeichert werden?

+0

Mein Problem ist mit Funktionen wie LOWER und UPPER, die nur mit ASCII-Zeichen arbeiten, weil SQLite auf Android libicu nicht verknüpft hat. – Eduardo

+1

Ich weiß, es ist ein Schmerz, aber was ist mit dem Speichern einer zusätzlichen Spalte mit der 'oberen' Version von die Daten? Anstatt CREATE TABLE ADDRESS (NAME VARCHAR (255)) haben Sie CREATE TABLE ADDRESS (NAME VARCHAR (255), NAME_UPPER VARCHAR (255)) –

+0

Sie können einfach TEXT-Spalten verwenden; SQLite ignoriert VARCHAR-Längen trotzdem. –