¿Cómo acceder a una base de datos sqlite existente en Android?
Hasta ahora hemos desarrollado aplicaciones en android que crean base de datos en tiempo de ejecución. Nos gusta saber cómo podemos acceder a un archivo de base de datos / sqlite pre-construido o existente en nuestra aplicación android? Proporcione detalles
- Android sqlite cómo comprobar si existe un registro
- Cómo ver los datos guardados en la base de datos android (SQLite)?
- Android: Fragmentos, SQLite y cargadores
- ¿Cómo insertar valores dobles y flotantes en sqlite?
- Sqlite Browser no responde mientras inserta datos en sqlite
- Cómo eliminar la base de datos en sqlite?
- SQlite Selección de la tabla basada en el idioma
- Close () nunca fue explícitamente llamado en Android y SQlite
- Base de datos de diccionarios sin conexión para la aplicación de Android
- Android: carga el contenido de la base de datos sqlite en webview
- ¿Cómo realizar una consulta SQLite dentro de una aplicación de Android?
- Android sqlite ordenar en la columna calculada (coordina la distancia)
- Usar swagger con una base de datos de android
Echa un vistazo a la documentación de android.database.sqlite.SQLiteDatabase .
En particular, hay un comando openDatabase () que tendrá acceso a una base de datos dada una ruta de acceso de archivo.
SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, 0);
Simplemente especifique la ruta de acceso a su base de datos como la variable de path
, y debería funcionar.
He seguido el mismo camino y he encontrado dos cuestiones:
- Incluya el campo _id en cualquier tabla que cree y asegúrese de que forma parte de las columnas que devuelve al consultar cualquier tabla.
-
Puede ejecutar un error como Error al abrir la base de datos. Cerrándolo . Esto se debe a que estamos copiando la base de datos de un archivo existente en lugar de crear tablas en la parte superior de un db creado por el sqlite android API y la tabla android_metadata puede no existir. Para crearlo simplemente ejecuta la siguiente consulta en tu db:
CREATE TABLE android_metadata (locale TEXT);
Y agrega la configuración regional correspondiente, por ejemplo
en_US
Primero copie su SDCARD y dale su ruta en la variable "DBNAME" en el siguiente ejemplo. Será algo así como "/sdcard/persons.db" si lo está tirando directamente a sdcard.
Use esto para acceder a la base de datos en la aplicación:
Context context = getApplicationContext(); context.getDatabasePath(DataBaseHelper.database_Name);
- Cómo aumentar la velocidad de rotación en android?
- Java.lang.VerifyError al ejecutar pruebas de Android con testCoverageEnabled = true