Ola pessoal!
Por que não utilizar o @Update nesse caso de editar as informações?
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!
Ola pessoal!
Por que não utilizar o @Update nesse caso de editar as informações?
Olá, Luiz!
No caso de editar informações, você pode utilizar tanto a anotação @Update quanto a anotação @Insert(onConflict = REPLACE), porém, cada uma tem suas particularidades.
Nosso projeto em específico reutiliza o mesmo formulário para criação e atualização da informações, então para não precisar criar a lógica de saber se estamos criando ou editando um item, o onConflict vem bem a calhar já foi desenvolvido para essas situações.
A anotação @Update é utilizada quando você deseja atualizar um registro existente no banco de dados. Ela permite que você defina os parâmetros necessários para a atualização, como o ID do registro a ser atualizado e os novos valores a serem inseridos, poderíamos usa-la se tivemos uma tela exclusiva para edição no app.
Já a anotação @Insert(onConflict = REPLACE) é utilizada quando você deseja inserir um novo registro no banco de dados, mas caso esse registro já exista, ele será substituído pelos novos valores. Essa substituição é feita com base em uma chave primária ou em uma combinação de colunas únicas.
Portanto, a escolha entre as duas anotações vai depender do seu caso de uso específico. Se você deseja apenas atualizar um registro existente, utilize o @Update. Se você quer inserir um novo registro ou atualizar um existente, utilize o @Insert(onConflict = REPLACE).
Espero ter ajudado e bons estudos!
Ficou bem claro, obrigado!