Sqlite in APK integrieren

B

Bladefs

Erfahrenes Mitglied
14
Hi Leute,

vll. kann mir ja hier einer helfen, nachdem Stundenlanges Googlen, SDK und Tuts lesen nichts gebracht haben:

Ich möchte mir ein kleines App zu einer meiner Datenbanken schreiben.
Java kann ich so einigermaßen und auch Android Apps habe ich schon ein paar einfache versucht.

Jetzt möchte ich gerne anstatt eines Files eine DB einlesen und bin auf SQLite gestoßen.

Wenn ich per Java auf ne DB zugreif muss ich ja den "Treiber" einbinden und dann die DB aufrufen :
Code:
private void openConnection(){
		try {
				Class.forName("com.mysql.jdbc.Driver");
				System.out.println("Treiber erfolgreich geladen!!");
				this.connection = DriverManager.getConnection(			"jdbc:mysql://localhost/inventar","root","");
				System.out.println("Connection erfolgreich hergestellt!!");
			} catch (ClassNotFoundException e) {
				System.out.println("Treiber nicht gefunden !!");
				//e.printStackTrace();
			} catch (SQLException e) {
				System.out.println("Connection nicht aufgebaut!!");
				//e.printStackTrace();
			}
	}
Jetzt will ich eine SQLite DB erstellen (ist ja blos ein File) und das wie eine MP3 oder ein Icon in das App integrieren (ich weis, das macht die APK groß aber is ja nur für mich)
Frage NR1: In welchen Ordner muss das, in RAW scheint es nicht zu gehen
Frage NR2: Wie sag ich meiner OpenConnection wo die Datei liegt? (Treiber Einbindung bekomm ich selbst hin)
FrageNR3: Wie würde es gehen wenn ich der App sage die DB liegt auf der SD Karte (wäre aber nicht die Lösung meiner Wahl)

Vielen Dank schon mal
 
oder hat ein anderer ne Idee eine Datenbank in ein App zu integrieren??

*Push*
 
sqlite-Unterstützung ist schon in Android integriert, du musst in der app nur sagen, dass du eine Datenbank haben willst (mit Namen und create Statement) und Android erstellt dir eine, die du dann aus der App immer verwenden kannst. Tutorials sollte es dazu einige geben, habe glaube ich damals nach Android + Datenbank + Tutorial gesucht bei Google.

Sent from my HTC Wildfire using Tapatalk
 
Ok, das wäre dann wohl das" sqlitedatabase "objekt. Ich kennt das aber,das man erst ne connection aufbauen,dann ein Statement und resultset öffnen muss.hier scheint das nicht der Fall zu sein,da android nicht erst noch den Treiber einbinden muss ?
Falls das so stimmt sollte ich zumindest nun wissen ,wie ich auf ne db auf der sdcard zugreife und werde das dann morgen gleich mal testen.
 
Das hab ich ja schon alles durch gemacht . Wie ich die db direkt in die app integriere ist leider nicht dabei,auch war ich etwas verwirrt da es ohne connection zu gehen scheint. Werders morgen mal testen. Danke
 
Wie ich die db direkt in die app integriere ist leider nicht dabei,
Was genau meinst du damit?

1. Du kannst die Datenbank von deinem Programm erzeugen lassen und diese auch mit Informationen füllen.

2. Du kannst es wie in 1. machen jedoch nicht auf die SDCARD sondern die Datenbank im Aplikationsverzeichnis auf deinem Handy erzeugen lassen. Dazu kein "/sdcard/" angeben.

3. Du kannst eine existierende Datenbank in einen Ordner deiner IDE packen. Der wird autom. mit in die apk gepackt. Alles was im Ordner assets steht wird nicht in die apk gepackt. Zumindest habe ich das noch so in Erinnerung.

Gruß enrem
 
genau das bei 3. meinte ich. Wie muss ich dann die Pfadangabe wählen?
 
Meine Datenbank ist immer auf der SDCARD. Daher habe ich keine Erfahrung. Ich würde aber mal probieren die Datenbank auf die root der Applikation zu pakcken. Also da, wo sich die Manifestdatei befindet. Anschließend ohne Pfadangabe im Code versuchen dei Datenbank zu öffnen. Klappt es, kannste ja Ordner anlegen.

Es kann aber auch sein, dass du die Datenbank wohin kopieren musst. Also aus der APK heraus in einen Ordner. Suche doch mal hier nach assets. Ich meine mal was gelesen zu haben.

Sorry mehr kann ich leider nicht sagen...

Gruß enrem
 
ja das mit den assets habe ich auch schon gelesen... ich lass sie jetzt auf sdcard ist auch einfacher die neue db hinzupushen ... nur schade, das ich somit die db nicht automatisch mitliefern kann ...
 

Ähnliche Themen

R
Antworten
6
Aufrufe
1.013
swa00
swa00
2
Antworten
6
Aufrufe
263
24559
2
R
Antworten
4
Aufrufe
730
Rapidoman
R
Zurück
Oben Unten