sql >> Databasteknik >  >> RDS >> SQLite

Hur kommer jag igång med SQLCipher för Android?

För att använda SQL Cipher för Android korrekt måste du använda externa bibliotek och ändra en del av koden som interagerar med din DB.

  1. Dessa måste först läggas till i ditt projekt (i mappen libs.) Se här för att få dessa:http://sqlcipher.net/sqlcipher-for-android/

  2. För det andra måste du lägga till filen icudt4dl.zip i din tillgångsmapp, denna zip kommer med SQL Chiffer-biblioteken.

  3. Högerklicka på ditt projekt, gå till egenskaper och sedan Java-byggväg och inkludera sedan bibliotek som commons-codec.jar, guava-r09.jar, sqlcipher.jar. När detta är gjort, gör en build-rengöring.

  4. Sedan i din app, istället för att importera android.database.sqlite, importerar du import net.sqlcipher.database

  5. Ändra vilken kod som helst som interagerar med DB, till exempel:

    SQLiteDatabase.loadLibs(context);

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

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

  6. Verifiera att databasen är krypterad, gå till DDMS-perspektiv i Eclipse, klicka på filutforskaren, navigera till data/data/, klicka på .db-filen och välj hämta enhetsfil, spara den på skrivbordet och öppna den med en text redaktör. Leta efter de vanliga textvärdena du har infogat i din databas, om du fortfarande kan läsa dem har något gått fel.

Det kan också vara en bra idé att kolla in några SQLite-tutorials innan du implementerar SQL Cipher. En bra sådan nämns här:Android sqlite databas - var börjar jag eftersom handledningen har gått för anteckningar?

Uppdatera

Det här svaret är föråldrat nu och Eclipse är praktiskt taget föråldrat för Android-utveckling. Jag var nyligen tvungen att bygga en app med SQLCipher på Android Studio för Android 5 + 6 och det här är stegen jag följde.

I Android Studio kan du inkludera SQLCipher som ett beroende i din byggfil. Uppdatera dina beroenden i build gradle för att inkludera följande rad:

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

Du kan hålla dig uppdaterad med versioner här:https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher

Min app skulle inte byggas om jag inte tog bort SQLCipher-filerna i lib-mappen och asset-mappen, men efter det fungerade det som förväntat. När du har gjort dessa ändringar, kör en build/rengöring och kontrollera om det fungerar.

Samma steg som nämnts ovan med att ändra din kod gäller fortfarande.



  1. Hur man bestämmer MySQL-versionen

  2. Varför är en UDF så mycket långsammare än en underfråga?

  3. returnera värde vid en position från STRING_SPLIT i SQL Server 2016

  4. Flera Hibernate-sekvensgeneratorer för en enhet med PostgreSQL