1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  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
[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
[OFFEN] Komplette SQLite Datenbank verschlüsseln Android App Entwicklung 19.09.2017
[OFFEN] Updateinstallation: Trotzdem Datenbank gelöscht Android App Entwicklung 12.05.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[ERLEDIGT] Datenbank in eine Cloud sichern (Backup) Android App Entwicklung 29.03.2017
Wie bekomme ich Map Markers von einer SQL Datenbank Android App Entwicklung 11.03.2017
Class (Datenbank) nur einmal instanzieren Android App Entwicklung 23.02.2017
SQLite - Idee 'zentrale Datenbank' theoretisch möglich (und ratsam)? Android App Entwicklung 21.02.2017
ListView Element an eine Datenbank senden Android App Entwicklung 04.12.2016
Du betrachtest das Thema "Backup / Datenbank Restore klappt nicht" im Forum "Android App Entwicklung",