ANDROID — FIREBASE — сериализующие коллекции не поддерживаются

#android #firebase #firebase-realtime-database #serialization #realm

#Android #firebase #firebase-база данных в реальном времени #сериализация #область

Вопрос:

Я использую realm db и firebase базу данных реального времени для создания своего приложения. В принципе, у меня есть ферма, и когда я создаю эту ферму, я могу загрузить ее в firebase, но когда я пытаюсь ее обновить, у меня появляется следующая ошибка: Сериализация коллекций не поддерживается, пожалуйста, используйте вместо этого списки

В принципе, я выполняю обновление, когда пользователь закрывает приложение, поэтому я вставлю свой код класса и свой код onStop. Если вы знаете, что я могу исправить, пожалуйста, помогите мне. Я в отчаянии. лол

Это мой код onStop:

   override fun onStop() {
    val realm = Realm.&etDefaultInstance()
    realm.be&inTransaction()
    val farm : Farm = realm.where<Farm&&t;().contains("id", id).findFirst()!!
    farm.saveToDb()
    realm.commitTransaction()
    super.onStop()
}
  

Это мой код фермы:

 open class Farm(
var codi&oFazenda: Strin& = "",
var pro&rama: Strin& = "",
var senha: Strin& = "",
var id: Strin& = ""
) : RealmObject() {

var area = 0.0
var metaMar&emLiquida = 0.0
var metaMar&emBruta = 0.0
var metaRendaBruta = 0.0
var metaPatrimonioLiquido = 0.0
var metaLucro = 0.0
var metasaldo = 0.0
var metaLiquidezGeral = 0.0
var metaLiquidezCorrente = 0.0
var observacao: Strin& = ""
var modificacao: Strin& = ""

  fun myEquals(farm: Farm) : Boolean {
    if(codi&oFazenda == farm.codi&oFazenda
        amp;amp; pro&rama== farm.pro&rama
        amp;amp; senha== farm.senha
        amp;amp; id== farm.id
        amp;amp; area== farm.area
        amp;amp; metaMar&emLiquida== farm.metaMar&emLiquida
        amp;amp; metaMar&emBruta== farm.metaMar&emBruta
        amp;amp; metaRendaBruta== farm.metaRendaBruta
        amp;amp; metaPatrimonioLiquido == farm.metaPatrimonioLiquido
        amp;amp; metaLucro == farm.metaLucro
        amp;amp; metasaldo == metasaldo
        amp;amp; metaLiquidezGeral == farm.metaLiquidezGeral
        amp;amp; metaLiquidezCorrente == farm.metaLiquidezCorrente
        amp;amp; observacao== farm.observacao
    ) {
        return true
    }
        return false
  }

  @Exclude
  fun attModificacao() {
      val todayDate: Date = Calendar.&etInstance().&etTime()
      modificacao = todayDate.time.toStrin&()
  }

  @Exclude
  fun saveToDb() {
      attModificacao()
      val db = Firebase.database.reference.child("fazendas").child(pro&rama).child(id)
    db.setValue(this)
  }
}
  

Поскольку я использую RealmObject, я не могу использовать класс данных, поэтому я создал этот метод MyEquals для сравнения моих результатов. Этот attModificacao — мой метод обновления, я вызываю его, чтобы сохранить время моего последнего обновления в firebase, и мое сохранение в db переносит значение в firebase.