SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Wie fange ich mit SQLCipher für Android an?

Um SQL Cipher for Android richtig zu verwenden, müssen Sie externe Bibliotheken verwenden und einen Teil des Codes ändern, der mit Ihrer DB interagiert.

  1. Diese müssen zuerst zu Ihrem Projekt hinzugefügt werden (im Ordner libs). Hier finden Sie diese:http://sqlcipher.net/sqlcipher-for-android/

  2. Zweitens müssen Sie die Datei icudt4dl.zip zu Ihrem Assets-Ordner hinzufügen, diese Zip-Datei wird mit den SQL Cipher-Bibliotheken geliefert.

  3. Klicken Sie mit der rechten Maustaste auf Ihr Projekt, gehen Sie zu Eigenschaften, dann zum Java-Erstellungspfad, und schließen Sie dann Bibliotheken wie commons-codec.jar, guava-r09.jar, sqlcipher.jar ein. Sobald dies erledigt ist, führen Sie eine Build-Bereinigung durch.

  4. Dann importieren Sie in Ihrer App anstelle von android.database.sqlite import net.sqlcipher.database

  5. Ändern Sie jeden Code, der mit der DB interagiert, Beispiel:

    SQLiteDatabase.loadLibs(Kontext);

    String dbPath =this.getDatabasePath("dbname.db").getPath();

    SQLiteDatabase db =SQLiteDatabase.openOrCreateDatabase(dbPath,"dbPassword", null);

  6. Stellen Sie sicher, dass die Datenbank verschlüsselt ist, gehen Sie in Eclipse zur DDMS-Perspektive, klicken Sie auf die Registerkarte Datei-Explorer, navigieren Sie zu data/data/, klicken Sie auf die .db-Datei und wählen Sie Gerätedatei abrufen, speichern Sie sie auf Ihrem Desktop und öffnen Sie sie mit einem Text Editor. Suchen Sie nach den Klartextwerten, die Sie in Ihre Datenbank eingefügt haben. Wenn Sie sie noch lesen können, ist etwas schief gelaufen.

Es kann auch eine gute Idee sein, sich einige SQLite-Tutorials anzusehen, bevor Sie SQL Cipher implementieren. Eine gute wird hier erwähnt:Android sqlite database - where do i start as the tutorial has go for notepad?

Aktualisieren

Diese Antwort ist jetzt veraltet und Eclipse ist für die Android-Entwicklung praktisch veraltet. Ich musste kürzlich eine App mit SQLCipher auf Android Studio für Android 5 + 6 erstellen, und dies sind die Schritte, die ich befolgt habe.

In Android Studio können Sie SQLCipher als Abhängigkeit in Ihre Build-Datei aufnehmen. Aktualisieren Sie Ihre Abhängigkeiten in Build Gradle, um die folgende Zeile einzuschließen:

dependencies{
    compile 'net.zetetic:android-database-sqlcipher:[email protected]'
}

Sie können sich hier über die Versionen auf dem Laufenden halten:https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher

Meine App würde nicht erstellt, es sei denn, ich entfernte die SQLCipher-Dateien im lib-Ordner und im Asset-Ordner, aber danach funktionierte sie wie erwartet. Nachdem Sie diese Änderungen vorgenommen haben, führen Sie einen Build/Clean aus und prüfen Sie, ob es funktioniert.

Die gleichen Schritte, die oben beim Ändern Ihres Codes erwähnt wurden, bleiben bestehen.