3
respostas

@Delete

No projeto abordado em aula o instrutor repassa como argumento do método remover o objeto aluno para que este seja deletado do bando de dados.

No meu projeto, porém, estou usando a posição do objeto dentro da coleção para realizar as operações de CRUD.

Existe como repassar ao RoomDao a posição dele no banco de dados (e não o objeto em si ou seu id), para que eu consiga fazer as operações de CRUD?

Obrigado

3 respostas

Oi Ley, tudo bem ?

Cara é possível, embora a galera opte por passar a referencia mesmo, dado que o room já lida pra tu pra isso.

Outro formato é você fazer um @Query e escrever a query para deletar, sendo os parametros passados conforme sua necessidade.

olá, matheus

É que eu tenho um recyclerview onde implementei o comportamento de swap, ou seja, eu consigo arrastar o último item da lista para a primeira posição caso seja mais conveniente pro usuário.

Por isso o lance das posições é importante pra mim. Sabe me dizer como eu consigo fazer essa troca de posições no banco de dados? Ou teria que ficar reescrevendo todos os elementos da lista no banco de dados a cada troca realizada?

Acho que tu pode deixar uma coluna no banco que seja sobre a posição, ai conforme tu faz esse swap, você só altera o campo posição, e os ids permanecem intactos, acho que isso seria a melhor estrategia pra tu, ai o ideial seria tu usar algum mecanismo de ordenação, aqueles que vimos na faculdade sabe ?