Qt cómo conectar a un archivo SQLlite existente en el sistema operativo Android?

Estoy intentando conectar con un archivo existente de la base de datos de SQLlite en mi proyecto del qt 5.2 (en OS androide). ¿Dónde debo guardar este archivo para cargarlo usando este código: QSqlDatabase::addDatabase("myfile.sqlite"); ?

Primero debe agregar una conexión de base de datos usando addDatabase con el tipo de controlador de QSQLITE y un nombre de conexión como MyConnection.

 QSqlDatabase db = QSqlDatabase::addDatabase( "QSQLITE","MyConnection" ); 

A continuación debe establecer el nombre de la base de datos de la conexión y abrirla.

 db.setDatabaseName( "myfile.sqlite" ); if( !db.open() ) { QMessageBox::warning(this, tr("Failed to connect!"), tr("Error connecting to database: ")+db.lastError().driverText() ); } 

Dentro de su carpeta de desarrollo encontrará \ android \ assets – simplemente coloque el archivo de base de datos SQLite en esa carpeta y agréguelos a su .pro:

 deployment.files += myfile.sqlite deployment.path = /assets INSTALLS += deployment 

Pero los archivos en los activos son de sólo lectura. Así que primero debes copiarlo a otra ubicación:

 QFile dfile("assets:/myfile.sqlite"); if (dfile.exists()) { dfile.copy("./myfile.sqlite"); QFile::setPermissions("./myfile.sqlite",QFile::WriteOwner | QFile::ReadOwner); } 

Ahora puede conectarse a su base de datos como se mencionó anteriormente.

  • Sync SQLite / tabla de base de datos de Android a la tabla de base de datos MySQL remoto (a través de PHP)
  • Identificar el tipo de datos de una columna en un Cursor Android de SQLite
  • Android: java.lang.IllegalStateException: base de datos xxx.db (conn # 0) ya cerrado
  • ¿Dónde se almacena la base de datos SQLite en el emulador de Android?
  • Android Room: ¿Cómo modelar las relaciones?
  • nativescript-sqlite y módulo angular2 no se encuentra excepción
  • Sugar ORM en Android: actualiza un objeto guardado en SQLite
  • Ejecución de varias sentencias con SQLiteDatabase.execSQL
  • ¿Qué significa COLLATE LOCALIZED ASC?
  • Excepción de SQLite "no such table" de Android
  • Cómo almacenar la imagen en la base de datos SQLite
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.