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...
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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();
}