Exportieren und Importieren von SQLite Datenbanken an einen für den Nutzer verfügbaren Platz

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

  • Exportieren und Importieren von SQLite Datenbanken an einen für den Nutzer verfügbaren Platz

    Hi,
    ich möchte gerne eine SQLite Datenbank, die in meiner App erstellt wird exportieren und wieder importieren können. Ziel der ganzen Sache ist es, dass der Nutzer (wenn er z.B. ein neues Handy kauft) die db Datei irgendwo anders speichern kann und dann später wieder auf sein neues Handy ziehen kann und diese dann wieder importiert wird. Ich dachte dabei daran, dass man die Datei in einen bestimmten Ordner zieht.

    Meine bisherigen Recherchen ergaben aber noch nichts wirklich brauchbares. Das erste was ich gefunden habe war die "SQLiteImporterExporter" Library. Das Problem was ich damit aber habe ist, dass ich den Dateipfad über getExternalStorageDirectory () bekommen würde. Diese Methode ist allerdings ab API 29 nicht mehr verwendbar.
    Die Alternative für diesen Code wäre über den Context zu gehen.

    Die größte Frage ist allerdings, ob es überhaupt das ist, was ich suche. Weil wenn ich über den Context.getExternalFilesDir() gehe, kann ich dann als Nutzer der App überhaupt auf die Datei zugreifen?

    Ich müsste halt irgendwie einen Ordner auf dem Handy erstellen, in welchen die Datei gespeichert wird. Bzw. in welche man die Datei packen könnte um sie dann wieder zu importieren und dann auf diese Datenbank wieder zugreifen zu können. Oder aber so, dass man sich die Datei per Mail schicken kann und sie beim Importieren aus den Dateien des Handys auswählen kann um sie zu importieren.

    Hat jemand eine Idee, wie man das umsetzen könnte?
    Vielen Dank für jegliche Hilfe, Merlinus