Bom Dia Italo
Eu crio o Banco na Aplicação, veja abaixo o meu arquivo CriarBanco.java, que faz isto pra mim, toda vez que vc loga no sistema ele verifica se o banco existe e se está na versão atual, caso não ele roda este, caso já esteje correto ele segue em frente a aplicação. Ao realizar alguma alteração neste arquivo basta modificar a VERSAO_BANCO. Não repare a estrutura das tabelas, algumas eu trago elas no servidor interno através de JSON na sincronização, dai eu utilizo a mesma estrutura que está lá e lá o sistema é antigo e eu não tenho o acesso a alterá-lo.
package br.com.sis.banco;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import br.com.sis.banco.SQLiteHelper;
public class CriarBanco {
protected SQLiteDatabase db;
private static final String NOME_BANCO = "bancoandroid";
private static final int VERSAO_BANCO = 1;
private static final String[] SCRIPT_DATABASE_DELETE = new String[] {
"DROP TABLE IF EXISTS TBREPRESENTANTE;", "DROP TABLE IF EXISTS TBCIDADE;", "DROP TABLE IF EXISTS TBBAIRRO;" };
private static final String[] SCRIPT_DATABASE_CREATE = new String[] {
"create table [TBREPRESENTANTE] (" +
"[ID] VARCHAR(6) not null, [COD_REPRES] INTEGER, [NOME] VARCHAR(60), " +
"[TIPO] VARCHAR(1), [SITUACAO] VARCHAR(1), [SENHA] VARCHAR(15), " +
"[SENHA_ANT] VARCHAR(15), PRIMARY KEY (ID) );",
"insert into [TBREPRESENTANTE] (ID, COD_REPRES, NOME, TIPO, SITUACAO, SENHA, SENHA_ANT ) VALUES ( " +
"'TESTE', 1, 'Teste do Sistema', 'A', 'A', 'teste', 'teste', '354712040423347', 'P' );",
"create table [TBCIDADE] (" +
"[ID_REPRES] VARCHAR(6) not null, [CIDADE] VARCHAR(30) not null," +
"[UF] VARCHAR(2) not null, [CONTROLE] VARCHAR(1) ," +
"PRIMARY KEY (ID_REPRES, CIDADE, UF)," +
"FOREIGN KEY (ID_REPRES) REFERENCES TBREPRESENTANTE (ID) );",
"create table [TBBAIRRO] ([ID_REPRES] VARCHAR(6) not null, [CIDADE] VARCHAR(30) not null, " +
"[UF] VARCHAR(2) not null, [BAIRRO] VARCHAR(30) not null, [CONTROLE] VARCHAR(1)," +
"PRIMARY KEY (ID_REPRES, CIDADE, UF, BAIRRO)," +
"FOREIGN KEY (ID_REPRES) REFERENCES TBREPRESENTANTE (ID) );" };
private SQLiteHelper dbHelper;
public CriarBanco(Context ctx) {
dbHelper = new SQLiteHelper(ctx, CriarBanco.NOME_BANCO,
CriarBanco.VERSAO_BANCO, CriarBanco.SCRIPT_DATABASE_CREATE,
CriarBanco.SCRIPT_DATABASE_DELETE);
db = dbHelper.getWritableDatabase();
Log.i("AFV", "Banco de dados aberto");
}
public void fecharBanco() {
if (dbHelper != null) {
dbHelper.close();
}
}
}
Tem um outro arquivo necessário que interagem com este que é o SQLiteHelper.java, se desejar te envio ele tb.
--
[]´s
Evandro Choma
Engenheiro da Computação
Pra fazer a sincronização utilize WebService.
Maicon Strey
Novo Hamburgo - RS - Brasil
------------------Minha lista de presentes: clique aquiLinux user: #525086------------------
2012/7/27 Italo <italogustavoaraujo@gmail.com>Acho que vou fazer a criação dentro da app mesmo, mas eu queria que após a base de dados ser criada na app tivesse uma opção pode ser um botão que eu sincronizasse os dados das tabela com o servidor e o app.OBS: Os dados da do servidor ficam no Banco sqlserver 2008, tem como fazer essa sincronização? Se tiver, alguém tem algum exemplo?vlw
0 comentários:
Postar um comentário