Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Criação do banco de dados

Eu faço o seguinte:


- Tenho a classe SQLiteHelper que herda de SQLiteOpenHelper()

- Tenho a classe Database que herda da minha classe SQLiteHelper. <<- Aqui eu crio um array de String[] contendo toda a estrutura do meu banco de dados. Preferi assim pra deixar centrado a informação do Db. Essa classe quem controla a criação e atualização do meu DB.

- Minha classe DAO herdo da minha classe Database, pra dai sim poder fazer a manipulação das informações.

Em 24 de maio de 2012 20:59, Benicio <benicio.heladio@gmail.com> escreveu:
Boa noite car*s!

* Cinenário:
- Para cada tabela do banco existe uma DAO ela é responsável por criar
a tabela (onCreate) no banco e retornar os dados desta tabela.

Ex:
- PessoaDAO
- ClienteDAO
- FuncionarioDAO
- PessoaClienteDAO   -----> relacionamento entre Pessoa e Cliente

Hoje me deparei com o seguinte problema:
 - Na PessoaDao Fiz uma consulta utilizando um JOIN para a tabela
PESSOACLIENTE..  Ao executar a consulta foi me retornado um exception
informando
que a tabela  não existia;
 - Descobri que este erro ocorria pq as tabelas estavam sendo criadas
em arquivos diferentes ( ao chamar a super (SQLiteOpenHelper) eu
passava o nome da tabela para cada
 DAO). Então alterei para que todas as tabelas passassem como
parâmetro o nome do banco ao invés do nome da tabela (conforme
abaixo):

       public RotaVendedorDao(Activity activity) {
               super(activity, BANCO, null, VERSAO);
               // TODO Auto-generated constructor stub
       }

Porém esta alteração fez com que apenas a primeira classe DAO
instanciada na aplicação tivess o método onCreate executado e as
outras DAO não.

Encontrei a solução abaixo para este problema, mas gostaria de saber
se alguém conhece alguma outra alternativa.
- Ter uma unica classe com o método  onCreate onde este método cria
todas as tabelas do banco e as DAO apenas fazem a manipulação dos
dados ?


Qualquer informação é bem vinda.

Desde já muito obrigado pela atenção!









--
Analista-Programador

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário