Para adaptar o projeto para utilizar um desses ORM's, é muito complicado?
On Friday, February 28, 2014 3:57:26 PM UTC-3, Vinicius Oliveira wrote:
Já tem feito tudo isso mano
http://ormlite.com/sqlite_java_android_orm.shtml On Feb 28, 2014 3:01 PM, "Guilherme Bernardi" <gui.ber...@gmail.com> wrote:Pessoal, boa tarde.--Gostaria de saber se alguém já chegou a implementar e utilizar um GenericDAO no Android.Confesso que não possuo um conhecimento aprofundado em Java Generics, mas para evitar a repetição de DAO's (que no total chegariam a 12) que teria em meu projeto comecei a tentar desenvolver um GenericDAO, mas estou com dificuldades para implementar determinados conceitos. Venho me baseando nos conceitos voltados ao uso do Hibernate, até porque não achei conteúdo referente as implementações e adaptações propriamente ditas para o Android.Desenvolvi uma interface que define os métodos de minha GenericDAO.E então eu tenho minha GenericDAOImpl onde são implementados todos os métodos responsáveis por utilizar a camada de banco de dados para persistir os dados.Só que estou tendo algumas dúvidas, no caso minha classe VO por exemplo PessoaVO, ela seria apenas o escopo mesmo do Objeto. E eu teria uma interface para cada VO por exemplo PessoaDAO que essa sim herdaria meu GenericDAO?Com isso através dessas interfaces DAO, eu conseguiria adaptar meu GenericDAO de acordo com o objeto que eu estou trabalhando.Um outro problema que tive com Generics, é a respeito por exemplo do retorno de Listas para utilização em um Adapter.Utilizando o conceito que estou acostumado, eu faria mais ou menos dessa maneira:public List<PessoaVO> lista() {List<PessoaVO> lista = new ArrayList<PessoaVO>();SQLiteDatabase db = new DBHelper(ctx).getWritableDatabase(); Cursor c = db.query(table_name, colunas, null, null, null, null, null);while (c.moveToNext()) {PessoaVO pessoa = new PessoaVO();pessoa.setId(c.getInt(c.getColumnIndex("id"))); pessoa.setNome(c.getString(c.getColumnIndex("nome"))); lista.add(pessoa);}return lista;}Mas comecei a tentar implementá-la dentro de um GenericDAO e tive várias dúvidas, por exemplo com faria o retorno e conversão de uma Lista da mesma maneira que acima? Tive problemas para transformar o Cursor em um tipo que pudesse ser colocado em List e ser retornado, já que não consegui e pelo que li e pesquisei não é possível obter uma instancia do objeto para fazer seu retorno dessa maneira. Segue abaixo implementação até onde parei:public List<T> listar(String[] campos) {Dados conn = new Dados(context);//List<?> list = new ArrayList<String>();Cursor cursor = conn.ExecSelect(tabela, campos, null, null, null, null, null);//ArrayList<?> arr = new ArrayList<String>();List<String> list;String[] dados = new String[campos.length];cursor.moveToFirst();while (!cursor.isAfterLast()) {for (int i = 0; i < campos.length; i++) {if (cursor.getType(i) == Cursor.FIELD_TYPE_INTEGER) {//dados.add(i, String.valueOf(cursor.getInt(i))); dados[i] = String.valueOf(cursor.getInt(i)); } else if (cursor.getType(i) == Cursor.FIELD_TYPE_FLOAT) {dados[i] = String.valueOf(cursor.getFloat(i)); } else if (cursor.getType(i) == Cursor.FIELD_TYPE_STRING) {dados[i] = cursor.getString(i);}}//list.add(dados);cursor.moveToNext();}cursor.close();conn.closeConnecion();return list;}Obrigado desde já.
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/groups/opt_out .
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/groups/opt_out.
0 comentários:
Postar um comentário