Can';t使用Firebase在Android Studio中实例化抽象类java.util.Calendar
我的应用程序尝试列出POJO对象,但在调试时,出现以下错误: 无法实例化抽象类java.util.Calendar Firebase是否可能无法正确处理带有日历类型变量的积垢 pojo类包含:Can';t使用Firebase在Android Studio中实例化抽象类java.util.Calendar,java,android,firebase,firebase-realtime-database,calendar,Java,Android,Firebase,Firebase Realtime Database,Calendar,我的应用程序尝试列出POJO对象,但在调试时,出现以下错误: 无法实例化抽象类java.util.Calendar Firebase是否可能无法正确处理带有日历类型变量的积垢 pojo类包含: private String idParcela; private String nombreParcela; private int hectareas; private Calendar ultimoTratamienetoQuimico; private Calendar proximoTratam
private String idParcela;
private String nombreParcela;
private int hectareas;
private Calendar ultimoTratamienetoQuimico;
private Calendar proximoTratamientoQuimico;
private String fruta;
private String variedad;
private String nombreTratamiento;
private int diasTratarQuimicamente;
以及能手、二传手、建设者等
private void listarDatos() {
databaseReference.child("parcelas").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
listaParcelas.clear();
for(DataSnapshot objSnaptshot : dataSnapshot.getChildren()){
Parcela p = objSnaptshot.getValue(Parcela.class);
listaParcelas.add(p);
arrayAdapterParcela = new ArrayAdapter<Parcela>(listaParcelas.this, android.R.layout.simple_list_item_1,listaParcelas);
listvListaParcela.setAdapter(arrayAdapterParcela);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
private void listarDatos(){
databaseReference.child(“parcelas”).addValueEventListener(新的ValueEventListener()){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
listaParcelas.clear();
对于(DataSnapshot objSnaptshot:DataSnapshot.getChildren()){
Parcela p=objSnaptshot.getValue(Parcela.class);
添加(p);
arrayAdapterParcela=新的ArrayAdapter(listaParcelas.this,android.R.layout.simple\u list\u item\u 1,listaParcelas);
ListVlistParcela.setAdapter(arrayAdapterParcela);
}
}
@凌驾
已取消公共void(@NonNull DatabaseError){
}
});
}
Firebase是否可能无法正确处理带有日历类型变量的积垢
“java.util”包中的类不是一个。因此Firebase无法序列化这样的对象。但是,如果需要处理日期,可以使用对象或Firestore时间戳对象:
当存储在Cloud Firestore中时,精确到微秒;任何额外的精度都向下舍入
请参见下面您如何实现这一目标:
我已经修改了POJOto日期的属性,我已经添加了这个,它可以工作了!Date LastTreatmentDate=LastTreatmentDateCalendar.getTime();Date NextTreatmentDate=NextTreatmentDateCalendar.getTime();很高兴听到你成功了:)