Änderung an einer Sqlite-Datenbank aus dem Assets-Ordner ohne Wirkung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Änderung an einer Sqlite-Datenbank aus dem Assets-Ordner ohne Wirkung

    Hallo zusammen,

    an meiner bereits laufenden App musste ich eine Änderung in der Database des Assets-Ordners vornehmen. In der Datenbank habe ich eine Spalte mit Namen von verlinkten Fotos. In dieser Spalte habe ich einen Fotonamen angepasst. Ich habe dazu die Datenbank editiert, aus meinem assets-Verzeichnis in androidstudio gelöscht, neu hinzugefügt und die App neu erzeugt.

    Jegliche Änderung an der App wirkt sich aus, bis auf die Änderung dieser Datenbankdatei im Assets-Verzeichnis. Sogar ein komplettes Löschen der Datei hat keine Wirkung und die App läuft wie geschmiert weiter.

    Wie kann es sein, dass beim Rebuilt der App keine Fehlermeldung kommt, dass die Datenbank nicht existiert?

    Ich bin jetzt soweit, dass ich nicht die Datenbank geändert habe, sondern die Bilderresource hinzugefügt. Das allerdings hat funktioniert.

    Hat jemand eine Idee,wo er die Daten von der gelöschten Datenbank hernimmt, wenn sie nicht mehr im assets-Ordner liegt? AndroidStudio und Windows herunterfahren und neu starten hatte keine Auswirkung.
  • hallo deine Datenbankdatei befindet sich nach der Installation unter
    • /data/data/dein packet name/databas. Das ist dein home Verzeichnis deiner App. Da kommst du nur mit root rechten rann. Im emulator müsstest du root rechte haben.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von jogimuc ()

  • Dein problem ist dass die Datenbank einmal im Appordner auf dem Android system liegt. Ein löschen der Datenbank in der build umgebung hat also keinen effekt solang deine App dieses löschen nicht auf das android system überträgt. Komisch finde ich allerdings dass du im Android Studio im assets ordner zugriff auf die datenbank hast, oder ist das eine von dir manuell platzierte?

    Lange Rede, kurzer Sinn: du musst in deiner App die Datenbankversion verändern mit Datenbank änderungen übernommen werden.
  • Hi Ben,
    Hast recht mit der alten Datenbank Version im Appordner des Smartphones. Da ich USB-Debugging verwende war ich der Annahme, dass die APP einmal komplett neu auf das Androidsystem gezogen wird inklusive der im builtsystem gelegenen neuen Datenbank. Doch die Datenbank wurde erst erneut aufgespielt als ich die alte Version manuell de installiert habe. Ich habe eine manuell hinterlegte Datenbank im assetsordner überarbeiten müssen. Diese wurde aber jedes mal ignoriert beim Usb-debugging.
    Hatte das so nicht erwartet. es handelt sich immer noch um die Version 1 der Datenbank.
  • Hi

    Beim löschen Deinstalieren der App wird auch die Datenbankdatei im Appordner des Handys gelöscht,und beim neu übertragen Installieren wird auch die Datenbank neu erstellt oder kopiert. Dachte das wüstest du.


    Wenn du bei der Version 1 bleiben willst. Must du dich um das Kopieren der Datenbank aus den Assets selber kümmern.
    Also die Datei selber vom Assetsordner in den Appordner des Handys kopieren.

    Wenn du auf die Datenbank in Assetsordner zugreifst also die nicht kopierst hast du nur leserechte.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von jogimuc ()