sql >> Base de Datos >  >> RDS >> SQLite

¿Cómo comenzar con SQLCipher para Android?

Para usar correctamente SQL Cipher para Android, debe usar bibliotecas externas y cambiar parte del código que interactúa con su base de datos.

  1. Estos deben agregarse primero a su proyecto (dentro de la carpeta libs). Consulte aquí para obtenerlos:http://sqlcipher.net/sqlcipher-for-android/

  2. En segundo lugar, debe agregar el archivo icudt4dl.zip a su carpeta de activos, este Zip viene con las bibliotecas de cifrado SQL.

  3. Haga clic derecho en su proyecto, vaya a propiedades, luego a la ruta de compilación de Java, luego incluya bibliotecas como commons-codec.jar, guava-r09.jar, sqlcipher.jar. Una vez hecho esto, haga una limpieza de compilación.

  4. Luego, dentro de su aplicación, en lugar de importar android.database.sqlite, importará import net.sqlcipher.database

  5. Cambie cualquier código que interactúe con la base de datos, ejemplo:

    SQLiteDatabase.loadLibs(contexto);

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

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

  6. Verifique que la base de datos esté encriptada, vaya a la perspectiva DDMS en Eclipse, haga clic en la pestaña del explorador de archivos, navegue hasta datos/datos/, haga clic en el archivo .db y seleccione obtener el archivo del dispositivo, guárdelo en su escritorio y ábralo con un texto editor. Busque los valores de texto sin formato que ha estado insertando en su base de datos, si aún puede leerlos, algo salió mal.

También podría ser una buena idea consultar algunos tutoriales de SQLite antes de implementar SQL Cipher. Aquí se menciona una buena:base de datos sqlite de Android:¿dónde empiezo ya que el tutorial se ha ido para el bloc de notas?

Actualizar

Esta respuesta está desactualizada ahora y Eclipse está prácticamente en desuso para el desarrollo de Android. Recientemente tuve que crear una aplicación usando SQLCipher en Android Studio para Android 5 + 6 y estos son los pasos que seguí.

En Android Studio, puede incluir SQLCipher como una dependencia en su archivo de compilación. Actualice sus dependencias en build gradle para incluir la siguiente línea:

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

Puede mantenerse actualizado con las versiones aquí:https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher

Mi aplicación no se compilaría a menos que elimine los archivos SQLCipher en la carpeta lib y la carpeta de activos, pero luego funcionó como se esperaba. Una vez que haya realizado estos cambios, ejecute una compilación/limpieza y verifique si funciona.

Se mantienen los mismos pasos mencionados anteriormente para cambiar el código.