Вставить данные 400 строк, но список запросов имеет 1 элемент Realm Kotlin - PullRequest
0 голосов
/ 11 сентября 2018

У меня проблема при вставке данных, 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.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Я решил свою проблему.Потому что SpicieObject это объект, а не класс.Из памяти устройства видно, что значение равно памяти.Поэтому области вставки данных перекрываются.Когда я пытаюсь изменить объект на класс.Эта функция может делать работу!Спасибо

0 голосов
/ 11 сентября 2018

Как выглядит класс Spicie? Я вижу, вы делаете insertOrUpdate, поэтому я представляю, что вы делаете обновление 399 раз

Попробуйте зарегистрировать objext spicieId и убедитесь, что он уникален на протяжении всей итерации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...