O documento fornece uma introdução sobre o que é o Android, como criar uma primeira tela "Olá Mundo" usando Activity e layout, estrutura básica de diretórios de um projeto Android, uso de diferentes views como TextView, EditText, RatingBar e Button, adicionar comportamento aos elementos da tela, ciclo de vida de uma Activity, exibição de listas usando Adapter, e implementação básica de um banco de dados SQLite para armazenar e recuperar dados de contatos.
24. SQLiteOpenHelper
public class ContatoDAO extends SQLiteOpenHelper {
public void ContatoDAO(Context ctx) {
super(ctx, “agenda", null, 1);
}
public void onCreate (SQLiteDataBase db) {
String ddl = “create table contato (name text, telefone text);“;
db.execSQL(ddl);
}
!
public void onUpgrade (SQLiteDataBase db) {
// vamos deixar vazio por enquanto
}
}
25. Incluindo um contato
public class ContatoDAO extends SQLiteOpenHelper {
// código anterior…
!
public void adiciona(Contato contato){
// insere contato no banco…
ContentValues values = new ContentValues();
values(“nome”, contato.getNome());
values(“telefone”, contato.getTelefone());
!
getWritableDatabase().insert(“agenda”, null, values);
}
// apagar, atualizar e buscar aqui em breve ;)
}
26. Apagando um contato
public class ContatoDAO extends SQLiteOpenHelper {
!
public void apaga(Contato contato){
String[] ids = {contato.getId().toString()};
getWritableDatabase().delete(“agenda”, “id=?”, ids);
}
!
}
27. Buscando os contatos
public class ContatoDAO extends SQLiteOpenHelper {
!
public List<Contato> busca(Contato contato){
List<Contato> contatos = new ArrayList<Contato>();
!
SQLiteDatabase database = getReadableDatabase();
Cursor cursor = database.rawQuery(“select * from agenda;”, null);
!
while (cursor.moveToNext()) {
Contato contato = criarContatoDo(cursor);
contatos.add(contato);
}
return contatos;
}
}
28. Atualizando um contato
public class ContatoDAO extends SQLiteOpenHelper {
public void atualiza(Contato contato){
ContentValues values = new ContentValues();
values(“nome”, contato.getNome());
values(“telefone”, contato.getTelefone());
String[] ids = {contato.getId().toString()};
!
getWritableDatabase().update(“agenda”, values, id, ids);
}
}