Só por curiosidade galera, quando o processor criou uma instancia do objeto AlunoDao, ele o fez fora do click. Criei um outro exemplo fazendo o oposto, obtive o mesmo resultado, quando devo utilizar o meu exemplo e a do professor?
Código: Professor
public class FormularioActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario);
setTitle("Agenda");
AlunoDao dao = new AlunoDao();
Button botaoSalvar = findViewById(R.id.activity_button);
final EditText campoTelefone = findViewById(R.id.activity_formulario_aluno_telefone);
final EditText campoNome = findViewById(R.id.activity_formulario_aluno_nome);
final EditText campoEmail = findViewById(R.id.activity_formulario_aluno_email);
botaoSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String nome = campoNome.getText().toString();
String email = campoTelefone.getText().toString();
String telefone = campoEmail.getText().toString();
Aluno alunoCriado = new Aluno(nome, telefone, email);
dao.salva(alunoCriado);
startActivity(new Intent(FormularioActivity.this, MainActivity.class));
}
});
}
}
Código: Meu
public class FormularioActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario);
setTitle("Agenda");
Button botaoSalvar = findViewById(R.id.activity_button);
final EditText campoTelefone = findViewById(R.id.activity_formulario_aluno_telefone);
final EditText campoNome = findViewById(R.id.activity_formulario_aluno_nome);
final EditText campoEmail = findViewById(R.id.activity_formulario_aluno_email);
botaoSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String nome = campoNome.getText().toString();
String email = campoTelefone.getText().toString();
String telefone = campoEmail.getText().toString();
Aluno alunoCriado = new Aluno(nome, telefone, email);
**AlunoDao dao = new AlunoDao();**
dao.salva(alunoCriado);
startActivity(new Intent(FormularioActivity.this, MainActivity.class));
}
});
}
}