Val*_*tin 2 android firebase firebase-realtime-database
我正在使用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)
Run Code Online (Sandbox Code Playgroud)
我尝试在FirebaseDatabase中保存包含日历的对象后,开始发生此崩溃。
问题是,现在,即使我从该对象中删除了日历,应用程序仍会崩溃,并出现相同的错误。看起来有些东西已损坏,我无法使其再次正常运行。
我已经从手机上卸载了该应用程序,请在Firebase控制台中清除数据库,但这不能解决问题。
你们其中之一可以帮助我吗?
-----编辑-----
我做了一些新的测试,实际上只有当我传入的类.setValue(...)包含此方法时,应用程序才会崩溃:
public Calendar getStartTimeCalendar() {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(startTime);
return calendar;
}
Run Code Online (Sandbox Code Playgroud)
我找到了答案(在您的Deepesh帮助下)。
我要保存在FirebaseDatabase中的类包含以下变量:
public long startTime;
public long endTime;
Run Code Online (Sandbox Code Playgroud)
当我使用此方法时,应用程序崩溃(可能是因为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;
}
Run Code Online (Sandbox Code Playgroud)
解决方案是在这些方法之前添加前缀 @Exclude
| 归档时间: |
|
| 查看次数: |
1931 次 |
| 最近记录: |