Em um projeto com Room/Sqlite utilizamos o onResume ou onActivityResult?
A pergunta é porque com o onActivityResult o id se for verificado quando acabo de cria-lo aparece como 0. Impactando na edição pós criação, movimentação etc...
Em um projeto com Room/Sqlite utilizamos o onResume ou onActivityResult?
A pergunta é porque com o onActivityResult o id se for verificado quando acabo de cria-lo aparece como 0. Impactando na edição pós criação, movimentação etc...
Usar onResume
ou onActivityResult
não tem relação com Room ou SQLite. O onResume
é chamado logo antes da sua Activity ir para o primeiro plano, então é útil para lógicas que devem ser executadas sempre que a Activity for "exibida" pro usuário.
Já o onActivityResult
é chamado logo que a activity iniciada com startActivityForResult
for destruída. Considere o seguinte esquema:
Activity 1 na tela, e dispara Activity 2 usando startActivityForResult
.
Quando a Activity 2 for destruída, voltaremos para a Activity 1.
Nesse momento, será chamado o onActivityResult
na Activity 1.
O onActivityResult
é interessante para uma activity "saber" o que aconteceu na activity iniciada por ela. No caso, poderíamos saber na activity 1 o que houve na activity 2 por meio de um Result
.
Legal Felipe compreendi. Sobre a explicação de quando o onResume e o onActivity estão iniciando fica mais facil de entender o que fazer, por questão de lógica então é usado o onResume valeu! Bom na tratativa que estou falando é que na hora que volto para a "Activity 1" com o Result estou criando os dados (conforme o curso) e atualizando o adapter. Os dados criados estavam com o id = 0, assim se tentasse move-los (trocar a posição, com o helperCallBack) com esses dados não eram realizado as ações. Ai surgiu a duvida se deviamos voltar para com o result e gravar la, ou se no caso de "lógca" o onResume é mais apropriado. Pelo visto é onResume. Porém após editar eu fiz uma nova consulta no banco e mandei a lista atualizada para o adapter para que resolvesse esse caso ai. Obrigado!
if(Activity.RESULT_OK==resultCode) {
updatedCount = dao.salvar(lembrete);
if(updatedCount>0) {
List<Lembrete> lembretesAtualizados = dao.todos;
adapter.adicionaAdapter(lembretesAtualizados);
}
} else {
Toast.makeText(this, ConstantDataManager.MENSAGEM_PROBLEMAS_CARREGAR_ACTIVITY, Toast.LENGTH_SHORT).show();
}