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

¿Es realmente necesario crear tablas SQLite cada vez que se inicia la aplicación?

Creo que estás malinterpretando aquí. Cuando se construye un objeto SQLiteOpenHelper, comprobará si la base de datos SQLite existe o no, si no, llamará a su onCreate( ) método (donde normalmente los desarrolladores implementan la creación de base de datos SQL)

Actualización:
@Clay Shannon:Explicaré el mecanismo en el que funcionan los proyectos de Eclipse y Android. Digamos que usa Eclipse para programar un proyecto de Android. El nuevo proyecto creará una carpeta de proyecto en el espacio de trabajo (en su caso, es C:\aXX3&Space\Android\workspace y la carpeta del proyecto es OnDemandAndAutomatic_Project ). Esta carpeta contendrá varias subcarpetas como:src, bin, assets, res,... Cada carpeta tiene su propia función, y usted está interesado en la carpeta de activos, ¿verdad? La carpeta de activos se usa para contener archivos de referencia (que no puede o no quiere poner en la carpeta res) como:archivo html, archivo de sonido, archivo de imágenes, archivo de texto... Cuando Eclipse construye el apk desde el proyecto, estos archivos también se incluyen en el apk. Cuando instala el apk en un dispositivo Android, el apk se copia en la carpeta del sistema Android y también se crea una carpeta para contener los datos de la aplicación, como mencionó Dharmendra:/data/data/{packagename}/ (nombre del paquete como com.google.app, etc., y esta ruta es para el sistema operativo Android de su dispositivo, no para Windows).

Su caso aquí es que desea usar su base de datos ya existente, por lo que necesita implementar una función que verifique si su base de datos existe o no, si no, copie su base de datos en la ruta de la base de datos /data/data/ {nombre del paquete}/bases de datos/ , y llame a esa función cuando se inicie su aplicación. Y cómo hacerlo ya está respondido aquí Cómo copiar una base de datos existente de una aplicación a otra. También aquí hay una referencia para acceder a los archivos de activos, en caso de que no sepa http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx

Espero que ahora puedas solucionar tu problema. Nota :su base de datos ya existente debe ser una base de datos SQLite, o la aplicación no la reconocerá incluso si copia en la ruta correcta.