Buscar

Android_crud_parte_02

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ANDROID
CRUD NA PRÁTICA
PROF. DRECO
2022.2
1
CRUD – Parte 02a
2
3. O BANCO DE DADOS E SUAS NUANCES
Este é o processo em que vamos garantir a criação, conexão e execução de comandos no BD.
Utilizaremos o SQLite
Pontos importantes:
Criação da classe DbAmigosHelper em JAVA, que será responsável por gerenciar a criação do nosso banco de dados e as alterações de versões do SQLite
Criação da classe DbAmigosGateway em JAVA, que será responsável por estabelecer a conexão de client com o banco de dados
Criação da classe DbAmigos em JAVA, que será responsável por gerenciar o objeto Amigo no nosso projeto.
Criação da classe DbAmigosDAO, que será responsável por fazer acesso aos dados – Data Acess Object
Vamos lá! Mãos na massa!
3
Agora, vamos criar a classe DbAmigosHelper
Função: gerenciar a criação do nosso banco de dados e as alterações de versões no SQLite
Ficará assim - Parte 1:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
 
public class DbAmigosHelper extends SQLiteOpenHelper {
 
 private static final String DATABASE_NAME = "Amigos.db";
 private static final int DATABASE_VERSION = 1;
 private final String CREATE_TABLE = "CREATE TABLE Amigos (ID INTEGER PRIMARY KEY AUTOINCREMENT, Nome TEXT NOT NULL, Celular TEXT NOT NULL, Status INTEGER NOT NULL);";
Mão-na-massa 01
4
Ficará assim - Parte 2:
 public DbAmigosHelper(Context context) {
 super(context, DATABASE_NAME, null, DATABASE_VERSION);
 }
 
 @Override
 public void onCreate(SQLiteDatabase db) {
 db.execSQL(CREATE_TABLE);
 }
 
 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
 }
}
Mão-na-massa 01
5
Agora, vamos criar a classe DbAmigosGateway
Função: estabelecer a conexão de client com o banco de dados
Ficará assim - Parte 1:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
public class DbAmigosGateway {
 private static DbAmigosGateway gw;
 private SQLiteDatabase db;
 private DbAmigosGateway(Context ctx){
 DbAmigosHelper helper = new DbAmigosHelper(ctx);
 db = helper.getWritableDatabase();
 }
Mão-na-massa 01
6
Ficará assim - Parte 2:
 public static DbAmigosGateway getInstance(Context ctx){
 if(gw == null)
 gw = new DbAmigosGateway(ctx);
 return gw;
 }
 public SQLiteDatabase getDatabase(){
 return this.db;
 }
}
Mão-na-massa 01
7
Agora, vamos criar a classe DbAmigo
Função: gerenciar o objeto Amigo no nosso projeto: instanciamento, atributos e métodos.
Ficará assim - Parte 1:
public class DbAmigo implements Serializable {
 private int id;
 private String nome;
 private String celular;
 private int status;
 public DbAmigo(int id, String nome, String celular, int status){
 this.id = id;
 this.nome = nome;
 this.celular = celular;
 this.status = status;
 }
Mão-na-massa 01
8
Ficará assim - Parte 2:
 public int getId(){ 
 return this.id; 
 }
 
 public String getNome(){
 return this.nome; 
 }
 
 public String getCelular(){ 
 return this.celular; 
 }
 public int getStatus(){
 return this.status; 
 }
Mão-na-massa 01
9
Ficará assim - Parte 3:
 @Override
 public boolean equals(Object o){
 return this.id == ((DbAmigo)o).id;
 }
 @Override
 public int hashCode(){
 return this.id;
 }
}
Mão-na-massa 01
10
Agora, vamos criar a classe DBAmigosDAO
Função: acesso aos dados – Data Access Object.
Ficará assim:
import android.content.Context;
public class DbAmigosDAO {
 private final String TABLE_AMIGOS = "Amigos";
 private DbAmigosGateway gw;
 public DbAmigosDAO(Context ctx){
 gw = DbAmigosGateway.getInstance(ctx);
 }
}
Mão-na-massa 01
11
CRUD – Parte 02b
12
4. O CADASTRO DE AMIGOS
A partir deste processo, vamos garantir o popular da base de dados.
Pontos importantes:
Alteração da DbAmigosDAO, criando a função SALVAR. 
Aqui utilizaremos a ligação atual com o banco para realizar uma operação de insert a partir de parâmetros que forem recebidos.
Alteração do botão GRAVAR.
Aqui utilizaremos a DAO para executar o método SALVAR, passando os dados do amigo que será cadastrado.
Vamos lá! Mãos na massa!
13
Agora, vamos criar o método SALVAR na classe DBAmigosDAO
Este é o trecho do método:
(...)
public boolean salvar(String nome, String celular, int status){
 ContentValues cv = new ContentValues();
 cv.put("Nome", nome);
 cv.put("Celular", celular);
 cv.put("Status", status);
 return gw.getDatabase().insert(TABLE_AMIGOS, null, cv) > 0;
}
(...)
Mão-na-massa 01
14
4. O CADASTRO DE AMIGOS
Agora vamos alterar o botão SALVAR (btnSalvar), substituindo o código atual
Este é o trecho do método - Parte 1:
Button btnSalvar = (Button)findViewById(R.id.btnSalvar);
btnSalvar.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View view) {
 // Sincronizando os campos com o contexto
 EditText edtNome = (EditText) findViewById (R.id.edtNome);
 EditText edtCelular = (EditText) findViewById (R.id.edtCelular);
15
4. O CADASTRO DE AMIGOS
Este é o trecho do método - Parte 2:
// Adaptando atributos
String nome = edtNome.getText().toString();
String celular = edtCelular.getText().toString();
int situacao = 1;
// Gravando no banco de dados
DbAmigosDAO dao = new DbAmigosDAO(getBaseContext());
boolean sucesso = dao.salvar(nome, celular, situacao);
16
4. O CADASTRO DE AMIGOS
Este é o trecho do método - Parte 3:
if (sucesso)
{
 Snackbar.make(view, "Dados de ["+nome+"] salvos com sucesso!", Snackbar.LENGTH_LONG)
 .setAction("Ação", null).show();
 // Inicializando os campos do contexto
 edtNome.setText("");
 edtCelular.setText("");
17
4. O CADASTRO DE AMIGOS
Este é o trecho do método - Parte 4:
// Atualizando visibilidades
findViewById(R.id.include_listagem).setVisibility(View.VISIBLE);
findViewById(R.id.include_cadastro).setVisibility(View.INVISIBLE);
findViewById(R.id.fab).setVisibility(View.VISIBLE);
18
4. O CADASTRO DE AMIGOS
Este é o trecho do método - Parte 5:
 }
 else
 {
 Snackbar.make(view, "Erro ao salvar, consulte o log!", Snackbar.LENGTH_LONG)
 .setAction("Ação", null).show();
 }
 }
});
19
PROF. DRECO
2022 SEM 2
20

Continue navegando