CRUD Básico – Android

 

Confira o vídeo do exemplo desse artigo

 

Crie um novo projeto utilizando o Android Studio com uma Blank Activity.

Na activity criada existe um Float Button. Troque o ícone para o símbolo de edição. Esse float button será utilizado para chamar a tela que vai inserir um novo registro na tabela. O float button está declaro no arquivo main_activity.xml.

crud_basico_android_01_alterar_icone_float_button_

 

Inclua uma nova activity no projeto. Ela será utilizada para incluir um novo registro e também para alterá-lo. Dê o nome de GerirContatoActivity e no título coloque Gerir Contato.

Remova o Float Button do arquivo activity_gerir_contato.xml e seu código na activity GerirContatoActivity. Vamos precisar apenas da Toolbar para implementar o botão de voltar. Altere o layout para LinearLayout e defina a orientação para vertical.

Como se trata de um crud básico, teremos apenas três campos: Nome, Sobrenome e E-Mail. Cada campo será representado por um TextInputLayout e um EditText. Para que o TextInputLayout seja reconhecido no projeto é preciso incluir a Android Design Support Library.

crud_basico_android_03_layout_gerir_contato

 

Repita o processo para os campos sobrenome e email. A diferença é que no campo EditText para o e-mail a propriedade inputText terá o valor textEmailAddress.

Inclua um Buttom com a propriedade onClick contendo o valor salvar.

crud_basico_android_03_01_botao_salvar_gerir_contato

 

E na activity Gerir Contato inclua o código para exibir o botão de voltar.

crud_basico_android_04_codigo_para_exibir_botao_voltar

 

Na mesma activity declare e referencie os componentes.

crud_basico_android_05_declarar_referenciar_componentes

 

Depois voltaremos a trabalhar nas acitivitys. Agora vamos implementar as classes necessárias para criar o banco de dados, a tabela de contatos e que possamos trabalhar com ela, inserindo registros, listando seus dados na tela, etc.

Crie a classe DBHelper. Ela será responsável por criar o banco de dados e criar a tabela de contatos.

crud_basico_android_06_dbhelper

 

Crie a classe Contato. Ela vai representar os campos da tabela de contatos. Declare as propriedades sendo private e implemente os métodos de get e set sendo public. Sobrescreva o método toString e retorne a concatenação do nome mais o sobrenome. A classe está implementando Serializable para que o objeto contendo os dados do contato possam ser passados para outra activity através do Intent.

crud_basico_android_07_classe_contato
O código completo está no github

 

Crie a classe que vai conter os métodos responsáveis para incluir, editar, excluir e obter a listagem da tabela de contatos. Os métodos estão contraídos para caber no print.

crud_basico_android_08_classe_contatos_adapter
O código completo está no github

 

Antes de criar a classe responsável por tratar da visualização dos dados da tabela de contatos, será preciso alterar o arquivo de layout content_main.xml incluindo o componente RecyclerView ( apague o TextView Hello Word ) e criar o arquivo de layout que vai representar a linha da listagem de contatos.

crud_basico_android_09_incluindo_recyclerview

 

E o arquivo de layout que vai representar a linha da listagem dos contatos na tela principal da aplicação. O componente é para proporcionar uma linha entre os itens da listagem.

crud_basico_android_10_row_contato

 

Agora você pode criar a classe que vai trabalhar com o RecyclerView, que recebe a lista com os dados da tabela e permite a sua exibição, e também com métodos para trabalhar com os campos de cada linha..

crud_basico_android_11_contatos_view_adapter

 

Agora vamos alterar a MainActivity para exibir os dados, e que possibilite a edição de um determinado registro ou a sua exclusão.

Declare uma variável para receber uma lista dos dados da tabela, uma variável para representar a classe ContatosViewAdapter, uma para configurar o layout do RecyclerView e uma para representar o RecyclerView.

crud_basico_android_12_declarando_variaveis_mainactivity

 

Depois referencie e configure o RecyclerView

crud_basico_android_13_configurar_recycler_view

 

Implemente o método addOnItemTouchListener do recyclerview para que se tenha os eventos onItemClick e onItemLongClick. Um será utilizado para chamar a tela indicando que o registro pode ser alterado e o outro para excluir o registro da tabela. Os eventos são adicionados por meio da classe RecyclerItemClickListener.

crud_basico_android_14_implementando_eventos_onclick_e_onlongclick_recyclerview

 

Implemente na classe o método onActivityResult que será executado sempre que retornar para a tela. Caso algum registro seja incluído ou alterado, a tela vai ter sua listagem atualizada.

Implemente também o método CarregarDados para carregar no recyclerview o conteúdo da tabela de contatos.

crud_basico_android_15_implementando_metodos_activity_result_carregar_dados

 

E para finalizar inclua uma chamada ao método CarregarDados no método onCreate e altere o código do Float Buttom para chamar a tela de Gerir Contatos passando a variável REQUEST_EDICAO.

crud_basico_android_16_chamando_metodo_carregar_alterando_float_button

 

E para finalizar esse exemplo básico do CRUD em uma aplicação Android, vamos alterar o código da activity Gerir Contatos para receber os dados do contato caso tenha sido passada pela Intent, o que vai indicar que se estar editando um registro, ou caso não tenha nada, estar indicando que a ação é de inserir um novo contato.

Declare uma variável do tipo objeto Contato. E implemente o código que vai obter os dados do contato, caso tenha sido passado. Se for diferente de null o título da tela será alterado para Alterar Contato e os campos serão carregado com os dados do contato, caso contrário vai apenas alterar o título da tela para Novo Contato.

crud_basico_android_17_gerir_contato_oncreate

 

E para encerrar o projeto, implemente o método salvar. Será testado se a variável contato está vazia ou não, para determinar se está salvando ou incluindo um novo registro. Se não retornar a variável REQUEST_SALVOU, não vai executar o método CarregarDados ao retornar para a tela principal.

crud_basico_android_18_metodo_salvar_gerir_contato

 

Download

https://github.com/dprogrammer/Crud-Basico-Android-dpNet

 

Qualquer dúvida, sugestão, crítica, fiquem a vontade para usar a área de comentários.

Fiquem na Paz!!!

 

 

 

Este post tem 2 comentários

  1. Felipe Aquino

    Boa tarde, cara muito bom seu tutorial, estava com algumas duvidas no RecyclerView e me ajudou bastante, agora estou indo um pouco alem e queria saber se tem alguma dica, eu coloquei basicamente este conceito que vc passou em um esquema de Navegation Drawer, quando criei outra classe para inflar o RecyclerView deu certo, mais a forma que eu trabalhei ficou muito confusa, com muitas classes e quando eu terminava de inserir outro item nao tive controle da RecyclerView preenchida da forma correta, no caso acabei de inserir um contato, quero ir pra tela com os contatos, acabei de inserir outro item quero ver a lista desse item.Se tiver alguma dica agradeco. Vlw

Deixe uma resposta