gpt4 book ai didi

Android Realm 插入冲突忽略

转载 作者:行者123 更新时间:2023-11-30 00:49:16 24 4
gpt4 key购买 nike

有谁知道解决问题的方法吗?我需要用 Realm 实现数据存储。

我从网络接收 JSON 对象将他转换为 Realm 对象 Card 并保存。我用额外的字段 favorite 扩展 Card 对象,并从应用程序手动更改它。

每次当网络操作执行insertOrUpdate时删除值,并且insert抛出异常'RealmPrimaryKeyConstraintException'因为我有@PrimaryKey定义。

Realm 功能中是否存在如何使用带有忽略插入的特定更新的插入?

最佳答案

Card card = realm.where(Card.class).equalTo(CardFields.ID, cardId).findFirst(); // https://github.com/cmelchior/realmfieldnameshelper
if(card == null) {
card = realm.createObject(Card.class, cardId);
}
card.setFavorite(true);

或者

Card card = realm.where(Card.class).equalTo(CardFields.ID, cardId).findFirst(); // https://github.com/cmelchior/realmfieldnameshelper
if(card == null) {
card = new Card();
card.setId(cardId);
}
card.setFavorite(true);
realm.insertOrUpdate(card);

基本上,如果您不想覆盖该对象,那么您应该查询并操作它,否则就创建它。

关于Android Realm 插入冲突忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41324878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com