SQLite
 sql >> Base de données >  >> RDS >> SQLite

Comment démarrer avec SQLCipher pour Android ?

Pour utiliser correctement SQL Cipher pour Android, vous devez utiliser des bibliothèques externes et modifier une partie du code qui interagit avec votre base de données.

  1. Ceux-ci doivent d'abord être ajoutés à votre projet (dans le dossier libs.) Reportez-vous ici pour les obtenir :http://sqlcipher.net/sqlcipher-for-android/

  2. Deuxièmement, vous devez ajouter le fichier icudt4dl.zip à votre dossier de ressources, ce Zip est fourni avec les bibliothèques SQL Cipher.

  3. Faites un clic droit sur votre projet, accédez aux propriétés puis au chemin de construction Java, puis incluez des bibliothèques telles que commons-codec.jar, guava-r09.jar, sqlcipher.jar. Une fois que cela est fait, faites un build clean.

  4. Ensuite, dans votre application, au lieu d'importer android.database.sqlite, vous importerez import net.sqlcipher.database

  5. Modifiez tout code qui interagit avec la BD, exemple :

    SQLiteDatabase.loadLibs(contexte);

    Chaîne dbPath =this.getDatabasePath("dbname.db").getPath();

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

  6. Vérifiez que la base de données est cryptée, accédez à la perspective DDMS dans Eclipse, cliquez sur l'onglet explorateur de fichiers, accédez à data/data/, cliquez sur le fichier .db et sélectionnez get device file, enregistrez-le sur votre bureau et ouvrez-le avec un texte éditeur. Recherchez les valeurs en texte brut que vous avez insérées dans votre base de données, si vous pouvez toujours les lire, quelque chose s'est mal passé.

Il peut également être judicieux de consulter certains didacticiels SQLite avant d'implémenter SQL Cipher. Un bon est mentionné ici :Base de données Android sqlite - par où commencer car le tutoriel est parti pour le bloc-notes ?

Mettre à jour

Cette réponse est désormais obsolète et Eclipse est pratiquement obsolète pour le développement Android. J'ai récemment dû créer une application utilisant SQLCipher sur Android Studio pour Android 5 + 6 et voici les étapes que j'ai suivies.

Dans Android Studio, vous pouvez inclure SQLCipher en tant que dépendance dans votre fichier de construction. Mettez à jour vos dépendances dans build gradle pour inclure la ligne suivante :

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

Vous pouvez vous tenir au courant des versions ici :https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher

Mon application ne serait pas construite à moins que je ne supprime les fichiers SQLCipher dans le dossier lib et le dossier asset, mais après cela, cela a fonctionné comme prévu. Une fois que vous avez apporté ces modifications, exécutez une construction/un nettoyage et vérifiez si cela fonctionne.

Les mêmes étapes mentionnées ci-dessus avec la modification de votre code sont toujours valables.