Foi dito na aula para que no momento da inserção do aluno no banco de dados, fosse utilizado do AsyncTask, e que dentro dela uma Interface que indicaria o seu momento quando finalizada, utilizando o 'finish()'.
Porém, venho utilizando onActivityResult ao qual recebe as informações da minha classe FormulárioActivity, e que para completar essa ação utilizo do finish() mesmo antes de adicionar em meu banco de dados.
Fazendo também desta forma poderiam ocasionar em possíveis problemas, pois estou fazendo aquele processo de 'Primeiro Finaliza e Depois Adiciona' e não o 'Primeiro Adiciona e depois Finaliza'.
FormularioActivity
Aluno aluno = criaNovoAluno();
Intent intent = new Intent();
intent.putExtra(ALUNO, aluno);
setResult(ALUNO_RESULT, intent);
finish();
ListaAlunoActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ALUNO_REQUEST && resultCode == ALUNO_RESULT && data.hasExtra(ALUNO)) {
Aluno aluno = (Aluno) data.getSerializableExtra(ALUNO);
//adiciona ao banco de dados.
new AdicionaAlunoTask(database, alunoDao, aluno).execute();
}
}