我插入数据后出现问题400行跟随我的代码。
fun saveWith(objext: SpicieObject?) {
var realm: Realm? = null
try {
realm = Realm.getDefaultInstance()
realm.executeTransaction {
val spicie = realm.createObject(Spicie::class.java, objext?.spicieId)
spicie.spicie = objext?.spicie
spicie.breedType = objext?.breedType
realm.insertOrUpdate(spicie)
}
}
finally {
if (realm != null) { realm.close() }
}
}
但当我查询此数据库中的所有数据时,请遵循我的代码。
fun getList(): RealmResults<Spicie>? {
try {
val realm = Realm.getDefaultInstance()
val objects = realm.where(Spicie::class.java).findAll()
return objects
}
catch (exception: RealmException) {
exception.printStackTrace()
println("Exception in database")
}
return null
}
此函数将返回数组的大小为1.我不确定在座位或查询时功能失败的位置。请指导我,因为我是android和kotlin的新手。
Spicie
课程是什么样的?我看到你正在做insertOrUpdate
so我想你正在做399次更新
尝试记录objext
的spicieId
并确保它在迭代中是唯一的
我解决了我的问题。因为SpicieObject是Object而不是Class。因为设备的内存看到的值是同一个内存。因此,域插入重叠数据。当我尝试将Object更改为Class时。这个功能可以做到!谢谢