【发布时间】:2018-04-12 00:40:01
【问题描述】:
我在数据库中有这个:
当老师添加一个班级和一个节时,使用节点Class 下的push() 生成一个随机ID。
还有一个 Student 和一个 Teacher 具有 id 和属性的节点。
学生加入一个班级,因此也在ClassStudent中创建了一个具有上述属性的随机id。
在节点Student 中,id 是当前的userid,在它下面有属性。现在我的问题是,从Student 节点检索名称并将其添加到ClassStudent 节点是否是一种好方法?
我正在使用此代码:
DatabaseReference gets=FirebaseDatabase.getInstance().getReference().child("Student");
final DatabaseReference getid=FirebaseDatabase.getInstance().getReference().child("Class");
ValueEventListener valueEventListener1= new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot child: dataSnapshot.getChildren()) {
String classnames = child.child("Classname").getValue().toString();
if (returnString.equals(classnames)) {
String getids = child.getKey();
newtable.child("ClassId").setValue(getids);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
getid.addValueEventListener(valueEventListener1);
我有一个名字的原因是因为稍后我想单击一个类并获取该类中的名称列表。因此,如果我在节点 ClassStudent 中添加 Student id(已经完成),我如何能够在单击检索 Students 的名称而不在 ClassStudent 中添加学生名?
编辑:
如果我查询 ClassStudent ,我想在一个活动中检索班级名称,然后在另一个活动中,我想检索班级的学生姓名。我不希望 Studentname 出现在 ClassStudent 中,因为从逻辑上讲我认为它似乎不正确。
示例: 1. 学生注册自己的班级(创建一个随机的id,属性为classid和studentid)。
然后我想检索
onResume()中的类名,所以登录后类就在活动中(就像ClassStudent和Class`之间的连接)在完全不同的活动中,我想在列表中检索
studentnames,同时查询ClassStudent(例如ClassStudent和Student之间的连接)
#3.查询后的输出:
Peter Haddad
John
Phillip
//names
【问题讨论】:
-
那么你想检索
ClassStudent节点下的所有Studentname?我说的对吗? -
是的,它就像一个加入 sql,我必须在另一个
DatabaseReference中放入一个DatabaseReference
标签: android firebase firebase-realtime-database