Baixe o app para aproveitar ainda mais
Prévia do material em texto
CURSO GESTÃO DE TECNOLOGIA DA INFORMAÇÃO DISCIPLINA DESENVOLVIMENTO DE APLICAÇÕES MOBILE E DISTRIBUÍDAS PROFESSOR EDGAR AUGUSTO GONÇALVES GURGEL DO AMARAL ALUNO DANIEL MALTEZ PORTELLA MATRICULA: 20203301310 TEMA: Desenvolvimento de um aplicativo com a persistência de dados com o uso do SQLite no Android Rio de Janeiro, 01 de Setembro de 2022. activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.constraint.ConstraintLayout android:layout_width="0dp" android:layout_height="0dp" android:layout_marginStart="1dp" android:layout_marginTop="1dp" android:layout_marginEnd="1dp" android:layout_marginBottom="1dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <LinearLayout android:id="@+id/lay_Main" android:layout_width="388dp" android:layout_height="343dp" android:clickable="false" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <TextView android:id="@+id/main_txtNome" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="50dp" android:layout_weight="0" android:text="@string/txt_nome" /> <EditText android:id="@+id/main_edtNome" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:ems="10" android:hint="@string/edt_nome" android:inputType="textPersonName" /> <TextView android:id="@+id/main_txtTelefone" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:text="@string/txt_telefone" /> <EditText android:id="@+id/main_edtTelefone" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" android:ems="10" android:hint="@string/edt_telefone" android:inputType="textPersonName" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="20dp" android:layout_marginEnd="20dp" android:layout_weight="0" android:animationCache="true" android:baselineAligned="false" android:orientation="horizontal" android:paddingTop="10dp"> <Button android:id="@+id/main_btnCancelar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="40dp" android:layout_marginTop="5dp" android:layout_weight="0" android:backgroundTint="#D67168" android:text="@string/btn_limpar" android:textAlignment="center" /> <Button android:id="@+id/main_btnSalvar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="70dp" android:layout_marginTop="5dp" android:layout_marginEnd="30dp" android:layout_weight="0" android:backgroundTint="#26E0B6" android:drawableLeft="@android:drawable/ic_input_add" android:text="@string/btn_salvar" android:textAlignment="center" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginStart="20dp" android:layout_marginEnd="20dp" android:orientation="horizontal" android:paddingTop="10dp"> <Button android:id="@+id/main_btnListarContatos" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="10dp" android:layout_marginTop="5dp" android:layout_marginEnd="10dp" android:layout_weight="0" android:backgroundTint="#80B4F3" android:drawableRight="@android:drawable/ic_menu_slideshow" android:text="Ver Lista de Contatos" /> </LinearLayout> </LinearLayout> </android.support.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout> MainActivity.java import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.unipac.sqlite_persistenciadados.DAO.ContatoDAO; import com.unipac.sqlite_persistenciadados.Models.Contato; public class MainActivity extends AppCompatActivity { private EditText varNome; private EditText varTelefone; private Button bSalvar; private Button bVerContatos; private Button bLimpar; private long idContato; Contato contato = new Contato(); @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); varNome = findViewById(R.id.main_edtNome); varTelefone = findViewById(R.id.main_edtTelefone); bSalvar = findViewById(R.id.main_btnSalvar); bLimpar = findViewById(R.id.main_btnCancelar); bVerContatos = findViewById(R.id.main_btnListarContatos); bSalvar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ContatoDAO contatoDAO = new ContatoDAO(getBaseContext()); String nome = varNome.getText().toString(); String telefone = varTelefone.getText().toString(); Contato contato = new Contato(nome, telefone); if(!nome.isEmpty() && !telefone.isEmpty()){ contatoDAO.salvar(contato); Toast.makeText(getApplicationContext(), "Salvando novo Contato", Toast.LENGTH_SHORT).show(); // bLimpar.callOnClick(); } } }); bLimpar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { varNome.setText(""); varTelefone.setText(""); varNome.requestFocus(); } }); bVerContatos.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ContatoDAO contatoDAO = new ContatoDAO(getBaseContext()); // long id = contato.getId();String nome = varNome.getText().toString(); String telefone = varTelefone.getText().toString(); Contato contato = new Contato(nome,telefone); if(!contatoDAO.verificarSeContatoExiste(telefone)){ contatoDAO.salvar(contato); Toast.makeText(getApplicationContext(), "Contato Cadastrado!",Toast.LENGTH_SHORT).show(); } Intent intent = new Intent(MainActivity.this, ListaContatosActivity.class); intent.putExtra("idContatoSelec", contato.getId()); startActivity(intent); } }); }} activity_lista_contatos.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ListaContatosActivity"> <ListView android:id="@+id/LV_ListarContatos" android:layout_width="381dp" android:layout_height="598dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> </ListView> <LinearLayout android:id="@+id/ll_botton" android:layout_width="413dp" android:layout_height="61dp" android:layout_marginEnd="8dp" android:orientation="horizontal" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/LV_ListarContatos"> <Button android:id="@+id/lc_btnVoltar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="30dp" android:layout_marginEnd="30dp" android:layout_marginBottom="10dp" android:layout_weight="1" android:backgroundTint="#E7AE48" android:contextClickable="false" android:text="Voltar" android:textAlignment="center" /> </LinearLayout> </android.support.constraint.ConstraintLayout> ListaContatosActivity.java mport android.app.ListActivity; import android.content.DialogInterface; import android.content.Intent; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.Toast; import com.unipac.sqlite_persistenciadados.Adapter.ContatoAdapter; import com.unipac.sqlite_persistenciadados.DAO.ContatoDAO; import com.unipac.sqlite_persistenciadados.Models.Contato; import java.util.ArrayList; import java.util.Collections; public class ListaContatosActivity extends AppCompatActivity { private ArrayList<Contato> listadeContatos = new ArrayList<>(); private ContatoDAO contatoDAO = null; private ArrayAdapter adapter; private ListView listContato; private long idContatoAtivo; Button bVoltar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lista_contatos); bVoltar = (Button) findViewById(R.id.lc_btnVoltar); contatoDAO = new ContatoDAO(getBaseContext()); contatoDAO = new ContatoDAO(getBaseContext()); Bundle extras = getIntent().getExtras(); if (extras != null) { idContatoAtivo = extras.getLong("idContatoAtivo"); } // usuario = usuarioDAO.buscarPorId(idUsuarioAtivo); // if(!contatoDAO.buscarPorId(idContatoAtivo).isAdmin()) { // le_bt_novoEvento.setVisibility(View.INVISIBLE); // } listContato = (ListView) findViewById(R.id.LV_ListarContatos); listContato.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent2 = new Intent(ListaContatosActivity .this, ListaContatosActivity.class); Contato contatoSelecionado = (Contato) listContato.getItemAtPosition(position); intent2.putExtra("contatoSelec", contatoSelecionado); intent2.putExtra("idContatoAtivo", idContatoAtivo); startActivity(intent2); } }); listContato.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long l) { Intent intent2 = new Intent(ListaContatosActivity.this, ListaContatosActivity.class); Contato contato = new Contato(); Contato contatoSelecionado = (Contato) listContato.getItemAtPosition(position); intent2.putExtra("contatoSelec", contatoSelecionado); intent2.putExtra("idUsuarioAtivo", idContatoAtivo); startActivity(intent2); return true; } }); } @Override protected void onResume() { super.onResume(); listadeContatos = contatoDAO.buscarTodos(); Collections.sort(listadeContatos); if(!listadeContatos.isEmpty()){ adapter = new ContatoAdapter(this, listadeContatos); listContato.setAdapter(adapter); } else { Toast.makeText(getApplicationContext(), "Não há contatos cadastrados!", Toast.LENGTH_LONG).show(); } } } TEMA: Desenvolvimento de um aplicativo com a persistência de dados com o uso do SQLite no Android
Compartilhar