Android Studio App Quiz Fragen Datenbank LOKAL?

1 Antwort

Du kannst eine vorgefüllte SQLite-Datenbank als Ressource bzw. Asset mitliefern und beim ersten Launch in das data-Verzeichnis (konkret: /data/data/NAME_OF_YOUR_PACKAGE/databases/) kopieren. Dort muss die Datenbank liegen, um mit der SQLiteDatabase-Klasse eine Verbindung zu ihr öffnen zu können.

Der Kopiervorgang könnte ungefähr so aussehen:

try (
  InputStream reader = yourContext.getAssets().open("your database file name"),
  OutputStream writer = new FileOutputStream("target file path")
) {
  byte[] buffer = new byte[1024];
  int length;

  while ((length = reader.read(buffer)) > 0) {
    writer.write(buffer, 0, length);
  }
}
catch (IOException ex) {
  // ...
}