Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Aplicações e armazenamento de dados - Parte 1, no exercício 12 do capítulo Persistência com SQLite.

Desculpe se a dúvida é muito trivial. Por que não posso fazer cada DAO herdar de SQLiteOpenHelper?

3 respostas

Como sou iniciante, também, não entendi esse exercício.

Também sou iniciante, mas acho que entendi o que ele diz. Vamos ler novamente o que ele fala:

Se possuirmos mais de um DAO em nossa aplicação não poderemos usar a estratégia de fazer todos herdarem de SQLiteOpenHelper e depois usar mais de um DAO na mesma Activity.

Acredito que a DAO não poderia ser usada mais de uma vez na mesma Activity, pois na chamada da classe DAO, nós passamos o contexto da Activity, que por sua vez, herda SQLiteOpenHelper. Sendo assim não poderíamos passar o mesmo contexto para suas DAOs diferentes.

solução!

Oi Fabrício!

Você até poderia fazer isso. O problema é que você teria que controlar a evolução do schema do banco em várias classes separadas (nos métodos onCreate, onUpdate, etc), o que complicaria bastante o controle das suas tabelas e etc.

A solução ideal é criar apenas uma classe helper que herda de SQLiteOpenHelper e utilizar ela em todos os seus DAOs.

abraço

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software