Hasta ahora hemos desarrollado aplicaciones en Android que crean una base de datos en tiempo de ejecución. Nos gusta saber cómo podemos acceder a un archivo de base de datos/sqlite preconstruido o existente en nuestra aplicación de Android. Proporcione los detalles¿Cómo acceder a una base de datos sqlite existente en Android?
Respuesta
Eche un vistazo a la documentación para android.database.sqlite.SQLiteDatabase.
En particular, hay un comando openDatabase() que accederá a una base de datos dada una ruta de archivo.
SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, 0);
sólo tiene que especificar la ruta de acceso a su base de datos como la variable path
, y debería funcionar.
Supongamos que tengo mi archivo db en mi carpeta de activos, ¿qué ruta daré a la variable de ruta? –
Consulte esta otra pregunta relacionada: http://stackoverflow.com/questions/513084/how-to-ship-an-android-application-with-a-database En resumen, no puede hacerlo directamente. Debe copiar los datos de su APK y en un nuevo archivo en/data, luego puede abrirlos directamente. Esta publicación de blog tiene más información: http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ –
Primero copia tu 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 la tarjeta sd.
¿Podría expandirse? No está del todo claro para mí cómo esto resuelve el problema. El enlace en la primera versión de su respuesta también está roto, ¿podría solucionarlo? – JonasCz
He seguido el mismo camino y encontró a dos cuestiones:
- incluir el campo _id en cualquier mesa de crear y asegúrese de que es parte de las columnas para volver al consultar cualquier tabla.
Es posible que se produzca un error como Error al abrir la base de datos. cerrando it.. Esto se debe a que estamos copiando la base de datos de un archivo existente en lugar de crear tablas sobre un archivo db creado por la API de android sqlite , y es posible que la tabla android_metadata no exista. Para crearlo basta con ejecutar la siguiente consulta en su base de datos:
CREATE TABLE android_metadata (locale TEXT);
Y añadir el local correspondiente, por ejemplo
en_US
¿Puedo ejecutar ese SQL en la base de datos SQLite existente o debo ejecutarlo en la base de datos creada al copiar datos de la base de datos existente en/assets /? – marienke
Debe ejecutarse en la base de datos existente en la carpeta "assets" o una vez copiada en la base de datos de la aplicación, pero creo que es más fácil tener la tabla en la base de datos antes de copiar – gantzer89
Úsala para acceder a la base de datos de aplicación:
Context context = getApplicationContext();
context.getDatabasePath(DataBaseHelper.database_Name);
- 1. ¿Cómo acceder a la base de datos sqlite existente en Android Emulator?
- 2. Android - ¿Existe una base de datos SQLite?
- 3. Crear base de datos SQLite en android
- 4. ¿Qué es una clase completa de Android Database Helper para una base de datos SQLite existente?
- 5. ¿Cómo implementar una base de datos SQLite en Phonegap?
- 6. Acceder a la base de datos sqlite en el dispositivo Android
- 7. Android - Acceso a la base de datos en línea SQlite
- 8. ¿Cómo puedo usar y acceder a una base de datos SQLite usando PHP y Wamp Server?
- 9. Android ExpandableListView y base de datos SQLite
- 10. cómo obtener el valor de la base de datos a una matriz de cadenas en Android (base de datos SQLite)
- 11. ¿Cómo debo proteger una base de datos SQLite en iOS?
- 12. Cómo convertir una base de datos postgres a sqlite
- 13. ¿Cómo conecto CakePHP a una base de datos SQLite?
- 14. cómo convertir la tabla de base de datos sqlite existente a fts3 one?
- 15. Guardando ArrayList en la base de datos SQLite en Android
- 16. ¿Cómo convertir una base de datos JET a SQLite?
- 17. ¿Cómo acceder a la base de datos cuando se desarrolla en un teléfono Android?
- 18. ¿Cómo accede Android a una base de datos sqlite incluida en la carpeta de activos
- 19. ORM en Android SQLite y esquema de base de datos
- 20. ¿Cómo pongo datos estáticos en una base de datos SQLite en Android?
- 21. ¿Cómo puedo acceder a SQLite con C#?
- 22. Insertar matriz en la base de datos SQLite en android
- 23. ¿Cómo agregar datos iniciales a la base de datos SQLite?
- 24. Cómo implementar asociaciones polimórficas en una base de datos existente
- 25. Android explore la base de datos SQLite en el teléfono
- 26. ¿Cómo extraigo la base de datos sqlite del dispositivo Android?
- 27. Crear tablas en la base de datos sqlite en android
- 28. Flushing y base de datos SQLite en android
- 29. ¿Por qué usar la base de datos sqlite en Android?
- 30. ¿Cómo crear una base de datos sqlite en javascript?
@Yaqub Ahmad Gracias por la edición para que quede más claro. –
Querrá probar [android sqlite asset helper] (https://github.com/jgilfelt/android-sqlite-asset-helper). Lo hace un pedazo de pastel. – craned