【发布时间】:2016-11-22 13:38:49
【问题描述】:
例如,我如何从“compresor_1”中检索所有孩子?
Firebase 数据库:
"CompresoresEstandar" : {
"Compresor_1" : {
"Marca" : "SANDEN",
"Modelo" : "505/5H09",
"Canales" : "PV5",
"Dimametro-MM" : "120",
"Voltios" : "12",
"Conexion" : "V-O",
},
"Compresor_2" : {
"Marca" : "SANDEN",
"Modelo" : "505/5H09",
"Canales" : "PV5",
"Dimametro-MM" : "120",
"Voltios" : "12",
"Conexion" : "V-O",
},
从网上尝试了这个例子,但它显示了这个错误:
com.google.firebase.database.DatabaseException: Class java.util.Map has generic type parameters, please use GenericTypeIndicator instead
更新 1
已经试过了:
GenericTypeIndicator<Map<String, String>> genericTypeIndicator = new GenericTypeIndicator<Map<String, String>>() {};
Map<String, String> map = dataSnapshot.getValue(genericTypeIndicator );
还有这个:
Map<String,String> map = dataSnapshot.getValue(Map.class);
同样的错误。
更新 3
Datasnapshot 包含此信息,我如何“划分每个对象”? .get("modelo") 使用该键检索第一个元素。
DataSnapshot { key = CompresoresEstandar, value = {Compresor_2={Letras Culata=, Voltios=12, Marca=SANDEN, Conexion=V-R, Canales=2A, RefACR=130002, Modelo=505/5H09, Dimametro-MM=125}, Compresor_3={Letras Culata=, Voltios=12, Marca=SANDEN, Conexion=V-C, Canales=2A, RefACR=130003, Modelo=505/5H09, Dimametro-MM=125}, Compresor_1={Letras Culata=, Voltios=12, Marca=SANDEN, Conexion=V-O, Canales=PV5, RefACR=130001, Modelo=505/5H09, Dimametro-MM=120}} }
工作代码
@Override
public void onStart(){
super.onStart();
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference compresoresRef = database.getReference("CompresoresEstandar");
compresoresRef.orderByChild("Ref").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
dataSnapshot.getChildren();
CompresorModel coe = dataSnapshot.getValue(CompresorModel.class);
String modelo = coe.getModelo();
String marca = coe.getMarca();
String canales = coe.getCanales();
textData1.setText(modelo);
textData2.setText(marca);
textData3.setText(canales);
}
【问题讨论】:
-
之前尝试过这些解决方案,但没有解决。
-
显示您对
GenericTypeIndicator的尝试。 -
欢迎任何例子,谢谢。
标签: android firebase firebase-realtime-database