ListaAlunosActivity.java
package br.com.alura.agenda.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import br.com.alura.agenda.DAO.AlunoDAO;
import br.com.alura.agenda.R;
public class ListaAlunosActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista_alunos);
setTitle("Lista de alunos");
FloatingActionButton botaoNovoAluno = findViewById(R.id.activity_lista_alunos_fab_novo_aluno);
botaoNovoAluno.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(ListaAlunosActivity.this,
FormularioAlunoActivity.class));
}
});
}
@Override
protected void onResume() {
super.onResume();
AlunoDAO dao = new AlunoDAO();
ListView listaDeAlunos = findViewById(R.id.activity_lista_alunos_listview);
listaDeAlunos.setAdapter(new ArrayAdapter<>(
this,
android.R.layout.simple_list_item_1,
dao.todos()));
}
}
FormularioAlunoActivity.java
package br.com.alura.agenda.ui.activity;
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 br.com.alura.agenda.DAO.AlunoDAO; import br.com.alura.agenda.R; import br.com.alura.agenda.model.Aluno;
public class FormularioAlunoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario_aluno);
/// CRIA ALUNO DAO ///
final AlunoDAO dao = new AlunoDAO();
///////////// CAMPOS DE EDIÇÃO /////////////////////
// quando as variaveis sao locais é necessario ser final //
final EditText campoNome = findViewById(R.id.activity_formulario_aluno_nome);
final EditText campoTelefone = findViewById(R.id.activity_formulario_aluno_telefone);
final EditText campoEmail = findViewById(R.id.activity_formulario_aluno_email);
/////////////////// DECLARANDO A FUNÇÃO DO BOTAO ////////////////////////
Button botaoSalvar = findViewById(R.id.activity_formulario_aluno_botao_salvar);
botaoSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String nome = campoNome.getText().toString();
String telefone = campoTelefone.getText().toString();
String email = campoEmail.getText().toString();
//Indicação que vamos criar uma classe///
Aluno alunoCriado = new Aluno(nome, telefone, email);
dao.salva(alunoCriado);
finish();
}
});
}
}
Aluno.java
package br.com.alura.agenda.model;
import android.support.annotation.NonNull;
public class Aluno { private final String nome; private final String telefone; private final String email;
public Aluno(String nome, String telefone, String email) {
// bind... crtl+alt+enter cria os campos
this.nome = nome;
this.telefone = telefone;
this.email = email;
}
@NonNull
public String toSting() {
return nome;
} }
AlunoDAO.java
package br.com.alura.agenda.DAO;
import java.util.ArrayList; import java.util.List;
import br.com.alura.agenda.model.Aluno;
public class AlunoDAO {
private final static List<Aluno> alunos = new ArrayList<>();
public void salva(Aluno alunoCriado) {
alunos.add(alunoCriado);
}
public List<Aluno> todos() {
return new ArrayList<> (alunos);
}
}
`