SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

É realmente necessário criar tabelas SQLite toda vez que o aplicativo é iniciado?


Acho que você está equivocado aqui. Quando um objeto SQLiteOpenHelper é construído, ele verificará se o banco de dados SQLite existe ou não, caso contrário, ele chamará seu onCreate( ) método (onde normalmente os desenvolvedores implementam o SQL de criação de banco de dados)

Atualização:
@Clay Shannon:Vou explicar o mecanismo que o Eclipse e o projeto Android funcionam. Digamos que você use o Eclipse para programar o projeto Android. O novo projeto criará uma pasta de projeto no espaço de trabalho (no seu caso é C:\aXX3&Space\Android\workspace e a pasta do projeto é OnDemandAndAutomatic_Project ). Esta pasta conterá várias subpastas como:src, bin, assets, res,... Cada pasta tem sua própria função, e você está interessado na pasta assets, certo? A pasta Assets é usada para conter arquivos de referência (que não podem ou não querem colocar na pasta res) como:arquivo html, arquivo de som, arquivo de imagens, arquivo de texto... Quando o Eclipse constrói o apk a partir do projeto, esses arquivos também incluídos no apk. Quando você instala o apk no dispositivo Android, o apk é copiado para a pasta do sistema Android, e também é criada uma pasta para conter os dados do aplicativo, como Dharmendra mencionou:/data/data/{packagename}/ em> (nome do pacote como com.google.app, etc, e este caminho é para o sistema operacional Android do seu dispositivo, não para o Windows).
Seu caso aqui é que você quer usar seu banco de dados já existente, então você precisa implementar uma função que verifique se seu banco de dados existe ou não, se não copie seu db para o caminho do banco de dados /data/data/ {packagename}/databases/ e chame essa função quando seu aplicativo for iniciado. E como fazer isso já está respondido aqui Como copiar banco de dados existente de um aplicativo para outro. Também aqui está a referência para acessar arquivos de ativos, caso você não saiba http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx

Espero que agora você possa resolver seu problema. Observação :seu banco de dados já existente deve ser um banco de dados SQLite, ou o aplicativo não o reconhecerá mesmo se você copiar para o caminho correto.