Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Buscar .class dentro do pacote da app

Sim, é exatamente aí que quero "automatizar" o processo.


On Monday, March 10, 2014 9:06:14 AM UTC-3, Pedro Subutzki wrote:
Não tem muito o que fazer, ou você utiliza o onCreate ou o onUpgrade.
 

Abraços,
Pedro Subutzki
__________________________________________
HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/Hadi


Em 10 de março de 2014 08:58, Rafael Decker <rafael...@gmail.com> escreveu:
Olá pessoal,

Estava pensando em tentar tornar a criação do banco de dados mais prática, porém não consegui achar um jeito de fazer isso.

O que eu quero fazer é evitar que a cada tabela nova que seja criada/adicionada, eu tenha que incluir a linha no meu DBOpenHelper a query da criação da tabela, por exemplo:

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(ClientDao.QUERY_CREATE_TABLE);
        db.execSQL(CollectionDao.QUERY_CREATE_TABLE);
        ...
   }

Pensei em algumas alternativas, como por exemplo, colocar todas as queries em um único arquivo, e o OpenHelper ler de lá, porém não gostaria de fazer assim, porque quero que essa query tenha alguma ligação com o Dao, ou seja, quero que se eu mude o nome de um campo, por exemplo, não seja necessário mudar em 2 lugares.

Pensei em cada Dao serializar um json com sua query, e o OpenHelper iria ler todos objetos serializados de um determinado path. Achei que ia ser uma alternativa boa, porém tenho que ter um jeito de fazer com que todos Daos serialize sua query sem que eu tenha que instanciá-los (voltaria para o mesmo problema de a cada tabela nova, ter que adicionar uma linha nova com a sua query). Pensei em buscar todos os *.class que tem na aplicação e verificar se eles herdam de AbstractDao e por reflection instanciá-los e serializar as queries, por exemplo, porém, pelo o que eu andei pesquisando, no android é bastante difícil de tu conseguir escanear todos os arquivos classes do pacote.

Alguém sabe alguma maneira em que eu consiga resolver isso?

Abraço
Rafael Decker 


--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

0 comentários:

Postar um comentário