无法使用 Firebase 在 Android Studio 中实例化抽象 class java.util.Calendar
Can't instantiate abstract class java.util.Calendar in Android Studio with Firebase
我的应用程序试图列出一个 POJO 对象,但在调试时出现错误:
Can't instantiate abstract class java.util.Calendar
Firebase 是否可能无法正确处理带有 Calendar 类型变量的 CRUD?
pojo class 包含:
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;
还有 getters、setters、builders 等
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) {
}
});
}
Is it possible that Firebase does not work correctly with CRUDs with Calendar type variables?
Calendar class from "java.util" package, isn't a supported data type. So there is no way in which Firebase can serialize such an object. However, if you need to work with dates, you can use Date 对象或 Firestore 时间戳对象:
When stored in Cloud Firestore, precise only to microseconds; any additional precision is rounded down.
请参阅下文如何实现:
我的应用程序试图列出一个 POJO 对象,但在调试时出现错误:
Can't instantiate abstract class java.util.Calendar
Firebase 是否可能无法正确处理带有 Calendar 类型变量的 CRUD?
pojo class 包含:
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;
还有 getters、setters、builders 等
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) {
}
});
}
Is it possible that Firebase does not work correctly with CRUDs with Calendar type variables?
Calendar class from "java.util" package, isn't a supported data type. So there is no way in which Firebase can serialize such an object. However, if you need to work with dates, you can use Date 对象或 Firestore 时间戳对象:
When stored in Cloud Firestore, precise only to microseconds; any additional precision is rounded down.
请参阅下文如何实现: