我正在使用android,必须阅读一系列文档(将其放入数组列表中)。每个文档都有一个子集合。
例如。
CAR
- miles
- year
- color
- blablabla
-- MAINTENANCE (subcollection)
-1
date: 123
km: 123456
-2
date: 113132323
km: 19493
我创建了此文档CAR的类,并且能够使用toObject(myclass.class
)来读取文档的字段。现在它是有趣的部分。我创建了一个名为MAINTENANCE
的第二个类,包括日期和公里。
在CAR类中,我创建了一个名为MAINTENANCE
的变量,它是Maintenance的数组列表。
我能够毫无问题地读取CAR对象,但是在维护阵列中绝对没有任何东西
您会建议我一个正确的方法来循环读取所有数据吗?读完汽车后,我必须添加一个完整的侦听器并进行第二次阅读吗?
大家好..我进行编辑是为了使我更容易理解,因为我认为问题仍然存在...我改变了方法并进行了深入研究:这是我的数据库: 现在...如果我只是尝试阅读子集合文档:
Task<QuerySnapshot> TEST = FirebaseFirestore.getInstance().collection("CHARGEPOINT").document("12").collection("CONNECTORS").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
QuerySnapshot data = task.getResult();
for(DocumentSnapshot documentSnapshot:task.getResult()){
Log.d("DOCUMENTDATA", documentSnapshot.getData().toString());
}
Log.d("DATA", data.toString());
}
});
我没有结果...。Querysnapshot始终为空。我犯了一个错误,但我真的不明白怎么了...
我的最终目标将是创建一个带有“ LoadStructure”方法的帮助程序类,该方法可加载集合和子集合的数据(ArrayList),并在完成后返回ArrayList和所有数据。连接器可能是多个,这就是我选择Arraylist的原因我已经可以通过创建的自定义类读取“ 12”,但是似乎无法访问子集合。