Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Room @Update

Galera, o meu update não está funcionando.

Não é apresentado nenhum erro, o programa roda normalmente, no adapter o objeto é modificado como se espera. O único problema está no Update que não atualiza o objeto no banco de dados.

Aguém tem alguma dica do que possa estar acontecendo?

No DaoRoom o ódigo está assim:

    @Update
    fun editar(alimento: Alimento)

E minha classe é essa:

@Entity
class Alimento(

    @PrimaryKey(autoGenerate = true)
    var id: Long = 0,
    val nome: String,
    val kcal: BigDecimal = BigDecimal.ZERO,
    val gordura: BigDecimal = BigDecimal.ZERO,
    val proteina: BigDecimal = BigDecimal.ZERO,
    val carboidrato: BigDecimal = BigDecimal.ZERO,
    val fibra: BigDecimal = BigDecimal.ZERO
) {
    override fun toString(): String {
        return nome
    }
}

Outra coisa, se eu uso a anotação abaixo, ele matem o objeto atual e adiciona um outro objeto com as edições feitas. Ou seja, em vez de tomar lugar do anterior ele só está inserindo um novo atributo a base de dados

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun editar(alimento: Alimento)
1 resposta
solução!

Já revolvi.

O objeto estava sendo salvo sem o Id, por isso estava ocorrendo esses bugs