【发布时间】:2021-06-28 12:50:00
【问题描述】:
我的 Firebase RealTime JSON 数据库结构如下所示
首先,我想从公司简介中迭代不同的公司名称,例如 [演示公司、演示公司二、演示公司三] 在我得到这个之后,我现在想获取这个列表的子项目,这次公司名称是子引用对象,第二个列表看起来像 [Circuit 1, Circuit 2, ...]。现在我想再深入一点,这次电路名称是子引用对象,现在我想要包名称列表示例(0603,...),就像这样。
简而言之,首先我想要父名称,然后是子父名称等等,最后我想要键值对和所有父名称。
我试过的代码示例看起来像
TextView tvTestDelete = findViewById(R.id.tv_test_delete);
mFirebaseDatabase = FirebaseDatabase.getInstance();
mDatabaseReference = mFirebaseDatabase.getReference().child("Company Profile");
mChildEventListener = new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {
Map<String, Object> testDeleteItem = (Map<String, Object>) snapshot.getValue();
String temp = "";
for(DataSnapshot i : snapshot.getChildren()) {
temp += i.getKey() + ", ";
}
tvTestDelete.setText(temp);
}
@Override
public void onChildChanged(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {}
@Override
public void onChildRemoved(@NonNull DataSnapshot snapshot) {}
@Override
public void onChildMoved(@NonNull DataSnapshot snapshot, @Nullable String previousChildName) {}
@Override
public void onCancelled(@NonNull DatabaseError error) {}
};
mDatabaseReference.addChildEventListener(mChildEventListener);
我是 android 和 firebase 连接及其工作原理的初学者。我真的很抱歉我的英文解释不好,如果你不明白我的问题,请问我哪一部分,我会尽力解释。请帮帮我。
我真的会提前谢谢你。
【问题讨论】:
-
代码的哪一部分没有按照您期望的方式运行?所以:当您在调试器中单步执行
onChildAdded时,它会做什么?你期望它做什么?我也推荐阅读:stackoverflow.com/questions/66832359/… -
for(DataSnapshot i : snapshot.getChildren()) {temp += i.getKey() + ", ";} 在此代码行中,我希望所有子名称都像 [Demo Company, Demo Company 2, Demo Company 3],会出现但我只得到一个名字 [Demo Company 2]。
标签: android json firebase-realtime-database