1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. thomas.b.reuter, 01.06.2010 #1
    thomas.b.reuter

    thomas.b.reuter Threadstarter Neuer Benutzer

    Meine App benutzt eine SQLite Datenbank. Momentan versuche ich eine Backup / Restore Funktionalität zu implementieren. Meine Recherche ergab, daß die SQLite Datenbankdatei angeblich einfach kopiert werden kann (Export und Import).

    Genau das habe ich dann implementiert: Beim Start meiner App wird automatisch die SQLite Datei auf die SD Karte kopiert. Eine alte Backupdatei wird vorher umbenannt (Zeitstempel hintendranhängen, d.h. alle Backups werden erstmal aufgehoben).

    Falls der Benutzer auf den "Restore" button drückt, wird die Backupdatei von der SD Karte zurück ins System kopiert, d.h. die Datenbank die von der App benutzt wird, wird überschrieben und sollte im Zustand vor dem letzten erfolgreichen Backup sein.

    Ich habe darauf geachtet, daß keine der drei Activities der App zum "Restore" Zeitpunkt die Datenbank offen hat (close in der onPause-Methode).

    Keine der Kopieraktionen liefert eine Fehlermeldung / Exception, aber nach dem "Restore", d.h. Zurückkopieren des Backup scheint die Datenbank leer zu sein, d.h. meine App findet keine Einträge mehr. Ich kann die Datenbank dann auch wieder ganz normal benutzen und neue Einträge hinzufügen.

    Bevor ich anfange, meinen Code hier reinzustellen, habe ich eine generelle Frage zu dem beschriebenen Verfahren:
    Ist das prinzipiell ok, daß man die Datenbankdatei einfach hin- und herkopiert, solange man darauf achtet, daß die Datenbank nur zum Kopieren (d.h. nur einmal) geöffnet ist?
    Oder lauern hier noch weitere Falltüren, die es zu beachten gilt?
     
  2. thomas.b.reuter, 01.06.2010 #2
    thomas.b.reuter

    thomas.b.reuter Threadstarter Neuer Benutzer

    ... ok, ich glaube das wars: Leider wird in der schönen Java-Dokumentation nicht erwähnt, daß FileReader und FileWriter wohl nur für Textdateien vorgesehen sind. Jedenfalls habe ich meine Kopierfunktion einfach auf InputStream bzw. OutputStream umgestellt und jetzt klappt es! Zumindest im Emulator ...
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Eintrag in einer Datenbank mithilfe einer ListView löschen Android App Entwicklung 20.06.2018
Android Studio: Auf Datenbank mit zwei Spinner zugreifen. Android App Entwicklung 07.06.2018
SQLite Datenbank mit zwei Tabellen erstellen Android App Entwicklung 30.05.2018
Was am besten für eine Datenbank benutzen? Android App Entwicklung 26.02.2018
Eigene Web DB für App Inventor Android App Entwicklung 10.02.2018
Spinner item in Datenbank schreiben mysql Android App Entwicklung 23.12.2017
[OFFEN] Keine doppelten Einträge in die Firebase Datenbank Android App Entwicklung 27.10.2017
[OFFEN] Übereinstimmung Spracherkennung Datenbank finden Android App Entwicklung 13.10.2017
Du betrachtest das Thema "Backup / Datenbank Restore klappt nicht" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.