default SQLite Datenbank zu einer App Installation mit hinzufügen

  • Hey,

    ich hab nun meine App geschrieben und es funktioniert eigentlich alles auf meiner Simulation.
    Nun ist mir allerdings aufgefallen, dass bei einer neu Installation auf einer anderen Hardware meine Default Datenbank ja gar nicht dabei ist.
    (kann ja auch gar nicht ). Ich möchte gerne eine default Datenbank mit verschiedenen einträgen dem User bei der Installation mitgeben.
    Diese sollte er dann auch je nach Wunsch bearbeiten dürfen. Also Zeilen hinzfügen usw.

    Was muss ich da tun um diese Default Datenbank der App mit zur Verfügung zu stellen.


    Gruß

  • Hallo
    du kannst die Datenbank Datei in den Assets speichern, und die dan in den Ordner mit der Datenbank kopieren.
    Das soltest das nur am Anfang also nur einmal machen.

    Wenn du die Datenbankdatei aus den Assets öffnets kanst du nur lesen nicht schreiben.

    Einmal editiert, zuletzt von nono124 (16. September 2017 um 16:55)

  • Das mit dem Assets hatte ich auch schon irgendwo gelesen.
    Da werde ich mal danach suchen.
    Muss erst mal herausbekommen wo die Datenbank die ich ersetzten möchte (oder neu kopieren) eigentlich erstellt wird. Ich konnte sie bis jetzt mit suche eines Android Explorers nicht finden.

    Gruß

  • die ist unter /data/data/packagename/database/Datenbank.db
    Denn paht kannst du nur mit root Rechten oder aus deiner app ereichen.
    Auf dem emulator müsstest du root haben.

    Einmal editiert, zuletzt von nono124 (17. September 2017 um 17:09)

  • Danke, ja auf dem emulator habe ich root. Auf dem Handy kurzfristig root Rechte einstellen war und ist ja leider nicht so einfach. Bei Custom Rom ist das ja leichter, hab ich aber gerade nicht. Hatte noch keine Zeit das mit dem assets folder zu testen. Danke aber für die Info. Werde bescheid geben wenn es geklappt hat.

  • Welches Handy hast du?

    Noch ein Tip zum kopieren der Datenbank aus den Assets. Beim Kopieren muss die Datenbank geschlossen sein, also alle Instanzen dieser zerstört. danach kanst du die Datenbank wieder normal öffnen.

  • zum mitgeben der Datenbank gäbes auch die Möglichkeit sie aus dem Internet von einem Server oder Homepage zu laden. Dies hätte den Vorteil das nicht unnötig Speicher im Handy verbraucht wird. Besonders bei Grossen Dateien in den assets sinnvoll. Denn der Speicher wird ja nur einmal zu Beginn gebraucht, und liegt somit nicht nutzlos auf dem Handy rum.

  • Danke wie immer für deine Antworten

    Also ich hab es jetzt hinbekommen.
    Ich überprüfe ganz am Anfang ob eine Datenbank vorhanden ist. Wenn nicht kopiere ich die Datenbank im Assets Folder an die Richtige stelle.
    Danach schliesse ich den Stream. Hoffe das dies so reicht und mein Programm startet.

  • Hi, ich kopiere es mit den File Channels

  • so eine Art benutz man eher um Text orientierte Dateien zu bearbeiten. Vor allen das mit den 1024 wirkt sich schlecht auf binäre Dateien aus. Das ist einfach nur Java und hat nichts speziel mit Android zu tuhen.

  • der letzte Post sollte in den anderen thread. Außerdem ist die Funktion sehr sehr schnell beim kopieren das müsste die schnellste Methode sein unter Java Dateien zu kopieren. Auch für sehr grosse Dateien aller Art geeignet.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!