从firebase那里得到孩子?

时间:2017-08-06 21:50:37

标签: java android firebase firebase-realtime-database

我有以下结构

root
    -sections
        -section1
            -student1
                -GPA
                -lastname
            -student2
                -GPA
                -lastname
        -section2
            -student1
                -GPA
                -lastname

我需要得到用户所需学生的 GPA

我这样做:

String student = student.getText().toString(); //Student1/Student2 entered
String section = section.getText().toString();
    //This is Section1, Student1, say (obtained from EditText)...

然后我正在做

myref = FirebaseDatabase.getInstance().getReference().child("sections");
myref1 = myref.child(section).child(student).child("GPA");
myref1.addValueEventListener(new ValueEventListener() {
  public void onDataChange(DataSnapshot dataSnapshot) {
    String gpa = dataSnapshot.getValue().toString();
  }
  public void onCancelled(DatabaseError databaseError) {}
});

我的结果是0.0。

我哪里错了?

1 个答案:

答案 0 :(得分:0)

通常,用户需要在可以读取或写入数据库之前进行身份验证。您是否在控制台中禁用了规则或某些用户是否已登录?

您可以在此图片中看到规则标签:https://www.novoda.com/blog/content/images/2016/06/Screenshot_20160621_174302.png

修改

代码似乎很好,也许键“部分”和“学生”有问题。您可以使用硬编码字符串对其进行测试。