Om SQL Cipher voor Android correct te gebruiken, moet u externe bibliotheken gebruiken en een deel van de code wijzigen die in wisselwerking staat met uw DB.
-
Deze moeten eerst aan uw project worden toegevoegd (in de map libs.) Raadpleeg hier om deze te verkrijgen:http://sqlcipher.net/sqlcipher-for-android/
-
Ten tweede moet u het icudt4dl.zip-bestand toevoegen aan uw activamap, deze Zip wordt geleverd met de SQL Cipher-bibliotheken.
-
Klik met de rechtermuisknop op uw project, ga naar eigenschappen en vervolgens naar Java-buildpad en neem vervolgens bibliotheken op zoals commons-codec.jar, guava-r09.jar, sqlcipher.jar. Zodra dit is gebeurd, voert u een build-clean uit.
-
Vervolgens importeert u in uw app in plaats van android.database.sqlite te importeren, net.sqlcipher.database
-
Wijzig elke code die interageert met de DB, bijvoorbeeld:
SQLiteDatabase.loadLibs(context);
String dbPath =this.getDatabasePath("dbname.db").getPath();
SQLiteDatabase db =SQLiteDatabase.openOrCreateDatabase(dbPath,"dbPassword", null);
-
Controleer of de database is gecodeerd, ga naar DDMS-perspectief in Eclipse, klik op het tabblad Bestandsverkenner, navigeer naar data/data/, klik op het .db-bestand en selecteer apparaatbestand ophalen, sla het op uw bureaublad op en open het met een tekst editor. Zoek naar de platte tekstwaarden die u in uw database hebt ingevoegd, als u ze nog kunt lezen, is er iets misgegaan.
Het kan ook een goed idee zijn om enkele SQLite-zelfstudies te bekijken voordat u SQL Cipher implementeert. Een goede wordt hier genoemd:Android sqlite-database - waar moet ik beginnen als de tutorial is gegaan voor Kladblok?
Bijwerken
Dit antwoord is nu verouderd en Eclipse is praktisch verouderd voor Android Development. Ik moest onlangs een app bouwen met SQLCipher op Android Studio voor Android 5 + 6 en dit zijn de stappen die ik heb gevolgd.
In Android Studio kunt u SQLCipher als afhankelijkheid in uw buildbestand opnemen. Werk uw afhankelijkheden in build gradle bij om de volgende regel op te nemen:
dependencies{
compile 'net.zetetic:android-database-sqlcipher:[email protected]'
}
U kunt hier op de hoogte blijven van versies:https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher
Mijn app zou niet bouwen tenzij ik de SQLCipher-bestanden in de lib-map en de activamap verwijderde, maar daarna werkte het zoals verwacht. Nadat u deze wijzigingen hebt aangebracht, voert u een build/clean uit en controleert u of het werkt.
Dezelfde hierboven genoemde stappen voor het wijzigen van uw code blijven bestaan.