AVA2 -PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
AVA2 -PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
AVA 2
6
PROGRAMAÇÃO PARA DISPOSITIVOS MOVEIS
<Button
android:id="@+id/btSair"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="sair"
android:text="Sair"
android:textColor="#FF5722"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/btIncluir" />
<ListView
android:id="@+id/lista"
android:layout_width="411dp"
android:layout_height="300dp"
android:layout_marginTop="172dp"
android:layout_marginBottom="173dp"
app:layout_constraintBottom_toBottomOf="@+id/btIncluir"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/textView" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="CLIENTES CADASTRADOS"
android:textAlignment="center"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="18dp"
android:layout_marginBottom="16dp"
android:text="\@Daniel F. A. Feliciano"
7
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageButton
android:id="@+id/btIncluir"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="56dp"
android:layout_marginBottom="80dp"
android:backgroundTintMode="multiply"
android:onClick="incluirCliente"
android:tint="#FF5722"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@android:drawable/ic_input_add" />
</androidx.constraintlayout.widget.ConstraintLayout>
8
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp"
android:text="Crédito"
app:layout_constraintBottom_toTopOf="@+id/textView3"
app:layout_constraintStart_toStartOf="@+id/editText3" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="63dp"
android:layout_marginTop="98dp"
android:ems="10"
android:hint="Apenas Letras e Espaços"
android:inputType="textCapWords"
android:maxLength="10"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:ems="10"
android:hint="Telefone Fixo ou Celular"
android:inputType="phone"
android:maxLength="11"
app:layout_constraintStart_toStartOf="@+id/textView5"
app:layout_constraintTop_toBottomOf="@+id/textView5" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:layout_marginTop="8dp"
android:ems="10"
android:hint="Maior de 17 Anos"
android:inputType="number"
9
android:maxLength="3"
android:textAlignment="center"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@+id/textView8"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
<EditText
android:id="@+id/editText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:digits="0123456789."
android:ems="10"
android:hint="Valores Decimais"
android:inputType="numberDecimal"
app:layout_constraintStart_toStartOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView6" />
<ImageButton
android:id="@+id/button2"
android:layout_width="62dp"
android:layout_height="56dp"
android:layout_marginTop="68dp"
android:layout_marginEnd="40dp"
android:layout_marginBottom="70dp"
android:background="#00F8F1F1"
android:onClick="excluir"
android:scaleX="2"
android:scaleY="2"
android:tint="#FF5722"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText4"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@android:drawable/ic_menu_delete" />
<ImageButton
android:id="@+id/voltar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="167dp"
android:layout_marginBottom="17dp"
android:background="#00FFFFFF"
android:onClick="voltar"
android:scaleX="2"
android:scaleY="2"
android:tint="#FF5722"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@android:drawable/ic_menu_revert" />
<ImageButton
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="35dp"
android:layout_marginTop="73dp"
android:layout_marginBottom="70dp"
android:backgroundTint="#00FFFFFF"
10
android:onClick="alterarInserir"
android:scaleX="2"
android:scaleY="2"
android:tint="#FF5722"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView3"
app:srcCompat="@android:drawable/ic_menu_edit" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="41dp"
android:text="R$"
android:textSize="30sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText3" />
<CheckBox
android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="120dp"
android:layout_marginTop="24dp"
android:checked="false"
android:textAlignment="textStart"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@+id/button"
app:layout_constraintTop_toBottomOf="@+id/editText4" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:text="Nome"
app:layout_constraintBottom_toTopOf="@+id/editText"
app:layout_constraintStart_toStartOf="@+id/editText" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:text="Telefone com DDD"
app:layout_constraintStart_toStartOf="@+id/editText"
app:layout_constraintTop_toBottomOf="@+id/editText" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="48dp"
android:layout_marginTop="16dp"
android:textAlignment="center"
11
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="19dp"
android:text="Idade"
app:layout_constraintStart_toStartOf="@+id/editText2"
app:layout_constraintTop_toBottomOf="@+id/editText2" />
<ImageButton
android:id="@+id/incluir"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="11dp"
android:layout_marginBottom="8dp"
android:background="#00FFFFFF"
android:onClick="alterarInserir"
android:scaleX="2"
android:scaleY="2"
android:tint="#FF5722"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@+id/button"
app:layout_constraintEnd_toEndOf="@+id/button"
app:srcCompat="@android:drawable/ic_menu_add" />
<TextView
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="29dp"
app:layout_constraintStart_toStartOf="@+id/voltar"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
12
CÓDIGO JAVA (CONTROLLER) - MAINACTIVITY
package com.example.ava23;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.Iterator;
import java.util.List;
// exclusão
private long[] idClientes;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lista = (ListView) findViewById(R.id.lista);
// Altera o título da janela da atividade
setTitle("AVA2 Aplicativos Móveis");
// Cria o objeto de acesso ao banco
dao = new Cliente_DAO(this);
// Abre o banco
dao.open();
// Determina que os itens da lista serão clicáveis e
// prepara o método de controle: onItemClick(..)
lista.setOnItemClickListener(this); // Clique no item
}
// Sempre que a atividade passar pelo método onResume, a lista
// será atualizada
@Override
protected void onResume () {
dao.open ();
super.onResume ();
// Prepara a lista que será exibida ao usuário na tela
// Busca no banco todos os registros
List<Cliente> listaClientes = dao.getAll();
13
// a alteração ou exclusão
idClientes[i] = aux.getId();
// Próximo item dos vetores
i++;
}
// Carrega o ArrayAdapter com os dados do vetor de clientes //
ArrayAdapter <String >
ArrayAdapter <String > adapter = new ArrayAdapter<String >(
this , android.R.layout.simple_list_item_1 , clientes );
//Clietnes?
// Preenche a lista com os dados do ArrayAdapter
lista.setAdapter( adapter );
}
// Fecha o recurso de acesso ao banco sempre que a atividade passar
// por uma pausa
@Override
protected void onPause () {
// Libera o recurso de acesso ao banco
dao.close ();
super.onPause ();
}
// Método para seleção de um item da lista para
// alteração ou exclusão (atende à interface: AdapterView.OnItemClickListener)
public void onItemClick(AdapterView<?> parent, View view, int position, long
ident) {
// Position é a posição do item na lista
// Armazena o índice do elemento escolhido na lista
long id = idClientes[position];
// Preparação da intent com previsão de retorno de dados
intent = new Intent(getApplicationContext(), TratarCliente.class);
// Passa os dados do item escolhido para a atividade de tratamento
intent.putExtra("acao", 0);
intent.putExtra("id", id);
// Chama a atividade
startActivity(intent);
}
// Método de controle para chamada da atividade secundária para inclusão
public void incluirCliente(View v){
14
intent.putExtra("id", 0L);
// Chama a atividade
startActivity(intent);
}
// Método para encerrar o aplicativo
public void sair(View v){
finish();
}
}
15
package com.example.ava23;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
incluir.setVisibility(View.VISIBLE);
voltar.setVisibility(View.VISIBLE);
editar.setVisibility(View.INVISIBLE);
16
excluir.setVisibility(View.INVISIBLE);
excluir.setVisibility(View.GONE);
ed3.setText(String.format("%d", 18));
ed4.setText(String.format("%3.2f", 0.00));
ed5.setVisibility(View.VISIBLE);
ed5.setChecked(true);
ed5.setText("Ativo");
} else {
// Tela de alteração ou exclusão
setTitle("Alterar ou Excluir Cliente");
incluir.setVisibility(View.INVISIBLE);
incluir.setVisibility(View.GONE);
voltar.setVisibility(View.VISIBLE);
editar.setVisibility(View.VISIBLE);
excluir.setVisibility(View.VISIBLE);
// checkbox();
if(aux.getAtivo().matches("Ativo")){
ed5.setChecked(true);
ed5.setText("Ativo");
}else{
ed5.setChecked(false);
ed5.setText("Inativo");
}else {
ed5.setText("INATIVO");
17
}
// Método para preparar os dados para retornar à atividade principal
public void alterarInserir(View v) {
aviso.setText("");
ok.setText("");
incluir.setVisibility(View.INVISIBLE);
incluir.setVisibility(View.GONE);
excluir.setVisibility(View.VISIBLE);
voltar.setVisibility(View.VISIBLE);
editar.setVisibility(View.VISIBLE);
if(ed5.isChecked()){
checkbox();
ed5.setText("Ativo");
}else {
checkbox();
ed5.setText("Inativo");
}
}else{
//Valor referente a esse Input
ok1 += 1;
}
if(telefone.length() < 10) {
//Valor referente a esse Input
ok1 += 2;
if(ed3.getText().length() < 1) {
//Valor referente a esse Input
ok1 += 4;
}else{
idade = Integer.parseInt(ed3.getText().toString());
if(idade < 18){
18
}else{
//converte de “,” para “.”
credito1 = credito1.replace(",",".");
credito = Double.parseDouble(credito1);
case 12:
aviso.setText(String.format("Verifique os campos IDADE e
CRÉDITO"));
break;
case 13:
aviso.setText(String.format("Verifique os campos NOME, IDADE e
CRÉDITO"));
break;
case 14:
aviso.setText(String.format("Verifique os campos TELEFONE, IDADE e
CRÉDITO"));
break;
case 15:
aviso.setText(String.format("Reveja todos os campos!"));
break;
default:
aviso.setText(String.format(""));
break;
}
if(ok1 == 0){
// Determina a ação
if (acao == -1) { // Ação de inserção
// Realiza a inclusão da disciplina na tabela
dao.inserir(nome, telefone, idade, credito, ativo);
} else { // Ação de alteração
// Realiza a alteração do registro correspondente na tabela
dao.alterar(id, nome, telefone, idade, credito, ativo);
}
// Libera o recurso de acesso ao banco
dao.close();
// Encerra a atividade, retornando à atividade principal
finish();
}
}
// Método para a exclusão de um registro de acordo com o id da disciplina
public void excluir(View v) {
aviso.setText("");
excluir.setVisibility(View.VISIBLE);
// Confere se é uma ação de alteração ou exclusão
if (acao == 0) {
// Cria o objeto de acesso ao banco
Cliente_DAO dao = new Cliente_DAO(this);
// Abre o banco
dao.open();
// Realiza a exclusão do registro por meio do id
dao.apagar(id);
// Libera o recurso de acesso ao banco
dao.close();
}
20
package com.example.ava23;
import android.annotation.SuppressLint;
this.nome = nome;
return telefone;
}
public void setTelefone(String telefone) {
if (telefone.length() > 9 ) {
this.telefone = telefone;
}else{
this.telefone = "";
}
}
public double getCredito() {
return credito;
}
public void setCredito(double credito) {
this.credito = credito;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
if (idade > 17) {
this.idade = idade;
22
this.ativo = ativo;
this.id = id;
}
// Método construtor com definição dos valores-padrão
public Cliente() {
nome = "";
telefone = "";
idade = 18;
credito = 0.00;
ativo = "Ativo";
}
// Método de formatação dos dados para exibição na lista
@SuppressLint("DefaultLocale")
public String textoLista() {
String item;
item = getNome();
item += "\nTelefone: " + getTelefone();
item += "\t Idade: " + String.format("%d Anos ", getIdade());
item += "\nCrédito: " + String.format("R$ %3.2f ", getCredito());
item += "\t Status: " + getAtivo();;
return item;
}
}
23
package com.example.ava23;
import java.util.ArrayList ;
import java.util.List ;
import android.content.ContentValues ;
import android.content.Context;
import android.database.Cursor ;
import android.database.SQLException ;
import android.database.sqlite.SQLiteDatabase ;
package com.example.ava23;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite . SQLiteOpenHelper;
Todos os Inputs