ANDROID-FIREBASE-不支持序列化集合

问题描述

我正在使用领域数据库和firebase实时数据库来构建我的应用程序。基本上,我有一个服务器场,当我创建该服务器场时,可以将其上传到firebase,但是当我尝试更新它时,出现以下错误不支持序列化集合,请改用列表

基本上,我在用户关闭应用程序时进行更新,因此我将插入我的类代码和onStop代码。如果您知道我能做些什么来解决,请帮助我。我很绝望。大声笑

这是我的onStop代码

  override fun onStop() {
    val realm = Realm.getDefaultInstance()
    realm.beginTransaction()
    val farm : Farm = realm.where<Farm>().contains("id",id).findFirst()!!
    farm.savetoDb()
    realm.commitTransaction()
    super.onStop()
}

这是我的农场代码

open class Farm(
var codigoFazenda: String = "",var programa: String = "",var senha: String = "",var id: String = ""
) : RealmObject() {

var area = 0.0
var MetaMargemLiquida = 0.0
var MetaMargemBruta = 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: String = ""
var modificacao: String = ""

  fun myEquals(farm: Farm) : Boolean {
    if(codigoFazenda == farm.codigoFazenda
        && programa== farm.programa
        && senha== farm.senha
        && id== farm.id
        && area== farm.area
        && MetaMargemLiquida== farm.MetaMargemLiquida
        && MetaMargemBruta== farm.MetaMargemBruta
        && MetaRendaBruta== farm.MetaRendaBruta
        && MetaPatrimonioLiquido == farm.MetaPatrimonioLiquido
        && MetaLucro == farm.MetaLucro
        && Metasaldo == Metasaldo
        && MetaLiquidezGeral == farm.MetaLiquidezGeral
        && MetaLiquidezCorrente == farm.MetaLiquidezCorrente
        && observacao== farm.observacao
    ) {
        return true
    }
        return false
  }

  @Exclude
  fun attModificacao() {
      val todayDate: Date = Calendar.getInstance().getTime()
      modificacao = todayDate.time.toString()
  }

  @Exclude
  fun savetoDb() {
      attModificacao()
      val db = Firebase.database.reference.child("fazendas").child(programa).child(id)
    db.setValue(this)
  }
}

由于我使用的是realmObject,因此无法使用数据类,因此我创建了此MyEquals方法来比较结果。这个attModificacao是我的updateMethod,我称之为将我的上次更新时间保存到firebase中,并将我的保存到db中将值推送到firebase中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)