datenbank speicherplatz

  • Antworten:16
Christian
  • Forum-Beiträge: 10

09.09.2010, 17:42:41 via Website

hallo,
ich habe ein kleines (mein erstes) programm mit einer sqlite datenbank geschrieben, dazu habe ich die datenbank am desktop angelegt und mittels DDMS auf den emulator unter data/data/packegename/databases hochgeladen und siehe da es hat alles super funktioniert.
nun hab ich mein htc legend angeschlossen und das programm dort installiert, leider funktioniert es dort nicht mehr, wird die datenbank nicht automatisch mit installiert ? leider habe ich ja keinen zugriff auf den data ordner auf dem legend. wie bekomme ich die datenbank nun auf mein handy?

lg, christian.

Antworten
L3322
  • Forum-Beiträge: 467

09.09.2010, 17:49:46 via App

du musst deiner app sagen dass Sie die Datenbank erstellen muss

"Hard work beats talent, when talent fails to work hard"

Antworten
Christian
  • Forum-Beiträge: 10

09.09.2010, 20:24:56 via Website

aber dann bekomme ich ja nur eine leere datenbank, oder? ich würde aber gerne mit einer schon bestehenden sehr unfangreichen datenbank arbeiten.
aus diesem grunde habe ich ja die datenbank am desktop mit einem sql manager hergerichtet.
lg

Antworten
Stefan Medack
  • Forum-Beiträge: 206

09.09.2010, 21:41:19 via Website

Berichtige mich einer wenn ich mich irre, aber ist sql überhaupt zu sqlite kompatibel? Ich würde behaupten, dass ein SQLite-Manager keine SQL-DB mounten kann...

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

09.09.2010, 21:47:12 via Website

Planung ist alles ;)

SQLite ist kompatibel, immerhin ist es eine SQL Datenbank!

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Christian
  • Forum-Beiträge: 10

09.09.2010, 22:52:11 via Website

sorry, war etwas unpräzise, meinte natürlich einen sqlite manager!

lg

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

09.09.2010, 23:22:23 via Website

ich würde aber gerne mit einer schon bestehenden sehr unfangreichen datenbank arbeiten.

Stell den Code so um, das die App die DB auf der SD-Karte verwaltet, das ist nicht nur besser für den internen Speicher, sondern erleichtert auch das Aufspielen der DB auf beliebige Devices.


wird die datenbank nicht automatisch mit installiert ?

Dazu müßtest du sie in den assets ordner deines Projektes kopieren und deine App um Code ergänzen, der die DB beim ersten Start von assets nach databases umkopiert -> dann belegt sie aber auch zweimal Speicherplatz...

Antworten
Christian
  • Forum-Beiträge: 10

09.09.2010, 23:34:12 via Website

dann werd ich sie auf die sd-karte legen, damit ist sie auch wesentlich leichter zu verwalten

vielen dank und lg.

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

10.09.2010, 00:28:07 via Website

dann werd ich sie auf die sd-karte legen, damit ist sie auch wesentlich leichter zu verwalten

So isses ;)


vielen dank

Gerne :)

Antworten
Stefan Medack
  • Forum-Beiträge: 206

10.09.2010, 10:00:36 via Website

and dev
dann werd ich sie auf die sd-karte legen, damit ist sie auch wesentlich leichter zu verwalten

So isses ;)


vielen dank

Gerne :)

Wird vom "auf die SD-Karte legen" nicht eigentlich bei der Datenbank abgeraten? Ich mein ich weiß nicht wie wichtig die DB ist, aber wenn du die SD-Karte am Rechner gemountet hast, wird deine Anwendung wahrscheinlich mit lauter Fehlermeldungen abschmieren, weil die Datenbank weg ist...

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

10.09.2010, 10:06:25 via Website

Stefan M.
and dev
dann werd ich sie auf die sd-karte legen, damit ist sie auch wesentlich leichter zu verwalten

So isses ;)


vielen dank

Gerne :)

Wird vom "auf die SD-Karte legen" nicht eigentlich bei der Datenbank abgeraten? Ich mein ich weiß nicht wie wichtig die DB ist, aber wenn du die SD-Karte am Rechner gemountet hast, wird deine Anwendung wahrscheinlich mit lauter Fehlermeldungen abschmieren, weil die Datenbank weg ist...

das musst du dann halt absichern ;)

swordiApps Blog - Website

Antworten
Stefan Medack
  • Forum-Beiträge: 206

10.09.2010, 10:22:53 via Website

Markus Gursch
das musst du dann halt absichern ;)

Ich glaub wir haben da aneinander vorbei geredet. Das man das Absichern kann und muss, ist mir klar. Deshalb ja auch die Frage wofür die Datenbank ist. Wenn sie essentiell für das Programm ist, dann sollte man es sich wirklich überlegen sie auf die SD-Karte zu packen.

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

10.09.2010, 11:01:55 via Website

Stefan M.
Markus Gursch
das musst du dann halt absichern ;)

Ich glaub wir haben da aneinander vorbei geredet. Das man das Absichern kann und muss, ist mir klar. Deshalb ja auch die Frage wofür die Datenbank ist. Wenn sie essentiell für das Programm ist, dann sollte man es sich wirklich überlegen sie auf die SD-Karte zu packen.

natürlich muss man sich das gut überlegen, aber wenn die db extrem groß ist, ist es nicht gut sie in den internen speicher zu geben

swordiApps Blog - Website

Antworten
Christian
  • Forum-Beiträge: 10

10.09.2010, 23:14:09 via Website

so jetzt wollte habe ich die datenbank auf die sd-karte gelegt und wollte mit folgendem befehl die db öffnen:
1db = openOrCreateDatabase ("/sdcard/flock1",MODE_PRIVATE,null);

aber so einfach scheint das nicht zu funktionieren, er wirft immer eine exception:
File contains a path seperator.

lg, christian

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

11.09.2010, 11:06:53 via Website

schonmal die java doc dazu gelesen ?

gruss aus polen,
mac

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

11.09.2010, 11:14:56 via Website

Deine DB soll "flock1" heissen?
Oder ist "flock1" ein Ordner auf der SD, in dem die DB liegt?

Ich benutze
SQLiteDatabase.openDatabase("/sdcard/project/project.db3", null, SQLiteDatabase.OPEN_READWRITE);
Pfade sind also normalerweise kein Problem.

Antworten
Christian
  • Forum-Beiträge: 10

11.09.2010, 20:31:17 via Website

vielen vielen dank euch allen :) !!!!

mit :
SQLiteDatabase.openDatabase("/sdcard/project/flock1", null, SQLiteDatabase.OPEN_READWRITE);

hat es funktioniert.

warum es einen so schwer gemacht wird eine bestehende datenbank unter \data abzulegen bleibt mir zwar ein rätsel aber für meine zwecke reicht auch die sd-karten version.


lg, christian.

Antworten