O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Aula 12/06 (SQLite)

800 visualizações

Publicada em

Aprenda alguns comandos da API de persistência do Android.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Aula 12/06 (SQLite)

  1. 1. PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Banco de Dados
  2. 2. Objetivos da aula  Banco de Dados  Exercício
  3. 3. Qual banco de dados o Android tem integração?
  4. 4. SQLite
  5. 5. Cada aplicação pode criar um ou mais banco de dados.
  6. 6. Os bancos de dados da sua aplicação ficam localizados em: /data/data/nome_pacote_app/databases
  7. 7. Um banco de dados é vísivel somente a aplicação que o criou.
  8. 8. Podemos criar um banco de dados de várias formas:
  9. 9. Programaticamente, via API;
  10. 10. Usando um cliente, por exemplo o SQLite Expert Personal (http://www.sqliteexpert.com/);
  11. 11. Ou pelo aplicativo SQLite3 através do console do emulador.
  12. 12. Vamos focar na melhor prática, a criação e a manutenção de um banco de dados via API.
  13. 13. Como criaremos um banco?
  14. 14. Precisamos estender a classe SQLiteOpenHelper e implementar os métodos onCreate() e onUpgrade().
  15. 15. Os métodos onCreate() e onUpgrade() são chamados automaticamente pelo Android quando o banco de dados precisa ser criado ou atualizado.
  16. 16. Através da instância da classe que estende SQLiteOpenHelper, utilizamos o método getWritableDatabase() para abrirmos uma conexão com o banco de dados, onde podemos executar comandos SQL da seguinte forma: SQLiteDatabase db = dbHelper.getWritableDatabase(); db.execSQL(“create table carro (_id integer primary key autoincrement, nome text not null, placa text not null, ano text not null);”);
  17. 17. Controlamos as atualizações do banco de dados por meio de uma versão, definida por nós, um valor incremental.
  18. 18. Vamos observar alguns outros comandos:
  19. 19. Para inserir um registro, utilizamos o método db.insert(tabela, nullColumnHack, valores).
  20. 20. ContentValues valores = new ContentValues(); valores.put(“nome”, “Carro”); valores.put(“placa”, “AAA-1111”); valores.put(“ano”, “2008”); bb.insert(“carro”, null, valores);
  21. 21. É recomendado criar uma coluna com o nome _id que seja auto incremento.
  22. 22. Para atualizar um registro, utilizamos o método db.update(tabela, valores, where, whereArgs).
  23. 23. String id = “1”; ContentValues valores = new ContentValues(); valores.put(“nome”, “novo nome”); valores.put(“placa”, “AAA-1111”); valores.put(“ano”, “2008”); db.update(“carro”, valores, “_id = ?”, new String[]{id});
  24. 24. Para deletar um registro, utilizamos o método db.delete(tabela, where, whereArgs).
  25. 25. String id = “1”; db.delete(“carro”, “_id = ?”, new String[]{id});
  26. 26. Para buscar registros, utilizamos o método db.query(distinct, tabela, colunas, selecao, selecaoArgs, groupBy, orderBy), que nos retorna um objeto do tipo Cursor, similar ao ResultSet da API do JDBC.
  27. 27. Cursor c = db.query(“carro”, new String[] {“_id”, “nome”, “placa”, “ano”}, “nome=?”, new String[] {“nome consultado”}, null, null, null); if (c.getCount() > 0) { Carro carro = new Carro(); c.moveToFirst(); carro.id = c.getLong(0); carro.nome = c.getString(1); carro.placa = c.getString(2); carro.ano = c.getInt(3); }
  28. 28. Até a próxima!

×