我正在使用 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.<init>(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;
}
我找到了答案(在你的帮助下)。
我想要保存在 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)