¿Cómo conectarse a SQLite DB con contraseña con OrmLite?

Copio DB de activos por este código:

public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static final String DATABASE_NAME = "database.db"; private static final String DATABASE_PATH = "/data/data/"+BuildConfig.APPLICATION_ID+"/databases/"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); copyFromAssets(context); } private void copyFromAssets(Context context) { boolean dbexist = checkdatabase(); if (!dbexist) { File dir = new File(DATABASE_PATH); dir.mkdirs(); InputStream myinput = context.getAssets().open(DATABASE_NAME); String outfilename = DATABASE_PATH + DATABASE_NAME; Log.i(DatabaseHelper.class.getName(), "DB Path : " + outfilename); OutputStream myoutput = new FileOutputStream(outfilename); byte[] buffer = new byte[1024]; int length; while ((length = myinput.read(buffer)) > 0) { myoutput.write(buffer, 0, length); } myoutput.flush(); myoutput.close(); myinput.close(); } } } 

Para obtener Dao Yo uso esto:

 public Dao<AnyItem, Integer> getDaoAnyItem() throws SQLException { if (daoAnyItem == null) { daoAnyItem = getDao(AnyItem.class); } return daoAnyItem; } 

¿Pero cómo conseguir Dao si mi DB será contraseña protegida?

Usted debe utilizar SQLCipher con OrmLite, yo sugeriría la biblioteca de ormlite-sqlcipher a usted

OrmLiteSqliteOpenHelper tiene un constructor que toma una contraseña para que cambie la llamada súper a

 super(context, DATABASE_NAME, null, DATABASE_VERSION, (File)null, "DB password goes here"); 

Tomaría la llamada a copyFromAssets (contexto) fuera del constructor de DatabaseHelper y lo llamaría antes de que DatabaseHelper consiga creado es decir la primera cosa cuando la aplicación comienza para arriba

  • Cambio de cursor en CursorAdapter
  • Android java.lang.IllegalStateException: No se pudo leer la fila 0, col 0 de CursorWindow
  • Android getColumName y getColumnIndex
  • La transacción de Sqlite bloquea Android ui
  • ormlite para android: ayuda de diseño y más
  • Envío de SQLite db al servicio web
  • Recyclerview + Proveedor de contenido + CursorLoader
  • ¿Cómo puedo simular una actualización de la aplicación?
  • Error al azar de SQLiteConnectionPool en Android. ¿Como evitar?
  • ¿Cómo establecer el tipo de datos en SQLiteDatabase vinculación de consulta en bruto?
  • Cómo deshabilitar el botón Borrar datos en Información de aplicación de la aplicación Administrar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.