1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Sqlite in APK integrieren

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Bladefs, 29.11.2010.

  1. Bladefs, 29.11.2010 #1
    Bladefs

    Bladefs Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    355
    Erhaltene Danke:
    11
    Registriert seit:
    01.06.2010
    Phone:
    LG G4
    Tablet:
    LG GPad 8.3, Nvidia Shield K1
    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
     
  2. Bladefs, 30.11.2010 #2
    Bladefs

    Bladefs Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    355
    Erhaltene Danke:
    11
    Registriert seit:
    01.06.2010
    Phone:
    LG G4
    Tablet:
    LG GPad 8.3, Nvidia Shield K1
    oder hat ein anderer ne Idee eine Datenbank in ein App zu integrieren??

    *Push*
     
  3. Zoopa, 30.11.2010 #3
    Zoopa

    Zoopa Android-Experte

    Beiträge:
    599
    Erhaltene Danke:
    173
    Registriert seit:
    28.07.2010
    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
     
  4. Bladefs, 30.11.2010 #4
    Bladefs

    Bladefs Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    355
    Erhaltene Danke:
    11
    Registriert seit:
    01.06.2010
    Phone:
    LG G4
    Tablet:
    LG GPad 8.3, Nvidia Shield K1
    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.
     
  5. enrem, 30.11.2010 #5
    enrem

    enrem Erfahrener Benutzer

    Beiträge:
    188
    Erhaltene Danke:
    13
    Registriert seit:
    17.01.2010
  6. Bladefs, 30.11.2010 #6
    Bladefs

    Bladefs Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    355
    Erhaltene Danke:
    11
    Registriert seit:
    01.06.2010
    Phone:
    LG G4
    Tablet:
    LG GPad 8.3, Nvidia Shield K1
    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
     
  7. enrem, 01.12.2010 #7
    enrem

    enrem Erfahrener Benutzer

    Beiträge:
    188
    Erhaltene Danke:
    13
    Registriert seit:
    17.01.2010
    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
     
  8. Bladefs, 01.12.2010 #8
    Bladefs

    Bladefs Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    355
    Erhaltene Danke:
    11
    Registriert seit:
    01.06.2010
    Phone:
    LG G4
    Tablet:
    LG GPad 8.3, Nvidia Shield K1
    genau das bei 3. meinte ich. Wie muss ich dann die Pfadangabe wählen?
     
  9. enrem, 01.12.2010 #9
    enrem

    enrem Erfahrener Benutzer

    Beiträge:
    188
    Erhaltene Danke:
    13
    Registriert seit:
    17.01.2010
    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
     
  10. Bladefs, 02.12.2010 #10
    Bladefs

    Bladefs Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    355
    Erhaltene Danke:
    11
    Registriert seit:
    01.06.2010
    Phone:
    LG G4
    Tablet:
    LG GPad 8.3, Nvidia Shield K1
    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 ...
     

Diese Seite empfehlen