热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FirebaseAndroid-在.setValue()时崩溃,并显示“找到名称为setGregorianChange的冲突设置器”

如何解决《FirebaseAndroid-在.setValue()时崩溃,并显示“找到名称为setGregorianChange的冲突设置器”》经验,为你挑选了1个好方法。

我正在使用FirebaseDatabase,但无法解决非常烦人的崩溃。

每当我尝试执行时: FirebaseDatabase.getInstance().getReference().child("...").push().setValue(...)

应用程序崩溃,我收到此消息:

com.google.firebase.database.DatabaseException: Found a conflicting setters with name: setGregorianChange (conflicts with setGregorianChange defined on java.util.GregorianCalendar)
at com.google.android.gms.internal.zzbqi$zza.(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzi(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaw(Unknown Source)
at com.google.firebase.database.DatabaseReference.zza(Unknown Source)
at com.google.firebase.database.DatabaseReference.setValue(Unknown Source)

我尝试在FirebaseDatabase中保存包含日历的对象后,开始发生此崩溃。

问题是,现在,即使我从该对象中删除了日历,应用程序仍会崩溃,并出现相同的错误。看起来有些东西已损坏,我无法使其再次正常运行。

我已经从手机上卸载了该应用程序,请在Firebase控制台中清除数据库,但这不能解决问题。

你们其中之一可以帮助我吗?

-----编辑-----

我做了一些新的测试,实际上只有当我传入的类.setValue(...)包含此方法时,应用程序才会崩溃:

public Calendar getStartTimeCalendar() {
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(startTime);
    return calendar;
}

Valentin.. 5

我找到了答案(在您的Deepesh帮助下)。

我要保存在FirebaseDatabase中的类包含以下变量:

public long startTime;
public long endTime;

当我使用此方法时,应用程序崩溃(可能是因为Firebase认为它们是吸气剂):

public Calendar getStartTimeCalendar() {
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(startTime);
    return calendar;
}

public Calendar getEndTimeCalendar() {
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(endTime);
    return calendar;
}

解决方案是在这些方法之前添加前缀 @Exclude



1> Valentin..:

我找到了答案(在您的Deepesh帮助下)。

我要保存在FirebaseDatabase中的类包含以下变量:

public long startTime;
public long endTime;

当我使用此方法时,应用程序崩溃(可能是因为Firebase认为它们是吸气剂):

public Calendar getStartTimeCalendar() {
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(startTime);
    return calendar;
}

public Calendar getEndTimeCalendar() {
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(endTime);
    return calendar;
}

解决方案是在这些方法之前添加前缀 @Exclude


推荐阅读
author-avatar
mobiledu2502884697
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有