● |
Persistência de Dados■■ |
○ SQLite ■ Criação do Banco de Dados Classes SQLiteOpenHelper, SQLiteDatabase e |
|
ContentValues Inserção, Atualização, Exclusão e Busca de registro no |
|
● |
Banco de Dados ■ Classe Cursor Referências |
● |
API do Android (executar SQL) Adotado aqui pois permite criar pela aplicação○ |
||
● |
Cliente gráfico do SQLite |
||
○ |
SQLite Expert Personal (gratuito) |
||
■ |
|||
● |
Usando SQL via linha de comando (sqlite3 - |
||
<pasta_android>\tools\sqlite3.exe) |
|||
● |
Nos 2 últimos, após criar, é preciso mover o arquivo para a pasta /data/data/<pacote>/databases do emulator |
○ |
onCreate(), que é chamado pelo Framework Android para execução dos comandos SQL para criar a base de dados |
○ |
onUpgrade(), que é chamado quando a versão da base de dados é incrementada na aplicação, permitindo executar os comandos SQL necessários para atualização do esquema da mesma |
❏ SQLiteDatabase.insert(tabela, nullColumnHack, valores) |
|||
Parâmetro |
Descrição |
||
String tabela |
Nome da Tabela |
||
String nullColumnHack |
Nome de uma coluna opcional usada para não permitir que um registro completamente nulo seja inserido. |
||
ContentValues valores |
Estrutura de chave e valores, com os valores para inserir |
❏ SQLiteDatabase.update(tabela, valores, where, whereArgs) |
|
Parâmetro |
Descrição |
String tabela |
Nome da Tabela |
ContentValues valores |
Estrutura de chave e valores, com os valores para atualização |
String where |
String com a cláusula where utilizada para identificar o registro. Pode ser uma string com o texto “_id=1”, ou uma string com o texto “_id=?”, tornando necessário usar o último argumento para informar o valor do “?” |
String whereArgs |
Array com os parâmetros necessários, caso a cláusula where defina algum parâmetro com “?” |
SQLiteDatabase db = new DatabaseHandler(context).getWritableDatabase(); db.delete("contatos", "_id=?", new String[]{"1"}); |
// sql: delete from contatos where _id=1; |
// Deleta o contato cujo id é igual a 1 |
❏ SQLiteDatabase.delete(tabela, where, whereArgs) |
|
Parâmetro |
Descrição |
String tabela |
Nome da Tabela |
String where |
String com a cláusula where utilizada para identificar o registro. Pode ser uma string com o texto “_id=1”, ou uma string com o texto “_id=?”, tornando necessário usar o último argumento para informar o valor do “?” |
String whereArgs |
Array com os parâmetros necessários, caso a cláusula where defina algum parâmetro com “?” |
SQLiteDatabase db = new DatabaseHandler(context).getWritableDatabase(); Cursor c = db.query("contatos", new String[]{"_id", "nome", "telefone"}, "nome=?“, new String[] {"Marcos Silva"}, null, null, null); // Se encontrou if(c.getCount() > 0) { c.moveToFirst(); // Posiciona no primeiro resultado |
|
// Utiliza os métodos getLong(índice), getString(índice), etc para recuperar os valores long id = c.getLong(0); String nome = c.getString(1); Contato contato = new Contato(id, nome); } // Sql: SELECT _id, nome, telefone from contatos where nome=“Marcos // seleciona o contato cujo nome é igual a "Marcos Silva"”... |
|
❏ SQLiteDatabase.query(distinct, tabela, colunas, seleção, seleçãoArgs, groupBy, having, orderBy, limit) |
||
Parâmetro |
Descrição |
|
Boolean distinct |
Usado para que o resultado não contenha registros duplicados. É opcional e existe uma assinatura deste método sem ele. |
|
String tabela |
Nome da Tabela |
|
String colunas |
Array com os nomes das colunas para seleção. Passar o valor null retorna todas as colunas. |
|
❏ SQLiteDatabase.query(distinct, tabela, colunas, selecao, selecaoArgs, groupBy, having, orderBy, limit) |
||
Parâmetro |
Descrição |
|
String selecao |
Cláusula where utilizada para filtrar os registros. Passar os null retorna todos os registros. |
|
String[] selecaoArgs |
Argumentos “?” da cláusula where, caso necessário. |
|
String groupBy |
Nome das colunas para agrupar (group by). Passar null não agrupará registros. |
|
❏ SQLiteDatabase.query(distinct, tabela, colunas, selecao, selecaoArgs, groupBy, having, orderBy, limit) |
||
Parâmetro |
Descrição |
|
String having |
Filtros para os grupos criados, quando houverem. |
|
String orderBy |
Nome das colunas para ordenar (order by) |
|
String limit |
Limita o número de registros retornados pela consulta. |
|
Viel mehr als nur Dokumente.
Entdecken, was Scribd alles zu bieten hat, inklusive Bücher und Hörbücher von großen Verlagen.
Jederzeit kündbar.