SQLite DB auf SD Karte

  • Hallo,


    ich bin Anfänger in der Android Programmierung und möchte eine App programmieren die auf eine (SQLite-) DB zugreifen muss.
    Dazu habe ich mich mit dem Beispiel hier an die Problematik heran getastet.
    Da ich die DB selbst auf einem externen System erstellen möchte (die App ist nur für mich bzw. einen kleineren Kreis denen ich die DB zur Verfügung stellen kann), möchte ich sie auf der SD Karte speichern.


    Wie kann ich das machen?


    Danke!

  • Wenn du die richtigen Permissions in deiner Androidmanifest eingestellt hast könntest du im Quellcode das hier benutzen:

    Java
    DatabaseHelper(Context context) {
      super(
        context,
        context.getExternalFilesDir(null).getAbsolutePath() + "/" + DATABASE_NAME,
        null,
        DATABASE_VERSION
      );
    }



    Diese Klasse muss dann von SQLiteOpenHelper erben.

  • Ich habe jetzt die Permissions mit:
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    gesetzt.


    Nun läuft die App zumindest und stürzt nicht mehr ab.


    Log.d(LOG_TAG, "DbHelper hat die Datenbank: " + getDatabaseName() + " erzeugt.");
    Sagt mir: "DbHelper hat die Datenbank: /storage/emulated/0/Android/data/com.example.foo.bar/files/fooBar.sqlite erzeugt."


    Allerdings ist die Datei nicht auf der Karte.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!